On 8:40 28/05, Darrick J. Wong wrote: > On Fri, May 22, 2020 at 07:38:33AM -0500, Goldwyn Rodrigues wrote: > > From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > > > Filesystems such as btrfs can perform direct I/O without holding the > > inode->i_rwsem in some of the cases like writing within i_size. > > So, remove the check for lockdep_assert_held() in iomap_dio_rw() > > > > Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > > Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > --- > > fs/iomap/direct-io.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c > > index f88ba6e7f6af..e4addfc58107 100644 > > --- a/fs/iomap/direct-io.c > > +++ b/fs/iomap/direct-io.c > > @@ -416,8 +416,6 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, > > struct blk_plug plug; > > struct iomap_dio *dio; > > > > - lockdep_assert_held(&inode->i_rwsem); > > - > > I could've sworn that I saw a reply from Dave asking to hoist this check > into all the /other/ iomap_dio_rw callers, but I can't find it and maybe > I just dreamed the whole thing. It did happen! However, hch mentioned it is not required [1]. I did promise him to remove the entire concept of dio_sem locking in btrfs, and just rely on inode->i_mutex. It is still a work in progress. > > Also, please cc fsdevel any time you make change to fs/iomap/, even if > we've already reviewed the patches. > Yes, missed that. Sorry. [1] https://www.spinics.net/lists/linux-btrfs/msg96016.html -- Goldwyn
