On Tue 29-05-12 21:50:19, Jan Kara wrote:
On Mon 28-05-12 17:05:11, Ted Tso wrote:
quoted
On Mon, May 28, 2012 at 02:29:05PM -0600, Andreas Dilger wrote:
quoted
This patch is good from the POV of covering all filesystems, and
avoiding the deadlock at the dcache level. It would be possible to
detect this problem in the filesystem itself during lookup, before
the bad link got into the dcache itself. Something like:
I like that as a solution for detecting the problem in ext4. As you
say, it's still an issue for other file systems, and so the patch I
proposed is still probably a good idea for the VFS. But this way ext4
(and ext3 when Jan backports it) will be able to detect the problem
and mark the file system as being corrupted.
Actually, I think there's even better way. d_splice_alias() can rather
easily detect the problem and report it to filesystem. The advantage is
that the check in d_splice_alias() can catch any "hardlinks" to
directories, not just self loops. The patch is attached, I also have
corresponding handling written for ext? filesystems but that's trivial.
I'll post the whole series to Al to have a look.
And now with the attachment. Sorry.
Honza