On Mon, 2023-01-09 at 05:18 +0000, Matthew Wilcox (Oracle) wrote: > As with fsync, use the newer file_check_and_advance_wb_err() instead > of filemap_check_errors(). > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > --- > fs/fuse/file.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/fuse/file.c b/fs/fuse/file.c > index 875314ee6f59..7174646ddf09 100644 > --- a/fs/fuse/file.c > +++ b/fs/fuse/file.c > @@ -500,11 +500,10 @@ static int fuse_flush(struct file *file, fl_owner_t id) > fuse_sync_writes(inode); > inode_unlock(inode); > > - err = filemap_check_errors(file->f_mapping); > + err = file_check_and_advance_wb_err(file); > if (err) > return err; > > I think it'd be best to not advance the f_wb_err here. ->flush is called on filp_close which is mainly close() syscalls, but there are some other callers too, and an error reported by ->flush can be discarded. > > - err = 0; > if (fm->fc->no_flush) > goto inval_attr_out; > -- Jeff Layton <jlayton@xxxxxxxxxx>