[Portland] PortlandVFSProposal

Diego Calleja diegocg at gmail.com
Sat Jan 7 17:12:03 EET 2006


El Sat, 07 Jan 2006 15:07:54 +0100,
Philip Van Hoof <spam at pvanhoof.be> escribió:

> You see .. a desktop doesn't run using super user privileges. Unless
> you're desktop is called Microsoft Windows 95, of course.

Must be your setup, please read the FUSE documentation before making
such claims...

http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/fuse.txt

Section "How do non-privileged mounts work?"



> I'm also wondering how platform independent this can be. It should, for
> example, also work on Microsoft Windows. You see, many desktop
> applications are being ported from and to Windows. 


You've missed the whole point of my email and FUSE. You see, the 
*cool* thing about FUSE is that it does _NOT_ require "port applications".
It just works transparently. You chdir() to a directory (or do the windows
equivalent) and the files in that directory _happens_ to be a userspace
filesystems, but the app does not care about that - it just uses the 
filesystem through the standard native filesystem calls.

As I said this is an disadvantaje of dvfs and common-vfs: You _need_ to
port apps to it becaus it's not transparent.

In fact, since you mentioned Microsoft Windows, I've just though
of yet another reason why dvfs and common-vfs are unsuitable as a
cross-plataform: The apps ported from linux to windows will work
with common-vfs and dvfs, but the thousand of native propietary
window apps will NEVER "see" our open userspace VFS.

In other words: Take konqueror, and port it to windows and make it
use common-vfs. Now try to open a .pdf file in windows which happens
to be in a common-vfs mounted filesystem. Acrobat reader opens, and
acrobat reader is *not* ported, so it can not see the PDF file. There're
two possible fixesfor this:

 o konqueror copies the PDF file to a temporary, non-commonvfs path...that
   is, if there's a way of guessing the app you're going to open supportes
   common-vfs...

 o Build a common-vfs -> windows VFS gateway. In other words, rename
   common-vfs to FUSE, build a fuse clone.


So you just pointed out another reason why common-vfs and dvfs are unsuitable
for freedesktop and linux desktop development: common-vfs and dvfs works in
linux because we control most of the apps which run in our desktops, but we
do _not_ control the thousand of propietary apps which are not using (and are
not going to use) common-vfs. This makes integration between common-vfs and
propietary platforms unsuitable.


The one way of doing this in a clean, cross-platform way is not do it
at all: Let FUSE do the work for Linux and BSDs, let the Mac OS X FUSE
equivalent do the work, let the windows equivalents do the same in windows
(I've seen apps in windows which build a userspace filesystem, ie: apps
which shows you isos as an unit, so there must be a way of doing it...and 
the future microsoft vista has a "virtual folders" feature and the microsoft
shell has some userspace filesystem features), wait for opensolaris to port
FUSE to opensolaris.


Again: VFS is a operative system specific thing. Things like common-vfs
work for some apps just like KIO work today for Gnome. In the real world,
apps using common-vfs in windows are not going to work well with say,
internet explorer; however FUSE-like approachs _do_ work. And Gnome, KDE
and friends should _not_ need to care at all of this: If you wish to
mount a ssh remote filesystem, either your operative system features
a FUSE-like approach and allows you to mount your ssh account or you need
to build a common-vfs approach which breaks completely everything.




> The desktop isn't "just" GNU/Linux on a i386 compatible computer.

Agreed: Which is why common-vfs isn't suitable, since it forgets
about propietary apps.



More information about the Portland mailing list