UFS Subdirectory limit.

David Malone dwmalone at maths.tcd.ie
Sat Mar 26 01:02:11 PST 2005


> - make a new st_nlink field that's 32 bits and put it in the spare
>   32-bit field in struct stat

> - rename the old st_nlink to st_onlink and leave it at 16 bits

> - the kernel would fill in st_onlink with max(st_nlink,SHORT_MAX)

Hmmm - interesting - I hadn't realised there was spare space in
struct stat. I guess we could get away with this and there's space
in both ufs1 and ufs2 inodes. I think we'd need to redefinte nlink_t,
which would need an ABI bump.

One problem I can think of might be non-obvious failures of old
programs on directories with lots of subdirectories. The hacky
scheme ends up with a link count on 2 on all directories, which
produces a reasonably obvious failure.

	David.


More information about the freebsd-fs mailing list