Re: Weird ext2 problem in 2.4.18 (redhat)

From: Theodore Ts'o
Date: Sat Nov 08 2003 - 13:33:28 EST


On Fri, Nov 07, 2003 at 10:33:41PM -0800, Larry McVoy wrote:
> The BitKeeper source tree looks like
>
> BitKeeper/ SCCS/ doc/ man/ src/
>
> I have a repository where it looks like
>
> src/ BitKeeper/ PENDING/ RELEASE-NOTES SCCS/ doc/ man/ src/
>
> That first src/ is actually " src/" and it has some rather strange behaviour.
> It's a different directory inode than "src/" but if I create a file in " src/"
> it shows up in "src/" and vice versa.
>
> Hey, neato, it gets weirder. I went to go run an example and now most of
> the files in " src/" are gone, most but not all.

Sounds like there is a two directory entries with the same name in the
same directory. This can cuase severe confusion since the kernel
assumes that this will never happen. Depending on which one gets
found first, and what is cached in the dentry cache, you'll get one
inode or the other.

E2fsck doesn't normally notice these sorts of inconsistencies, since
it takes too much time and memory to look for duplicate entries. If
you optimize directories using "e2fsck -fD", it will find and offer to
rename directory entires with a duplicated name.

If you notice the problem, you can also go in directly with debugfs
and rename the errant directory entry directly.

- Ted
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/