[PATCH] return ENOENT from ext3_link when racing with unlink
authorEric Sandeen <sandeen@redhat.com>
Sat, 10 Feb 2007 09:46:16 +0000 (01:46 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 11 Feb 2007 18:51:34 +0000 (10:51 -0800)
commit2988a7740dc0dd9a0cb56576e8fe1d777dff0db3
tree9c1b67be5d16a24d5c613ecb8e3804c7ff3994da
parent967bb77c69e3bc44dd1128a8b503a205cce3fd4a
[PATCH] return ENOENT from ext3_link when racing with unlink

Return -ENOENT from ext[34]_link if we've raced with unlink and i_nlink is
0.  Doing otherwise has the potential to corrupt the orphan inode list,
because we'd wind up with an inode with a non-zero link count on the list,
and it will never get properly cleaned up & removed from the orphan list
before it is freed.

[akpm@osdl.org: build fix]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ext3/namei.c
fs/ext4/namei.c