Re: If not readdir() then what?

From: Neil Brown
Date: Wed Apr 11 2007 - 20:01:14 EST


On Wednesday April 11, david.lang@xxxxxxxxxxxxxxxxxx wrote:
> On Thu, 12 Apr 2007, Neil Brown wrote:
>
> > For the second.
> > You say that you " would need at least 96 bits in order to make that
> > guarantee; 64 bits of hash, plus a 32-bit count value in the hash
> > collision chain". I think 96 is a bit greedy. Surely 48 bits of
> > hash and 16 bits of collision-chain-position would plenty. You would
> > need 65537 entries before a collision was even possible, and
> > billions before it was at all likely. (How big does a set of 48bit
> > numbers have to get before the probability that "No subset of 65536
> > numbers are all the same" drops below 0.95?)
>
> Neil,
> you can get a hash collision with two entries.

You need at least 65537 entries before there is any possibility of
collision between two
"48-bit-hash ++ 16-bit-sequence-number"
objects where the 16-bit-sequence-number is chosen to be different from all
other 16 bit sequence numbers combined with the same 48 bit hash.

NeilBrown
-
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/