Hello,

We have a number of OpenAFS volumes that serve as storage for (public) mirrors 
and one of them is misbehaving when updated from upstream - the error indicates 
we've reached the limit of file names allowed in a volume.

The limit I am seeing is not compatible with my understanding of how OpenAFS 
handles file names in a directory. I've seen in the mail list archives the 
statements about how many file names can fit, that there are 64k slots and a 
file name < 16 in length occupies one slot, a file name from 16 to 32 
characters long occupies two slots and so on. The earliest reference I've found 
is at http://lists.openafs.org/pipermail/openafs-info/2002-September/005812.html

However...

The directory concerned has more than 21,000 files in it, almost all of them 
have names exceeding 52 characters... as at today there are 1,220,000 
characters in filenames in that directory. Even assuming they pack down 
perfectly into directory name slots that's over 76,000 slots... and working 
them out using the rule above indicates that the directory is using over 87,000 
slots. These are both significantly above 64k.

I don't know if I'm misinterpreting the information in the OpenAFS archive or 
if the information is out of date - but I've not found anything that 
fundamentally is different from the information in the archive and I'm looking 
at a volume that seems to break the limits. I'd really benefit from 
understanding what's going on ... how we appear to be getting more file name 
information into a directory than should be possible.

/mirror.ox.ac.uk/sites/archive.ubuntu.com/ubuntu/pool/main/l/linux$ ls |wc -l
21731
/mirror.ox.ac.uk/sites/archive.ubuntu.com/ubuntu/pool/main/l/linux$ ls |wc -c
1250894

This is one directory in a mirror of archive.ubuntu.com so you can see the 
contents from (e.g) 
https://launchpad.net/ubuntu/+mirror/mirror.ox.ac.uk-archive which points to 
the presentation of our mirror. The number of files has recently gone up 
because of upstream changes.

Thanks

Matthew

Reply via email to