Re: Writeback bug causing writeback stalls

From: Jan Kara
Date: Mon May 25 2020 - 03:31:44 EST

On Sat 23-05-20 10:15:20, Martijn Coenen wrote:
> Jaegeuk wondered whether callers of write_inode_now() should hold
> i_rwsem, and whether that would also prevent this problem. Some
> existing callers of write_inode_now() do, eg ntfs and hfs:
> hfs_file_fsync()
> inode_lock(inode);
> /* sync the inode to buffers */
> ret = write_inode_now(inode, 0);
> but there are also some that don't (eg fat, fuse, orangefs).

Well, most importantly filesystems like ext4, xfs, btrfs don't hold i_rwsem
when writing back inode and that's deliberate because of performance. We
don't want to block writes (or event reads in case of XFS) for the inode
during writeback.

Jan Kara <jack@xxxxxxxx>