linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David Dabbs" <david@dabbs.net>
To: "'Jamie Lokier'" <jamie@shareable.org>,
	"'Christian Mayrhuber'" <christian.mayrhuber@gmx.net>
Cc: <reiserfs-list@namesys.com>, <linux-fsdevel@vger.kernel.org>
Subject: RE: [RFC] Pathname Semantics with //
Date: Thu, 9 Sep 2004 20:37:27 -0500	[thread overview]
Message-ID: <20040910013246.BF49B15ED9@mail03.powweb.com> (raw)
In-Reply-To: <20040909230333.GB8464@mail.shareable.org>


> From: Jamie Lokier [mailto:jamie@shareable.org]
> 
> Christian Mayrhuber wrote:
> > //http://somehost:port/foo/bla
> 
> While we're here, I'll point out that http://somehost/foo/bla and
> http://somehost/foo/bla/ are valid, distinct URLs.
> 
>... snip
> 
> Food for thought.
> 
> -- Jamie

While I think there are bigger fish to fry before tackling URLish stuff
beyond filesystem access, I'll dive in.

Handwaving over changes to create() and many other apis that enable this,
what happens when you type the following commands? 

  ln -s //http://dabbs.net/foo/ MyPage
  cat MyURL

The first command works just fine today sans /any/ changes. Cat of course
fails (today) because it calls open("MyURL") which will follow the link
provided O_NOFOLLOW was not passed. After our magic mods, VFS will parse the
// escape, see that it is NOT file:// and then what? When we were talking
strictly about filesystem access this wasn't an issue.

We certainly don't want the kernel in the business of being a protocol
proxy, so any non-file:// pathnames could simply return EFAULT or ENOTDIR,
or ELNKURL, which indicates that the target is a URL. Apps that want to do
something /useful/ with the target resource (i.e. desktops) will have
http/ftp/etc libraries. They are free to stat() the file, get the linked-to
URL and use whatever protocol client lib they wish to access the URL. 

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


David



  reply	other threads:[~2004-09-10  1:32 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-09 10:41 [RFC] Pathname Semantics with // 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 [this message]
2004-09-10  9:53       ` [SPAM] " Jamie Lokier
2004-09-10 17:11         ` David Dabbs
2004-09-10 11:47       ` Christian Mayrhuber
2004-09-10 11:06     ` Christian Mayrhuber
  -- strict thread matches above, loose matches on Subject: below --
2004-09-10 17:49 David Dabbs
2004-09-09 18:03 ` Hans Reiser

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=20040910013246.BF49B15ED9@mail03.powweb.com \
    --to=david@dabbs.net \
    --cc=christian.mayrhuber@gmx.net \
    --cc=jamie@shareable.org \
    --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).