[OpenAFS] Max number of files in dir, but.

Jeffrey Hutzelman jhutz@cmu.edu
Mon, 03 Oct 2005 16:42:49 -0400


On Friday, September 30, 2005 11:38:53 AM +0200 Jan Johansson 
<janj+openafs@wenf.org> wrote:

> Hello.
>
> Could someone be so kind to tell me what I am missing here.
>
> :; pwd
> /afs/isk.kth.se/home/j/janjoha/isk/mail/trash/2005/09/cur
> :; ls | wc
>    31706   31706  988987
> :; ls | head -4
> 1125553784.15482_63.riker:2,S
> 1125553798.15482_66.riker:2,S
> 1125553842.15482_69.riker:2,S
> 1125553851.15482_73.riker:2,S
>
> :; touch foo-with-a-long-name
> touch: foo-with-a-long-name cannot create
>
> This is clear we have hit the limit max file names in a directory
> but
>
> :; touch foo
> :; touch bar
>
> Now I would have expected that 'touch bar' would fail but
> continuing with
>
> :; touch kaka
> :; touch farmoanka
> :; touch kalleanka
>
> still works.

A file with a name longer than 15 characters requires multiple 
_consecutive_ entries in the same directory page.  So, if your directory is 
sufficiently fragmented and very full, it may be possible to create entries 
with short names but not with long names.  If your existing files mostly 
have names just over 15 characters long, then you can probably create a 
_lot_ of short filenames, because each directory page has an odd number of 
entries available (the first entry is occupied by the page header).

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA