[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200525073140.GI14199@quack2.suse.cz>
Date: Mon, 25 May 2020 09:31:40 +0200
From: Jan Kara <jack@...e.cz>
To: Martijn Coenen <maco@...roid.com>
Cc: Jan Kara <jack@...e.cz>, Jaegeuk Kim <jaegeuk@...nel.org>,
Al Viro <viro@...iv.linux.org.uk>,
Jens Axboe <axboe@...nel.dk>, miklos@...redi.hu, tj@...nel.org,
linux-fsdevel@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
kernel-team@...roid.com
Subject: Re: Writeback bug causing writeback stalls
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@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists