Messages in this thread | | | Subject | Re: Fw: [POSSIBLE-BUG] telldir() broken on ext3 dir_index'd directories just after the first entry. | From | "Stephen C. Tweedie" <> | Date | 18 Nov 2004 00:00:05 +0000 |
| |
Hi,
On Wed, 2004-11-17 at 22:34, Theodore Ts'o wrote:
> Here is a patch which causes d_off of '.' to be 1, and for seekdir(1) > to cause readdir to return the directory entry of '..'.
Doesn't this make things worse? The old problem was that seekdir/telldir were broken (which we already knew for certain cases like hash collisions). But with...
> + start_hash=2;
don't we end up silently ignoring all dirents with a major hash <= 1, even for unbroken getdents() with no intervening seekdir? Previously we'd at least fill them into the rbtree, so sequential readdir would find them even if the hash collided. Now we'll skip them entirely.
If we're going to do this, I think we need to stuff . and .. into the rbtree with the right hashes, but without ignoring other existing dirents with colliding hashes.
--Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |