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? 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