On 01/09, Chao Yu wrote: > On 2019/1/9 7:46, Jaegeuk Kim wrote: > > 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? > > You mean sload flow? so how about?
mkfs.f2fs on non-existing image file? > > if (ret) { > if (errno == ENOENT && c.func == SLOAD) > return 0; > MSG(0, "\tError: stat %s failed!\n", path); > free(st_buf); > return -1; > } > > Thanks, > > > > >> + 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