On Mon, Sep 21, 2020 at 03:09:29PM +0000, Johannes Thumshirn wrote: > On 21/09/2020 16:44, Goldwyn Rodrigues wrote: > > From: Christoph Hellwig <hch@xxxxxx> > > > > This is to avoid the deadlock caused in btrfs because of O_DIRECT | > > O_DSYNC. > > > > Filesystems such as btrfs require i_rwsem while performing sync on a > > file. iomap_dio_rw() is called under i_rw_sem. This leads to a > > deadlock because of: > > > > iomap_dio_complete() > > generic_write_sync() > > btrfs_sync_file() > > > > Separate out iomap_dio_complete() from iomap_dio_rw(), so filesystems > > can call iomap_dio_complete() after unlocking i_rwsem. > > > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > > > This is missing Christoph's S-o-b Goldwyn picked this up for a rfc. But this looks like my patch with a sane commit log, so: Signed-off-by: Christoph Hellwig <hch@xxxxxx>