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.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR