Re: what is necessary for directory hard links

From: Nikita Danilov
Date: Mon Jul 24 2006 - 02:47:56 EST


Joshua Hudson writes:
> On 7/22/06, Bodo Eggert <7eggert@xxxxxxxxxxxx> wrote:
> > Horst H. von Brand <vonbrand@xxxxxxxxxxxx> wrote:
> >
> > > Joshua Hudson <joshudson@xxxxxxxxx> 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?
> Exactly.
>
> > > Detecting unconnected subgraphs uses a /lot/ of memory; and much worse, you
> > > have to stop (almost) all filesystem activity while doing it.
> I know.
>
> I just decided the price is worth it.
>
> In my filesystem, any attempt to create a loop of hard links
> is detected and cancelled.

Can you elaborate a bit on this exciting mechanism? Obviously an ability
to efficiently detect loops would be a break-through in a
reference-counted garbage collection, somehow missed for last 40
years. :-)

> Unlinking a directory requires it
> to be empty if the last link is being removed. "." and ".."
> links are counted separately from real links, so that is easy.

Nikita.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/