Re: what is necessary for directory hard links

From: Horst H. von Brand
Date: Sat Jul 22 2006 - 22:30:24 EST

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?

Stop /everything/ to make sure no concurrent activity creates a loop, while
checking the current mkdir(2) doesn't create one?

> > 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.
Dr. Horst H. von Brand User #22616
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at