Re: [PATCH v7 10/15] fs: Add async write file modification handling.

Jan Kara
2022-06-03T10:48:33Z

On Thu 02-06-22 14:00:38, Stefan Roesch wrote:
>
>
> On 6/2/22 2:06 AM, Jan Kara wrote:
> > On Wed 01-06-22 14:01:36, Stefan Roesch wrote:
> >> This adds a file_modified_async() function to return -EAGAIN if the
> >> request either requires to remove privileges or needs to update the file
> >> modification time. This is required for async buffered writes, so the
> >> request gets handled in the io worker of io-uring.
> >>
> >> Signed-off-by: Stefan Roesch <shr@fb.com>
> >> Reviewed-by: Christoph Hellwig <hch@lst.de>
> >
> > I've found one small bug here:
> >
> >> diff --git a/fs/inode.c b/fs/inode.c
> >> index c44573a32c6a..4503bed063e7 100644
> >> --- a/fs/inode.c
> >> +++ b/fs/inode.c
> > ...
> >> -int file_modified(struct file *file)
> >> +static int file_modified_flags(struct file *file, int flags)
> >> {
> >> int ret;
> >> struct inode *inode = file_inode(file);
> >
> > We need to use 'flags' for __file_remove_privs_flags() call in this patch.
> >
>
> I assume that you meant that the function should not be called _file_remove_privs(),
> but instead file_remove_privs_flags(). Is that correct?

No, I meant that patch 8 adds call __file_remove_privs(..., 0) to
file_modified() and this patch then forgets to update that call to
__file_remove_privs(..., flags) so that information propagates properly.

Honza

--
Jan Kara <jack@suse.com>
SUSE Labs, CR