Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Mar 2002 22:20:35 -0500 (EST)
From:      Robert Watson <rwatson@FreeBSD.ORG>
To:        Garance A Drosihn <drosih@rpi.edu>
Cc:        Poul-Henning Kamp <phk@critter.freebsd.dk>, Terry Lambert <tlambert2@mindspring.com>, Harti Brandt <brandt@fokus.gmd.de>, arch@FreeBSD.ORG
Subject:   Re: Increasing the size of dev_t and ino_t
Message-ID:  <Pine.NEB.3.96L.1020311221258.50635D-100000@fledge.watson.org>
In-Reply-To: <p05101550b8b310e6cfae@[128.113.24.47]>

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

On Mon, 11 Mar 2002, Garance A Drosihn wrote:

> So, as far as userland stat() goes, a 64-bit inode is pretty easy, but I
> would like to see us set the stage for the other things we keep talking
> about.  All of those require a bigger struct-stat, and I can't think of
> any pretty way of doing that and also maintaining binary compatibility. 
> Let us pretend that we "absolutely had to" increase the struct, *and* we
> could not break binary compatibility, *and* we would maintain posix
> compatibility for anything which was simply recompiled.  If we had to do
> all three of those, how could we do it? 

My personal feeling on this is that 5.0 is a good time to "take the leap". 
We know we need to roll the on-disk data structures to support UFS2, we're
changing a number of other APIs (shortly including many of the SysV IPC
APIs to properly support 32-bit uids and gids).  We're completely
replacing the threading mechanism, changing many of the APIs for library
cals, we've added support for extended attributes, ACLs, etc.  Now is the
time.  The longer the wait, the harder it gets. :-)

As to the migration path: your suggestion sounds fine.  I'd be tempted to
simplify the approach:

(1) Provide compatibility system calls in the style of ofoo() providing
    the 32-bit versions, and make sure that the compatibility libc (and so
    on) use those.

(2) Modify inode.h to look like what we want it to end up looking like,
    and define new system calls using the native names (stat(), et al).

Avoid providing source structure compatibility where it only serves to
cause code to use the wrong types without warnings. 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Project
robert@fledge.watson.org      NAI Labs, Safeport Network Services



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1020311221258.50635D-100000>