Re: Question about ext2

Kai Henningsen (kaih@khms.westfalen.de)
14 Jul 2001 13:37:00 +0200


viro@math.psu.edu (Alexander Viro) wrote on 14.07.01 in <Pine.GSO.4.21.0107140151420.19749-100000@weyl.math.psu.edu>:

> On 13 Jul 2001, Kai Henningsen wrote:
>
> > viro@math.psu.edu (Alexander Viro) wrote on 13.07.01 in
> > <Pine.GSO.4.21.0107130623510.17323-100000@weyl.math.psu.edu>:
> >
> > > The only really obscure part is dropping an extra reference if victim is
> > > a directory - then we know that we are cannibalizing the last external
> > > link to it and the only link that remains is victim's ".". We don't want
> > > it to prevent victim's removal, so we drive i_nlink of victim to zero.
> >
> > Does this stuff work right with those cases which do linkcount=1 either
> > because the fs doesn't have a link count, or because the real link count
> > has grown too large?
>
> It doesn't. If fs doesn't have link count you are very likely to need
> other ways to deal with rename() anyway (e.g. you are pretty likely to
> have part of metadata stored in directory entry). If you are playing
> with "set i_nlink to 1 if it's too large" (which works only for directories,
> BTW) - change according to your encoding scheme for link count.

You are, of course, aware that ext2 (or at least current patches to ext2,
I'm not sure if this particular thing has gone in yet) does use that
scheme.

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