On 6/3/22 3:12 AM, Jan Kara wrote: > 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@xxxxxx> >>>> Reviewed-by: Christoph Hellwig <hch@xxxxxx> >>> >>> 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. > Thanks for the explanation, I made the change. > Honza >