Re: fsync on large files

Alexander Viro (viro@math.psu.edu)
Thu, 18 Feb 1999 11:59:35 -0500 (EST)


On Thu, 18 Feb 1999, Raul Miller wrote:

> Alexander Viro <viro@math.psu.edu> wrote:
> > mkdir a
> > mkdir b
> > mkdir a/c
> > ln a/c b/c
> > mkdir a/c/d
> > mv b a/c/d
> >
> > If you have a way to deal with that... BTW, I strongly suspect
> > that any solution involving scanning potential ancestors is *not* good -
> > you can construct very unpleasant DoS that way.
>
> You might be able to get away with having a list of parents structure
> on multiply linked directories, which would have to be mirrored in
> dcache.

And backtracing all possible ways? And that means sucking *all* parents
(and their parents, etc.) into dcache on a lookup. I.e. doing lookups in
arbitrary (worse yet, unknown when we start) number of directories. We
need to hold semaphores on lookup. Could you spell "priority inversions
and deadlocks"?

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