All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: John Gilmore <jgilmore@glycou.com>
Cc: reiserfs-list@namesys.com
Subject: Re: Our introduction to Reiser-list
Date: Thu, 27 Oct 2005 01:44:19 -0700	[thread overview]
Message-ID: <43609363.6010609@namesys.com> (raw)
In-Reply-To: <200510261702.06844.jgilmore@glycou.com>

John Gilmore wrote:

>On Wednesday 26 October 2005 22:40, Nate Diller wrote:
>  
>
>>File-as-Directory
>>  The issue with file-as-directory (FaD) is that it removes the Acyclic
>>property of the namespace graph.  This is because anything which contains
>>file data can be hard-linked, even if that item is also a directory.  It
>>would be unreasonable to discard hard links entirely, they are quite useful
>>and would be much more useful, in fact, with FaD enabled.  So the new
>>namespace would be a directed graph, with cycles. Since unix operating
>>systems are responsible for deleting unused data in file systems (garbage
>>collection), any algorithm used for that purpose has to satisfy strict
>>requirements, for CPU and memory use, but more importantly for reliability.
>> The algorithm must not fail the deletion unless the system is OOM, and it
>>must always free the file's resources.  Reference counting has always been
>>used for this task. It's been awhile since I took graph theory, and I got a
>>C in it anyway, but the algorithms I have seen for determining graph
>>connectivity end up traversing to every node in the graph in the worst
>>case.  This means that the file system would potentially have to read in
>>the directory data for every link to every file in the system, for a single
>>deletion operation.
>>    
>>
>
>If the issue is really the matter of removing the acyclic property, wouldn't 
>that be solved by requiring that the file contains no non-dynamically 
>generated subdirectories?
>
More precisely, that a file with two hard links contains no
non-dynamically generated subdirectories.    Hmmm.  Yes, that works I
think.... 

> That way, the graph is still acyclic, making 
>reference counting work again.
>
>I had understood that a big part of the issue with file-as-directory was the 
>same as the issue with hard links to directories. Which I thought is that if 
>you move one directory into another, you can lose the connection to the root 
>of the filesystem -- I.E. ../../.. etc is no longer guaranteed to get you 
>to / -- And of course this also means that there is no way to get from / to 
>your freshly moved files, and you've just lost a chunk of disk space to 
>complete inaccessibility. fsck would have to be made smarter specifically to 
>be able to figure that one out, too.
>
>Forbiding subdirectories in file-as-directory solves that problem too, because 
>a normal file cannot be moved into anothers' file-as-directory. You could 
>make it lose its meta-data, I suppose, but that's potentially lossy, which mv 
>isn't allowed to be.
>
>Actually, when I had first read about file-as-directory, I had assumed that 
>the content was either dynamically generated from the on-disk metadata (like 
>uid, gid, etc) or stored as a "sideband" type stream in the file itself, like 
>some of the MAC OS file systems (and others) do, or generated via a plugin 
>connecting to user-space, for ID3 tags on mp3 files and other information 
>which can easily be obtained from the file itself.
>
>
>
>  
>


  parent reply	other threads:[~2005-10-27  8:44 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-25 22:58 Our introduction to Reiser-list Peter van Hardenberg
2005-10-25 23:08 ` Hans Reiser
2005-10-26  0:04   ` Peter van Hardenberg
2005-10-26  2:42     ` Hubert Chan
2005-10-26 12:44       ` Peter Foldiak
2005-10-26 16:10         ` Peter van Hardenberg
2005-10-26 16:43           ` Chester R. Hosey
2005-10-26 17:12             ` Hans Reiser
2005-10-26 20:43             ` David Masover
2005-10-26 22:40             ` Nate Diller
2005-10-26 17:02               ` John Gilmore
2005-10-27  0:55                 ` Hubert Chan
2005-10-27  6:49                 ` Peter van Hardenberg
2005-10-27 11:17                   ` David Masover
2005-10-27 19:20                     ` Peter van Hardenberg
2005-10-27 20:44                       ` Jonathan Briggs
2005-10-27  8:44                 ` Hans Reiser [this message]
2005-10-27 12:05                 ` Alexander G. M. Smith
2005-10-27 12:41                   ` John Gilmore
2005-10-28 12:29                     ` Alexander G. M. Smith
2005-10-27 16:40                   ` Hans Reiser
2005-10-26 21:04           ` Nate Diller
2005-10-26 21:09             ` Hans Reiser
2005-10-26 21:00 ` Lares Moreau

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=43609363.6010609@namesys.com \
    --to=reiser@namesys.com \
    --cc=jgilmore@glycou.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.