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
next prev parent 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).