Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 May 2002 13:31:03 -0700
From:      Bakul Shah <bakul@bitblocks.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Scott Hess <scott@avantgo.com>, "Vladimir B. Grebenschikov" <vova@sw.ru>, fs@FreeBSD.ORG
Subject:   Re: Filesystem 
Message-ID:  <200205032031.QAA24496@repulse.cnchost.com>
In-Reply-To: Your message of "Fri, 03 May 2002 11:03:08 PDT." <3CD2D0DC.9B636A54@mindspring.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert writes:
> I believe this limit is common to all UNIX systems that use hard
> links to do ".." processing.  Technically, it should be possible
> to do this with affecting link count.  However, it's really easy
> to open a directory and determine if there ar substirectories by
> examining the link count on it, and to know how many there are by
> examining the link count on it.

Plan9 does ".." right.  The same can be done in Unix by
storing the rooted path in the kernel for a process'es
current working dir. and by following some path rewrite
rules:

    <prefix>/<component>/..          == <prefix>
    <prefix>/<component>/../<suffix> == <prefix>/<suffix>
    /../<suffix>                     == /<suffix>

You would also have to deal with middle directories being
renamed, filesystems being forcibly unmounted and so on.

Not storing the entire path for cwd may have been the right
decision for '70s but not since then....

> In any case, it's still an incredibly bad idea to have even a tenth
> of that man objects in a single directory, period.

IMHO it is a bad idea to not have evolved directories to use
a B-tree representation (at least when the number of entries
exceed some threshold.  Implement mechanisms and leave
policies to the users!

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205032031.QAA24496>