Messages in this thread | | | From | Daeho Jeong <> | Date | Fri, 30 Sep 2022 09:04:19 -0700 | Subject | Re: [f2fs-dev] [PATCH v2] f2fs: introduce F2FS_IOC_START_ATOMIC_REPLACE |
| |
> >>>> > >>>> Hi Daeho, > >>>> > >>>> isize should be updated after tagging inode as atomic_write one? > >>>> otherwise f2fs_mark_inode_dirty_sync() may update isize to inode page, > >>>> latter checkpoint may persist that change? IIUC... > >>>> > >>>> Thanks, > >>> > >>> Hi Chao, > >>> > >>> The first patch of this patchset prevents the inode page from being > >>> updated as dirty for atomic file cases. > >>> Is there any other chances for the inode page to be marked as dirty? > >> > >> I mean: > >> > >> Thread A Thread B > >> - f2fs_ioc_start_atomic_write > >> - f2fs_i_size_write(inode, 0) > >> - f2fs_mark_inode_dirty_sync > >> - checkpoint > >> - persist inode with incorrect zero isize > >> > >> - set_inode_flag(inode, FI_ATOMIC_FILE) > >> > >> Am I missing something? > >> > > > > So, f2fs_mark_inode_dirty_sync() will not work for atomic files > > anymore, which means it doesn't make the inode dirty. > > Plz, refer to the first patch of this patchset. Or I might be confused > > with something. :( > > I mean FI_ATOMIC_FILE was set after f2fs_i_size_write(), so inode will be set > as dirty. > > Thanks, >
Oh, I was confused that f2fs_update_inode() is called in f2fs_mark_inode_dirty_sync(). That is called in f2fs_write_inode(). Let me fix this.
Thanks,
| |