Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Feb 2001 17:10:02 -0800 (PST)
From:      John Polstra <jdp@polstra.com>
To:        arch@freebsd.org
Cc:        scott_long@btc.adaptec.com
Subject:   Re: Arch question for a UDF FS driver
Message-ID:  <200103010110.f211A2843934@vashon.polstra.com>
In-Reply-To: <E0BFB46945D5D411BB590000D11ABE9203349F@btcexc01.btc.adaptec.com>
References:  <E0BFB46945D5D411BB590000D11ABE9203349F@btcexc01.btc.adaptec.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <E0BFB46945D5D411BB590000D11ABE9203349F@btcexc01.btc.adaptec.com>,
Long, Scott <scott_long@btc.adaptec.com> wrote:
> I've starting writing a UDF FS driver for FreeBSD, and am coming to a
> decision point.  UDF is somewhat similar to ufs in that a File Entry is
> analogous to an inode, so I'd like to implement the filesystem using the
> vget vfsop.  Problem is that vget uses ino_t which is a uint32_t, while the
> Unique Id (aka inode number) for UDF is a uint64_t.  Unique Id's are
> numbered sequentially starting at 16 (0 is the root dir, 1-15 are reserved),
> and may be sparse.  So what color should I paint the bikeshed?
[...]
> Orange:  Get ino_t bumped up to a uint64_t and modify all the other
> filesystems to deal with it accordingly.  Advantage: no hackery needed for
> UDF.  Disadvantage: may be the mother of all bikesheds.

Unfortunately, values of type ino_t are passed from kernel to userland
via the stat(2) family of system calls.  So if you change the size
of ino_t, it will change the shape of the stat structure.  This
would introduce binary compatibility problems.  There would have
to be yet another flavor of struct stat (we already have 3 of them
in <sys/stat.h>), and some new system calls for the new versions
of stat(), fstat(), and lstat().  I.e., you can't just change the
existing system calls without totally breaking old binaries.

It's not a total show-stopper, but it does make that shade of orange
look kind of, er, puke colored. :-)

John
-- 
  John Polstra                                               jdp@polstra.com
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa


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?200103010110.f211A2843934>