A common VFS and a Common conf-system (Was: namespacing)
elanthis at awesomeplay.com
Wed Mar 2 04:10:00 EET 2005
On Tue, 2005-03-01 at 20:04 -0500, Avery Pennarun wrote:
>On Tue, Mar 01, 2005 at 07:49:28PM -0500, Sean Middleditch wrote:
>> But, most interesting protocols aren't. Accessing NFS isn't something
>> D-VFS will ever do, since NFS shares will just be mounted normally.
>> We're more interested in WebDAV, FTP, SFTP/SCP, etc.
>Actually, that's not true. To this day, non-root users can't mount NFS or
>SMB shares. They really, really want to do so. I want to provide this
It's certainly possible, then. Again, though, keep in mind that D-VFS
is *not* a general-purpose file-access layer, and don't expect it to
cater to non-desktop apps. If you want to compile something with gcc
over a VFS, don't use D-VFS - wrong tool for the job.
>> >Legacy apps like gcc, make, vim, emacs, bash, find, mc, mysql, apache,
>> >samba, and netatalk? I think it's worth a bit of effort to make those
>> Why would we care about those? Those aren't the target applications and
>> their needs are 100% irrelevant to our design.
>Also not true. How many gnome users are there who have never used any of
>those programs? Maybe you would like it to be zero, but it's not even
Again, who cares? Those programs are irrelevant to a desktop file
access library. If you want to use them with a remote file system, use
FUSE - don't try to force D-VFS to be a "work for everyone solution,"
because that's not going to result in a system that works ideally for
the target use case.
If someone wants to write a patch to gcc to use D-VFS, good for them.
If someone writes a D-VFS method for FUSE so all apps can use it,
awesome. But D-VFS will not be designed to be instantly usable by every
app under the Sun - it's for desktop apps doing desktop stuff.
>Actually *supporting* those apps is a lot of work, and I'm not saying you
>should do it. Just make sure it's possible to do.
>> I doubt it will do everything POSIX can, at least not anywhere near as
>> efficiently or easily in certain cases. It's not intended to. It's
>> made to read and save documents, browse folders, and do basic file
>> management. If you want more, don't use Desktop VFS - use NFS or FUSE
>> or something else. D-VFS is in no way meant to deprecate FUSE or other
>> system-oriented network VFS systems. D-VFS's just meant to provide an
>> alternative that makes far more sense for a certain target set of
>> applications (desktop apps and graphical file managers).
>POSIX itself is incredibly weak, so making your API *able* to support it is
>no big deal. Being efficient does not need to be a goal of your project,
>because someone else can just speed it up later if needed. But making
>things *easy* should certainly be a goal of yours, and given that POSIX does
>a bunch of stuff that everyone wants to do, most of those things should be
POSIX does nothing that most developers want to do - that's the whole
problem. It does so incredibly little, and what it can do requires many
syscalls and is very complicated to get right.
Just to be absolutely clear - you should be able to get something very
similar to POSIX on top of D-VFS if you want. It'll even work for most
common apps, I'm sure. If that's all you're asking for (which I think
is the case), then we're in agreeance. :)
Sean Middleditch <elanthis at awesomeplay.com>
More information about the xdg