Re: [PATCH 12/41] fs: Drop sync_mapping_buffers() from __generic_file_fsync()
Christoph Hellwig <[email protected]> Mon, 23 Mar 2026 22:40:21 -0700
| Newsgroups | gmane.comp.file-systems.ext4,gmane.linux.file-systems,gmane.linux.block,gmane.linux.kernel.mm,gmane.linux.kernel.aio.general |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Mar 20, 2026 at 02:41:07PM +0100, Jan Kara wrote: > No filesystem calling __generic_file_fsync() uses metadata bh tracking. > Drop sync_mapping_buffers() call from __generic_file_fsync() as it's > pointless now. Given how much this changed, maybe rename it to simple_fsync now to provide an obvious breakage for anyone trying to use it? That name is probably also better as it's not all that generic. > > Signed-off-by: Jan Kara <[email protected]> > --- > fs/libfs.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/fs/libfs.c b/fs/libfs.c > index 74134ba2e8d1..548e119668df 100644 > --- a/fs/libfs.c > +++ b/fs/libfs.c > @@ -1555,23 +1555,19 @@ int __generic_file_fsync(struct file *file, loff_t start, loff_t end, > { > struct inode *inode = file->f_mapping->host; > int err; > - int ret; > + int ret = 0; > > err = file_write_and_wait_range(file, start, end); > if (err) > return err; > > inode_lock(inode); > - ret = sync_mapping_buffers(inode->i_mapping); > if (!(inode_state_read_once(inode) & I_DIRTY_ALL)) > goto out; > if (datasync && !(inode_state_read_once(inode) & I_DIRTY_DATASYNC)) > goto out; > > - err = sync_inode_metadata(inode, 1); > - if (ret == 0) > - ret = err; > - > + ret = sync_inode_metadata(inode, 1); > out: > inode_unlock(inode); > /* check and advance again to catch errors after syncing out buffers */ > -- > 2.51.0 > > ---end quoted text---