[lustre-discuss] recovery MDT ".." directory entries (LU-5626)

Mohr Jr, Richard Frank (Rick Mohr) rmohr at utk.edu
Tue Nov 3 14:47:20 PST 2015

> On Nov 3, 2015, at 2:20 PM, Patrick Farrell <paf at cray.com> wrote:
> Mmm, unfortunately, still not quite right - Disabling dirdata will not save you in the conversion to HTree case either.  It will just prevent *more* directories from getting a misplaced ".." dentry to begin with.

Sorry.  Yes, that is what I meant to say.  (My sentence was supposed to read “…correctly placed…”.  I was thinking of a non-corrupted non-HTree directory that was moved and then converted. Poor wording on my part.)

> As to size...  I figured it out once - But it depends on file name length in the directory, since the dentry includes the file name. Once the total size of dentries in a directory exceeds 4096 bytes (one inode), then it will be converted to an HTree, I believe.
> So, at something like 32 bytes a dentry, which is like a 10-16 or so character file name (exact dentry length here requires more checking than I've got time for, but it's close), then you've got 32=2^5, 4096 = 2^12, so 2^12/2^5 = 2^7 or 128 dentries.
> But of course, longer file names --> bigger dentries --> fewer dentries before conversion to HTree.

So it doesn’t seem like it takes many entries at all.  Interesting.  We have many directories much larger than that and no sign of any corruption.  I’ll have to spend some more time looking into this.

Rick Mohr
Senior HPC System Administrator
National Institute for Computational Sciences

More information about the lustre-discuss mailing list