Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 1999 00:21:55 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Alexander Viro <viro@math.psu.edu>
Cc:        Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>, Francois-Rene Rideau <fare@tunes.org>, Linux Kernel <linux-kernel@vger.rutgers.edu>, FreeBSD Hackers <freebsd-hackers@freebsd.org>, NetBSD Kernel <tech-kern@netbsd.org>
Subject:   Re: Improving the Unix API 
Message-ID:  <Pine.BSF.4.05.9906280017510.80685-100000@herring.nlsystems.com>
In-Reply-To: <Pine.GSO.4.10.9906271322421.24019-100000@weyl.math.psu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 27 Jun 1999, Alexander Viro wrote:

> 
> 
> On Sun, 27 Jun 1999, Doug Rabson wrote:
> 
> > This looks viable as long as you don't use small integers to represent
> > FL_UFS etc. Having a single header defining constants for all filesystems
> 
> 	Erm... sizeof(int)==4. I doubt that you will need more.
> 
> > just doesn't scale at all.
> 	Sure. If you don't need fs-specific stuff - <sys/stat.h> and there
> you go. If you need some particular fs - <sys/stat.h> and <sys/foo_fs.h>

I'm talking about the concept of a header file containing something like:

	#define FL_VFS		0
	#define FL_FOOFS	1
	#define FD_BARFS	2
	...

not being scalable.

Do you have a complete list of filesystem types? Are you prepared to act
as an Assigned Number authority for that list. For this kind of problem,
strings are a damn sight easier to manage in the long term.

> 
> > You still want a clearly defined set of FS independant flags so that the
> > application doesn't need to care what filesystem it is sitting on.
> 
> 	And that's exactly the reason for FL_VFS vs. FL_FOOFS separation -
> some applications should be able to talk with the filesystem in the
> filesystem's terms *and* be sure that they will not mess with another fs;
> the rest shouldn't care for fs differences at all (aside of "did the
> sucker set the bits I wanted?" that you already have for SUID/SGID/sticky).
> 
> 	I don't think that porting it to 4.4 will be difficult - all you
> need is a way to tell VOP_SETATTR what level are you talking to (most
> likely the same way as on the our side - add a field to the structure and 
> let the methods scratch their heads). I'm going to do the Linux variant
> and see how it will work. If somebody wants to do it with *BSD - fine, it
> shouldn't be a problem.

I'm sure the api would be easy to port.  I wouldn't accept any api for
FreeBSD which involved assigning numbers to filesystem types. It was too
painful to rid it of the last set of numbers from the old mount(2) call.

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 442 9037




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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9906280017510.80685-100000>