linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: David Dabbs <david@dabbs.net>
Cc: reiserfs-list@namesys.com,  linux-fsdevel@vger.kernel.org,
	cliff@lindows.com
Subject: Re: [RFC] Pathname Semantics with //
Date: Thu, 09 Sep 2004 11:03:30 -0700	[thread overview]
Message-ID: <41409AF2.7010003@namesys.com> (raw)
In-Reply-To: <20040910174518.1DAED15CE4@mail03.powweb.com>

David Dabbs wrote:

>  
>
>>Jamie Lokier
>>
>>David Dabbs wrote:
>>
>>    
>>
>>>Shooting from the hip here. If we want to unify namespaces in a 
>>>UNIXy
>>>      
>>>
>>way,
>>    
>>
>>>what if we make the VFS expose all the non-file "protocol" 
>>>namespaces through one mount point, device node or whatever. A 
>>>filesystem, perhaps something built using FiST
>>>      
>>>
>[http://www.filesystems.org/], would "handle"
>  
>
>>a
>>    
>>
>>>protocol. Another, perhaps preferred, option is to steer in the
>>>      
>>>
>>direction of
>>    
>>
>>>Plan9, where ftp can be mounted and handled by a user-space 
>>>filesystem, ftpfs.
>>>See http://plan9.bell-labs.com/magic/man2html/4/ftpfs
>>>      
>>>
>>You can already do it, something like this:
>>
>>    mkdir /http:; mount none /http: -t uservfs -o view=http
>>    mkdir /ftp:;  mount none /ftp:  -t uservfs -o view=ftp
>>
>>I don't see any compelling reason to make "//" special for this.
>>However, if there is such a reason, then you could just mount protocol 
>>handlers on "//http:" and so on, and make "//" a normal directory with 
>>a special name.
>>
>>-- Jamie
>>    
>>
Jamie, I like your approach, and I think it should go into LSB and be 
used by all distros.  It improves closure in the OS.

>
>Jamie, we _definitely_ agree, except apps that want to create links to URLs
>will prepend one slash to the URL instead of two. Is your reference to
>uservfs a "foo" reference or do you mean
>http://sourceforge.net/projects/uservfs/? It looks a little dusty. But we
>are pulling in the same direction.
>
>The /file: node could simply be a symlink. Thus we have
>
>      cd /
>      ln -s / file:
>      mkdir http:; mount none /http: -t uservfs -o view=http
>      mkdir ftp:;  mount none /ftp:  -t uservfs -o view=ftp
>      #etc...
>
>Pathnames would be resolved with the existing code in namei.c. I can
>understand mounting a URL whose protocol looks like a fs tree (e.g. ftp),
>but http? Namei() parses the pathname one component at a time, checks the
>dcache, and goes to the fs when that fails. Let's trace through how a URL
>might get resolved. 
>
>      ln -s /http://sourceforge.net/projects/uservfs
>      cat uservfs
>
>Pathname would be resolved as 
>
>      /http:          
>      sourceforge.net/
>      projects/
>      uservfs
>
>I need to look closer at namei (or the uservfs code if it really supports a
>view=http). As long as a fs can generate meaningful, stateful values in
>response to VFS calls to real_lookup(), then this may work. 
>
>
>David
>
>
>
>
>
>
>  
>

  reply	other threads:[~2004-09-09 18:03 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-10 17:49 [RFC] Pathname Semantics with // David Dabbs
2004-09-09 18:03 ` Hans Reiser [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-09-09 10:41 David Dabbs
2004-09-08 16:13 ` Hans Reiser
2004-09-09 16:36   ` Peter Foldiak
2004-09-09 19:21   ` David Dabbs
2004-09-10  0:49     ` Hans Reiser
2004-09-10  3:06       ` David Dabbs
2004-09-10  5:40         ` Hans Reiser
2004-09-09 21:51   ` David Dabbs
2004-09-09  6:10     ` Hans Reiser
2004-09-09 17:33 ` Christian Mayrhuber
2004-09-09 20:17   ` David Dabbs
2004-09-09 20:41     ` Andreas Dilger
2004-09-10  9:11       ` Markus   Törnqvist
2004-09-10 10:37     ` Christian Mayrhuber
2004-09-09 23:03   ` Jamie Lokier
2004-09-10  1:37     ` David Dabbs
2004-09-10 11:47       ` Christian Mayrhuber
2004-09-10 11:06     ` Christian Mayrhuber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41409AF2.7010003@namesys.com \
    --to=reiser@namesys.com \
    --cc=cliff@lindows.com \
    --cc=david@dabbs.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=reiserfs-list@namesys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).