Reviewed-by: Daeho Jeong <[email protected]>

On Tue, Mar 5, 2024 at 12:50 PM Jaegeuk Kim <[email protected]> wrote:
>
> This fixes some android build failures due to the missing permission when
> checking the loop device. Until we get a better solution, let's ignore
> the error with warnings.
>
> Signed-off-by: Jaegeuk Kim <[email protected]>
> ---
>  lib/libf2fs.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/lib/libf2fs.c b/lib/libf2fs.c
> index d51e485361ee..1cfbf31a9c85 100644
> --- a/lib/libf2fs.c
> +++ b/lib/libf2fs.c
> @@ -854,9 +854,15 @@ int f2fs_dev_is_umounted(char *path)
>
>                         loop_fd = open(mnt->mnt_fsname, O_RDONLY);
>                         if (loop_fd < 0) {
> +                               /* non-root users have no permission */
> +                               if (errno == EPERM || errno == EACCES) {
> +                                       MSG(0, "Info: open %s failed errno:%d 
> - be careful to overwrite a mounted loopback file.\n",
> +                                                       mnt->mnt_fsname, 
> errno);
> +                                       return 0;
> +                               }
>                                 MSG(0, "Info: open %s failed errno:%d\n",
> -                                       mnt->mnt_fsname, errno);
> -                               return -1;
> +                                                       mnt->mnt_fsname, 
> errno);
> +                               return -errno;
>                         }
>
>                         err = ioctl(loop_fd, LOOP_GET_STATUS64, &loopinfo);
> @@ -864,7 +870,7 @@ int f2fs_dev_is_umounted(char *path)
>                         if (err < 0) {
>                                 MSG(0, "\tError: ioctl LOOP_GET_STATUS64 
> failed errno:%d!\n",
>                                         errno);
> -                               return -1;
> +                               return -errno;
>                         }
>
>                         if (st_buf.st_dev == loopinfo.lo_device &&
> --
> 2.44.0.278.ge034bb2e1d-goog
>
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel


_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to