Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jan 2011 19:55:58 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Gleb Kurtsou <gleb.kurtsou@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: [rfc] 64-bit inode numbers
Message-ID:  <20110104175558.GR3140@deviant.kiev.zoral.com.ua>
In-Reply-To: <20101201091203.GA3933@tops>
References:  <20101201091203.GA3933@tops>

next in thread | previous in thread | raw e-mail | index | archive | help

--G6ArjEZjY3m60389
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Dec 01, 2010 at 11:12:03AM +0200, Gleb Kurtsou wrote:
> Hi,
>=20
> 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.
>=20
> 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
>=20
>=20
> 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
>=20
> The same but as a single patch:
> https://github.com/downloads/glk/freebsd-ino64/freebsd-ino64.big.patch.gz
>=20
> Patches are against recent CURRENT: svn r215808.
>=20
> Code is also hosted on gitorious:
> http://gitorious.org/~glk/glk-freebsd-ino64
>=20
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.

--G6ArjEZjY3m60389
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iEYEARECAAYFAk0jXy4ACgkQC3+MBN1Mb4jJdwCgrBItWMmKku/o4Pj/9BryZ1t3
Fc0An3CH4ZVYJy68v4hHkQIhcBh2LCO0
=v9lM
-----END PGP SIGNATURE-----

--G6ArjEZjY3m60389--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110104175558.GR3140>