[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200607231527.23484.vernux@us.ibm.com>
Date: Sun, 23 Jul 2006 15:27:23 -0700
From: Vernon Mauery <vernux@...ibm.com>
To: "Horst H. von Brand" <vonbrand@....utfsm.cl>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: what is necessary for directory hard links
On Saturday 22 July 2006 19:19, you wrote:
> Bodo Eggert <7eggert@...tempel.de> wrote:
> > Horst H. von Brand <vonbrand@....utfsm.cl> wrote:
> > > Joshua Hudson <joshudson@...il.com> wrote:
> > >> This patch is the sum total of all that I had to change in the kernel
> > >> VFS layer to support hard links to directories
> > >
> > > Can't be done, as it creates the possibility of loops.
> >
> > Don't do that then?
>
> Stop /everything/ to make sure no concurrent activity creates a loop, while
> checking the current mkdir(2) doesn't create one?
This doesn't seem that big of an issue for people to be up in arms about. You
wouldn't have to stop /everything/, would you, just have an in kernel mutex
in vfs_mkdir. It's not the most commonly used system call in the book --
meaning serializing the checking/creating of new directories would not really
hamper your system /that/ much.
Personally, I don't think hard linked directories are necessary or even that
interesting, but they certainly aren't impossible to do. I suppose there
might be some specialty filesystem that might like to do hardlinked
directories and I don't think the vfs core should make it difficult.
--Vernon
> > > The "only files can
> > > be hardlinked" idea makes garbage collection (== deleting of
> > > unreachable objects) simple: Just check the number of references.
> > >
> > > Detecting unconnected subgraphs uses a /lot/ of memory; and much worse,
> > > you have to stop (almost) all filesystem activity while doing it.
> >
> > In order to disconnect a directory, you'd have to empty it first, and
> > after emptying a directory, it won't be part of a loop. Maybe emtying is
> > the problem ...
>
> What does "emptying a directory" mean if there might be loops?
>
> > This feature was implemented,
>
> Never in my memory of any Unix (and lookalike) system in real use (I've
> seen a few).
>
> > and I asume it was removed for a reason.
> > Can somebody remember?
>
> See my objections.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists