A common VFS and a Common conf-system (Was: namespacing)
elanthis at awesomeplay.com
Wed Mar 2 02:14:28 EET 2005
On Tue, 2005-03-01 at 23:02 +0100, Waldo Bastian wrote:
>On Tuesday 01 March 2005 20:25, Mike Hearn wrote:
>> On Mon, 28 Feb 2005 23:45:59 -0500, Sean Middleditch wrote:
>> > Unfortunately, it's Linux only, and has an incredibly brain-dead design
>> > where you have to utilize "round-trips" through the kernel for something
>> > that essentially happens entirely in user-space, and forces a superbly
>> > poor API (POSIX) onto all its file systems, including those where POSIX
>> > makes absolutely no sense whatsoever.
>> Zen question: If a filesystem can't support POSIX, does that mean it's
>> not really a filesystem at all?
>I think "not really" is captured quite nicely by the word "virtual"
>For a VFS system I think the point is that POSIX doesn't provide the stuff
>that you actually want to have (copy file?). It should be reasonable
>straightforward to provide POSIX-like semantics on top of a VFS as long as
>you are prepared to handle a more than usual amount of ENOTSUPP error codes.
Actually, it's not that easy at all. That's the biggest problem with
gnome-vfs - not that it doesn't do things beyond what POSIX does, but
that implementing anything even close to POSIX is very, very difficult,
especially in terms of how one expects error handling and atomicity to
work. The POSIX API is expected to work in terms of certain syscalls,
while a VFS implementation of a particular POSIX API call will often
make many syscalls, none of which are the one being emulated - that
alone makes it pretty darn hard to do things right, and is what most of
the complexity in FUSE attempts to address.
In all honesty, though, WHY would you want a POSIX API? What possible
advantage would someone hope to get from emulating the POSIX API on top
of the VFS? The only thing I can think of is backwards compatibility
with legacy apps, but I'm not sure that's really all that worth the
problems that would arise.
>xdg mailing list
>xdg at lists.freedesktop.org
Sean Middleditch <elanthis at awesomeplay.com>
More information about the xdg