On 12/10, Chao Yu wrote:
> stat() can fail due to a lot of reasons, let f2fs_dev_is_umounted()
> detect such error and handle it correctly.
> 
> Signed-off-by: Chao Yu <yuch...@huawei.com>
> ---
>  lib/libf2fs.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/libf2fs.c b/lib/libf2fs.c
> index c692bf2da635..6a1040feff32 100644
> --- a/lib/libf2fs.c
> +++ b/lib/libf2fs.c
> @@ -713,7 +713,14 @@ int f2fs_dev_is_umounted(char *path)
>       st_buf = malloc(sizeof(struct stat));
>       ASSERT(st_buf);
>  
> -     if (stat(path, st_buf) == 0 && S_ISBLK(st_buf->st_mode)) {
> +     ret = stat(path, st_buf);

We have to allow creating non-existing image file to build userdata.img. Can we
check its errno?

> +     if (ret) {
> +             MSG(0, "\tError: stat %s failed!\n", path);
> +             free(st_buf);
> +             return -1;
> +     }
> +
> +     if (S_ISBLK(st_buf->st_mode)) {
>               int fd = open(path, O_RDONLY | O_EXCL);
>  
>               if (fd >= 0) {
> -- 
> 2.18.0.rc1


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to