From: Hans Reiser <reiser@namesys.com>
To: David Masover <ninja@slaphack.com>
Cc: Peter Foldiak <Peter.Foldiak@st-andrews.ac.uk>,
reiserfs-list@namesys.com, linux-kernel@vger.kernel.org
Subject: Re: file as a directory
Date: Tue, 14 Dec 2004 21:28:06 -0800 [thread overview]
Message-ID: <41BFCB66.3090809@namesys.com> (raw)
In-Reply-To: <41BFC1C5.1070302@slaphack.com>
David Masover wrote:
> Peter Foldiak wrote:
> | On Tue, 2004-12-14 at 17:24, Hans Reiser wrote:
> |
> |>Peter, I think you are right, though it might be useful to have the
> |>default be dirname/..../glued and to allow users to link
> |>dirname/..../filebody to
> |>dirname/..../something_else_if_they_want_it_to_not_be_glued, and to have
> |>dirname/..../filebody or whatever it is linked to be what they get if
> |>they read the directory as a file.
> |
> |
> | Yes. I assume you mean that dirname in itself should always be
> | interpreted as dirname/..../glued, which by default would be a linked to
> | dirname/..../filebody, the latter being the file content, right?
>
> I think he means the other way.
> cat foo
> is the same as
> cat foo/.../filebody
> where "filebody" is some sort of link to (maybe) foo/.../glued.
>
> Understand that you want to allow "normal" files which are not "glued"
> anything, but also "glued" files which are composed of sub-files.
>
> | Also, a pseudofile (e.g. dirname/..../structure ?) could be used to
> | specify how the files should be glued together. A simple question is,
> | for instance, what separators to use between the components, and what
> | ordering to use when putting the component objects together. (This
> | pseudofile could also determine more complicated ways of composing
> | objects.)
>
> If the filesystem does caching, I'd rather have a type of executable
> which, read normally, appears as a stream of its own standard output.
> You'd get the actual file as something like bar/.../source.
Interesting....
>
> This could be done with pipes and daemons, but it's not as easy to
> manage and seems impossible to do as efficiently (with built-in caching,
> etc.)
Explain the value of caching executable output more please.
>
> | The component objects themselves could be full objects, so they
> | themselves could have sub-components.
>
> Right.
>
> Also, there should be an inverse. For instance, a file-as-directory type
> object should have a "contents" object, usually a normal directory, but
> which could conceivably be any type of object, including a code-ish
> object which implements a filesystem. Accessing foo/ would be the same
> as accessing foo/.../contents, only because "..." (or whatever we use
> for meta-files) is outside the actual directory namespace,
> foo/.../contents/... refers to the metas of object "contents", which are
> different than the metas of object "foo".
Are you sure that having more than one "...." is needed? Hmmm,
interesting, must think about it.
>
> These two steps essentially create userspace "plugins", and do away with
> having to mount other kernel layers such as lufs (or whatever its
> current implementation is).
I don't follow this point above.
> It does have one important implication, though:
>
> It's important that "metas" or "..." or whatever we've decided on should
> _not_ be mutable by a "userspace" plugin that I have described, nor
> should any meta-files created by kernel plugins. There would be other
> security implications, of course -- user should still not be able to
> create files that are owned by other users and setuid. I'm not sure
> where such checks should go, but we want mortal users to be able to add
> whatever plugins they want, while super-users can feel safe using the
> metas interface to manipulate user files.
>
> I think the issues with directory-as-a-file were the same problems you
> get when you allow hardlinked directories -- that you'd eventually have
> to ditch reference counting for a garbage collector, which is hellishly
> impractical. I don't have a solution to that, other than dropping
> hardlinks entirely.
This issue is overblown. Other fields have solved this problem.
>
> Hmm. Why do we need hardlinks? I forget.
next prev parent reply other threads:[~2004-12-15 5:28 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-22 13:54 file as a directory Amit Gud
2004-11-22 14:37 ` Martin Waitz
2004-11-22 15:34 ` Zan Lynx
2004-11-22 17:18 ` Martin Waitz
2004-11-22 18:16 ` Jan Engelhardt
2004-11-22 14:38 ` Al Viro
2004-11-22 15:04 ` Helge Hafting
2004-11-22 17:15 ` Tomas Carnecky
2004-11-22 18:48 ` Hans Reiser
2004-11-24 9:16 ` Peter Foldiak
2004-11-24 14:05 ` Jan Engelhardt
2004-11-24 15:02 ` Paolo Ciarrocchi
2004-11-24 15:25 ` Peter Foldiak
2004-11-26 16:13 ` Hans Reiser
2004-11-24 16:11 ` Christian Mayrhuber
2004-11-25 10:50 ` Peter Foldiak
2004-11-26 18:19 ` Hans Reiser
2004-11-26 21:13 ` Christian Mayrhuber
2004-11-27 11:09 ` Peter Foldiak
2004-11-27 13:14 ` Christian Mayrhuber
2004-11-29 21:20 ` Horst von Brand
2004-11-29 22:59 ` Peter Foldiak
2004-11-29 23:35 ` Kevin Fox
2004-11-30 8:54 ` Peter Foldiak
2004-11-30 16:28 ` Kevin Fox
2004-11-30 16:42 ` Jan Engelhardt
2004-11-30 17:35 ` Jesse Pollard
2004-11-30 17:49 ` Jan Engelhardt
2004-11-30 18:26 ` Amit Gud
2004-11-30 18:39 ` Jan Engelhardt
2004-12-01 2:44 ` Scott Young
2004-12-03 9:58 ` Amit Gud
2004-11-30 14:51 ` Horst von Brand
2004-11-30 15:29 ` Peter Foldiak
2004-11-30 16:31 ` Horst von Brand
2004-11-30 17:03 ` Hans Reiser
2004-12-14 16:58 ` Peter Foldiak
2004-12-14 17:21 ` Jan Engelhardt
2004-12-14 18:11 ` Peter Foldiak
2004-12-14 18:16 ` Jan Engelhardt
2004-12-14 17:24 ` Hans Reiser
2004-12-14 21:27 ` Peter Foldiak
2004-12-15 4:47 ` David Masover
2004-12-15 5:28 ` Hans Reiser [this message]
2004-12-16 0:16 ` David Masover
2004-12-16 18:52 ` Hans Reiser
2004-12-17 15:58 ` David Masover
2004-12-17 16:52 ` Hans Reiser
2004-12-18 1:52 ` Horst von Brand
2004-12-20 17:21 ` Hans Reiser
2004-12-15 9:27 ` Peter Foldiak
2004-12-15 23:56 ` David Masover
2004-12-16 18:48 ` Hans Reiser
2004-12-16 19:01 ` Peter Foldiak
2004-12-17 18:09 ` Hans Reiser
2004-12-18 0:20 ` David Masover
2004-12-17 16:02 ` David Masover
2004-12-17 16:54 ` Hans Reiser
2004-12-15 5:19 ` Hans Reiser
2004-12-14 19:30 ` Horst von Brand
2004-12-15 4:52 ` David Masover
2004-12-15 5:31 ` Hans Reiser
2004-12-15 5:10 ` Hans Reiser
2004-12-15 13:28 ` Horst von Brand
2004-12-15 16:57 ` Hans Reiser
2004-12-15 19:11 ` Markus Törnqvist
2004-12-15 20:57 ` Hans Reiser
2004-11-30 17:03 ` Peter Foldiak
2004-11-30 17:50 ` Horst von Brand
2004-11-30 18:23 ` Dr. Giovanni A. Orlando
2004-11-29 23:11 ` Peter Foldiak
2004-11-30 16:04 ` Martin Waitz
2004-11-27 12:49 ` Markus Törnqvist
2004-11-29 15:41 ` Hans Reiser
2004-11-26 17:43 ` Hans Reiser
2004-11-27 11:50 ` Tomasz Torcz
2005-05-10 9:39 ` Peter Foldiak
2005-05-10 14:53 ` Hans Reiser
2005-05-10 15:32 ` Peter Foldiak
2005-05-10 16:30 ` Sean McGrath
2005-05-10 17:25 ` Hans Reiser
2005-05-10 17:39 ` Sean McGrath
2005-05-10 18:52 ` Hans Reiser
2005-05-10 19:39 ` Sean McGrath
2005-05-10 20:11 ` Hans Reiser
2005-05-16 12:32 ` Leo Comerford
2005-05-10 15:14 ` Valdis.Kletnieks
2005-05-10 15:38 ` Peter Foldiak
2005-05-10 17:20 ` Hans Reiser
2005-05-11 10:23 ` Helge Hafting
2004-11-23 6:20 ` Amit Gud
2004-11-24 10:32 ` Helge Hafting
2004-11-24 11:07 ` Amit Gud
2004-11-25 23:09 ` Pavel Machek
2004-11-28 18:53 ` Helge Hafting
2004-11-28 19:01 ` Pavel Machek
2004-11-22 17:59 ` Valdis.Kletnieks
2004-11-22 18:24 ` Jan Engelhardt
2004-11-22 18:52 ` Hans Reiser
2004-11-22 19:05 ` Jan Engelhardt
2004-11-23 9:46 ` Amit Gud
2004-11-23 14:00 ` Jan Engelhardt
2004-11-23 14:17 ` Amit Gud
2004-11-23 9:11 ` Dirk Steinberg
2004-11-23 9:37 ` Markus Törnqvist
2004-11-23 19:00 ` Hans Reiser
[not found] <fa.imi6gu8.1e7qkqc@ifi.uio.no>
[not found] ` <fa.hcr9rb0.k6egam@ifi.uio.no>
2004-11-26 4:11 ` Bodo Eggert
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=41BFCB66.3090809@namesys.com \
--to=reiser@namesys.com \
--cc=Peter.Foldiak@st-andrews.ac.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=ninja@slaphack.com \
--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