[rfc] 64-bit inode numbers

Kostik Belousov kostikbel at gmail.com
Tue Jan 4 17:56:06 UTC 2011


On Wed, Dec 01, 2010 at 11:12:03AM +0200, Gleb Kurtsou wrote:
> Hi,
> 
> I've been working on adding support for 64 bit ino_t and 32 bit nlink_t.
> I have a patchset which is still work in progress, but I wasn't able to
> find time to continue the project for a month already.
> 
> Notes:
> * Keep using 32 bit inodes in UFS and UFS boot code: UFS is a critical
>   component and switching it to 64bit ino_t won't improve anything
> * Don't use nlink_t in UFS on-disk structs, introduce ufs_ino_t
> * Deprecate incomplete set of NetBSD emulation nstat* syscalls. Remove
>   COMPAT_FREEBSD32 support which was never functional, mark as COMPAT8
> * Implement both kernel level and libc compatibility shims, support
>   COMPAT_FREEBSD32
> * Add d_off (now unused) to struct dirent to facilitate removing cookies
>   argument from VOP_READDIR. (both OpenSolaris and Linux do the same)
> * Libc compatibility shims for struct dirent users
> 
> 
> Tar archive of individual patches to make review easier. First several
> patches are bug fixes and can be commited as they are:
> https://github.com/downloads/glk/freebsd-ino64/freebsd-ino64-patch.tgz
> 
> The same but as a single patch:
> https://github.com/downloads/glk/freebsd-ino64/freebsd-ino64.big.patch.gz
> 
> Patches are against recent CURRENT: svn r215808.
> 
> Code is also hosted on gitorious:
> http://gitorious.org/~glk/glk-freebsd-ino64
> 
I think some more comments for each patch in the set, in addition to
the one-line title, would be useful.

No need to add regen patches, they only confuse the reader. Just add a
note to other patches where the regen is needed.

I have big doubts about 0009, since struct inoref is not on-disk struct.

My impression is that the issue of extending ino_t to 64 bit is much bigger
then presented in your patch. E.g. FTSENT (include/fts.h) explicitely
include ino_t member. As result, there are more ABI changes that handled.
Or, did I missed this in the patchset ?

Might be, libarchive and libufs are also affected. Not sure about struct
pidfh from libutil.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20110104/37b60504/attachment.pgp


More information about the freebsd-fs mailing list