From: Jonathan Briggs <jbriggs@esoft.com>
To: Hans Reiser <reiser@namesys.com>
Cc: Valdis.Kletnieks@vt.edu, Nikita Danilov <nikita@clusterfs.com>,
"Alexander G. M. Smith" <agmsmith@rogers.com>,
leocomerford@gmail.com, reiserfs-list@namesys.com,
ninja@slaphack.com, Nate Diller <ndiller@namesys.com>
Subject: Re: File as a directory - VFS Changes
Date: Tue, 31 May 2005 15:01:25 -0600 [thread overview]
Message-ID: <1117573285.13252.63.camel@localhost> (raw)
In-Reply-To: <429CAC86.3080308@namesys.com>
[-- Attachment #1: Type: text/plain, Size: 3136 bytes --]
I should create an example.
Wherever I used True Name previously, use OID instead. True Name was
simply another term for a unique object identifier.
Three files with OIDs of 1001, 1002, and 1003.
Object 1001:
name: /tmp/A/file1
name: /tmp/A/B/file1
name: /tmp/A/B/C/file1
Object 1002:
name: /tmp/A/file2
Object 1003:
name: /tmp/A/B/file3
Three query objects (directories) with OIDs of 1, 2, and 3.
Object 1:
name: /tmp/A
name: /tmp/A/B/C/A
query: name begins with /tmp/A/
query result cache: B->2, file1->1001, file2->1002
Object 2:
name: /tmp/A/B
query: name begins with /tmp/A/B/
query result cache: C->3, file1->1001, file3->1003
Object 3:
name: /tmp/A/B/C
query: name begins with /tmp/A/B/C/
query result cache: A->1, file1->1001
Now there is a A -> B -> C -> A directory loop. But removing
name: /tmp/A/B/C/A from Object 1 fixes the loop. Deleting Object 1 also
fixes the loop. Deleting any of Object 1, 2 or 3 does not affect any
other object, because in this scheme, directory objects do not need to
actually exist: they are just queries that return objects with certain
names.
One problem I already see with it is that there is no way to enforce the
Unix "x" permission without real directory traversal. But I never liked
that anyway. :)
Are there other problems with it? Did I explain it clearly?
On Tue, 2005-05-31 at 11:27 -0700, Hans Reiser wrote:
> Well,. if you allow multiple true names, then you start to resemble
> something I suggested a few years ago, in which I outlined a taxonomy of
> links, and suggested that some links would count towards the reference
> count and some would not.
>
> Of course, that does nothing for the cycle problem......
>
> How are cycles handled for symlinks currently?
>
> Hans
>
> Jonathan Briggs wrote:
>
> >Either that isn't allowed, or it immediately vanishes from all
> >directories.
> >
> >If deleting by OID isn't allowed, then every name property must be
> >removed in order to delete the file.
> >
> >Personally, I would allow deleting the OID. It would be a convenient
> >way to be sure every instance of a file was deleted.
> >
> >On Tue, 2005-05-31 at 09:59 -0700, Hans Reiser wrote:
> >
> >
> >>What happens when you unlink the True Name?
> >>
> >>Hans
> >>
> >>Jonathan Briggs wrote:
> >>
> >>
> >>
> >>>You can avoid cycles by redefining the problem.
> >>>
> >>>Every file or "data object" has one single True Name which is their
> >>>inode or OID. Each data object then has one or more "names" as
> >>>properties. Names are either single strings with slash separators for
> >>>directories, or each directory element is a unique object in an object
> >>>list. Directories then become queries that return the set of objects
> >>>holding that directory name. The query results are of course cached and
> >>>updated whenever a name property changes.
> >>>
> >>>Now there are no cycles, although a naive Unix "find" program could get
> >>>stuck in a loop.
> >>>
> >>>
> >>>
> >>>
>
--
Jonathan Briggs <jbriggs@esoft.com>
eSoft, Inc.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-05-31 21:01 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-28 0:46 File as a directory - Ordered Relations Alexander G. M. Smith
2005-05-28 4:56 ` David Masover
2005-05-28 19:42 ` Valdis.Kletnieks
2005-05-29 17:58 ` File as a directory - VFS Changes Alexander G. M. Smith
2005-05-30 8:25 ` Hans Reiser
2005-05-30 11:00 ` Nikita Danilov
2005-05-31 0:20 ` Alexander G. M. Smith
2005-05-31 9:34 ` Nikita Danilov
2005-05-31 15:04 ` Hans Reiser
2005-05-31 16:00 ` Nikita Danilov
2005-05-31 16:30 ` Valdis.Kletnieks
2005-05-31 16:55 ` Jonathan Briggs
2005-05-31 16:59 ` Hans Reiser
2005-05-31 17:13 ` Jonathan Briggs
2005-05-31 18:27 ` Hans Reiser
2005-05-31 21:01 ` Jonathan Briggs [this message]
2005-05-31 21:08 ` Jonathan Briggs
2005-05-31 22:36 ` Nikita Danilov
2005-05-31 23:01 ` Jonathan Briggs
2005-06-01 10:39 ` Nikita Danilov
2005-06-01 10:43 ` Nikita Danilov
2005-06-01 14:06 ` Jonathan Briggs
2005-06-01 14:42 ` Nikita Danilov
2005-06-01 15:40 ` Jonathan Briggs
2005-06-01 17:27 ` Nikita Danilov
2005-06-01 19:03 ` Jonathan Briggs
2005-06-02 10:38 ` Nikita Danilov
2005-06-02 18:35 ` Jonathan Briggs
2005-06-02 23:54 ` Nikita Danilov
2005-06-03 17:57 ` Hans Reiser
2005-06-04 19:45 ` Nikita Danilov
2005-06-04 20:13 ` David Masover
2005-06-07 5:08 ` Hans Reiser
2005-06-03 6:44 ` Faraz Ahmed
2005-05-31 18:23 ` Nikita Danilov
2005-05-31 18:32 ` Hans Reiser
2005-06-02 1:27 ` Alexander G. M. Smith
2005-06-02 7:46 ` Hans Reiser
2005-06-02 9:11 ` Nikita Danilov
2005-06-02 17:23 ` Hubert Chan
2005-06-01 2:11 ` Alexander G. M. Smith
2005-06-01 10:58 ` Nikita Danilov
2005-06-02 1:58 ` Alexander G. M. Smith
2005-06-02 10:03 ` Nikita Danilov
2005-06-03 3:35 ` Performance Impacts of Graph Cycles due to Multiple Parents Alexander G. M. Smith
2005-06-03 11:15 ` Nikita Danilov
2005-06-07 2:04 ` Alexander G. M. Smith
2005-05-30 8:19 ` File as a directory - Ordered Relations Hans Reiser
2005-05-31 16:46 ` Jonathan Briggs
2005-05-31 17:07 ` Hans Reiser
-- strict thread matches above, loose matches on Subject: below --
2005-06-02 14:46 File as a directory - VFS Changes Faraz Ahmed
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=1117573285.13252.63.camel@localhost \
--to=jbriggs@esoft.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=agmsmith@rogers.com \
--cc=leocomerford@gmail.com \
--cc=ndiller@namesys.com \
--cc=nikita@clusterfs.com \
--cc=ninja@slaphack.com \
--cc=reiser@namesys.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.