]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "vfs: stop d_splice_alias creating directory aliases"
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 8 Jun 2012 17:34:03 +0000 (10:34 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 8 Jun 2012 17:34:03 +0000 (10:34 -0700)
commitd36c0c5d410ae42c17b433a7876b496f88169023
treecd3638359e7a635dc15856559ac01b14196c4ff7
parent131805d37e7278776236c3a13d608d740b1efd2c
Revert "vfs: stop d_splice_alias creating directory aliases"

This reverts commit c6584fe6ed821801f24ac67a97cd57299a733f9b (and commit
b821b577b0c0c81f80aeca7c84f3659b7dc8a358, which was a follow-up
cleanup).

We're chasing an elusive bug that Dave Jones can apparently reproduce
using his system call fuzzer tool, and that looks like some kind of
locking ordering problem on the directory i_mutex chain.  Our i_mutex
locking is rather complex, and depends on the topological ordering of
the directories, which is why we have been very wary of splicing
directory entries around.

Of course, we really don't want to ever see aliased unconnected
directories anyway, so none of this should ever happen, but this revert
aims to basically get us back to a known older state.

Bruce points to some of the previous discussion at

       http://marc.info/?i=<20110310105821.GE22723@ZenIV.linux.org.uk>

and in particular a long post from Neil:

       http://marc.info/?i=<20110311150749.2fa2be66@notabene.brown>

It should be noted that it's possible that Dave's problems come from
other changes altohgether, including possibly just the fact that Dave
constantly is teachning his fuzzer new tricks.  So what appears to be a
new bug could in fact be an old one that just gets newly triggered, but
reverting these patches as "still under heavy discussion" is the right
thing regardless.

Requested-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dcache.c