On 01/09, Chao Yu wrote:
> On 2019/1/9 12:42, Jaegeuk Kim wrote:
> > 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?
> 
> That's not allowed as e2fsprogs does?

I'm not sure it's spec tho, this patch breaks android build which looks like
regression. Do we have any issue to fix with this patch?

> 
> mkfs.ext4 /home/image/img
> mke2fs 1.44.4 (18-Aug-2018)
> The file /home/image/img does not exist and no size was specified.
> 
> > 
> >>
> >> 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

Reply via email to