Hi Al, On Thu, 4 Apr 2013 09:10:11 +0100 Al Viro wrote: > > On Thu, Apr 04, 2013 at 12:02:53AM -0700, Andrew Morton wrote: > > > > Well perhaps the vfs tree should start paying some attention to the > > > rest of the world, particularly after -rc5. > > > > I can't even find this "lift sb_start_write() out of ->write()". Not on fsdevel, > > not on lkml. What the heck is it and why was it so important? > > Deadlocks around splice; see the threads re overlayfs/unionmount/aufs and > deadlocks in their copyup implementations. See also XFS freeze-related > deadlocks, etc. > > The thing is, sb_start_write() is pretty high in locking hierarchy (outside > ->i_mutex, etc.), but ->splice_write() and friends had it buried pretty > deep. With distinctly unpleasant results, including ->..._write() instances > using generic ones (which took the lock) *and* doing some IO outside of those > (ext4, for example; ocfs2 also looked fishy in that respect, IIRC). > > The obvious solution is to lift taking that lock out of the methods, which > had been done. It had been discussed on fsdevel and sat in #experimental for > several weeks; time for it to go into #for-next. It would have been useful to put something like that in the commit message ... -- Cheers, Stephen Rothwell sfr@canb.auug.org.au