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:08:34 -0600 [thread overview]
Message-ID: <1117573714.13252.69.camel@localhost> (raw)
In-Reply-To: <1117573285.13252.63.camel@localhost>
[-- Attachment #1: Type: text/plain, Size: 1987 bytes --]
On Tue, 2005-05-31 at 15:01 -0600, Jonathan Briggs wrote:
> 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.
I forgot to address Nikita's point about reclaiming lost cycles. In
this case, let me create Object 4 for /tmp
Object 4:
name: /tmp
query: name begins with /tmp/
query result cache: A->1
Now, if we delete Object 4, are Objects 1,2,3 lost? I would say not
because they still have names. When the shell calls chdir("/tmp") a new
query object (directory) must be created dynamically, and Objects
1001,1002,1003 still have their names that start with /tmp and so they
immediately appear again. Their names still start with /, so the top
level query will still find them and /tmp as well.
Therefore, the cycle is never detached and lost.
--
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:08 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
2005-05-31 21:08 ` Jonathan Briggs [this message]
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=1117573714.13252.69.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.