[rfc] 64-bit inode numbers

Gleb Kurtsou gleb.kurtsou at gmail.com
Wed Dec 1 09:12:19 UTC 2010


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

Thanks,
Gleb.


More information about the freebsd-fs mailing list