Messages in this thread |  | | | Date | Wed, 1 Jul 2009 21:11:55 +1000 | | Subject | Re: [PATCH] Added CONFIG_VFAT_FS_DUALNAMES option | | From | tridge@samba ... |
Hi Alan,
> > What happens on collision? With 60000 entries in directory, there will > > be 50% chance of collision. BAD. > > Far more surely - its a birthday paradox.
If you want to do it accurately, the maximum number of long filenames in a VFAT directory is actually 32767. (it isn't 65536, as each long filename consumes at least two 8.3 entries, plus you lose the . and .. entries).
With the patch I've posted there are 30 bits of randomness in each entry. You could do an accurate binomial expansion to get the exact probability, but a very good approximation using exponentiation comes out as a 39.3% chance of a single duplicate appearing in a directory that is fully populated.
As I mentioned to Pavel, this isn't the whole story though. To cause the bluescreen the duplicate entries need to be accessed by WindowsXP in quick succession in a particular pattern. This lowers the probability a lot. Exactly how much is hard to estimate, but experiments I've done with deliberately higher probabilities (ie. less bits of randomness) show that the probability of the bluescreen is _very_ low.
> Agreed 100%. I'm also not sure it should be called "vfat" when operating > in this mode as it's not vfat any more - it needs a new name.
If the code differed significantly between the two implementations I'd probably agree, but as the two are extremely close I think maintaining a separate filesystem isn't worth it.
Cheers, Tridge
|  |