Re: [PATCH 0/6 v7] overlay filesystem - request for inclusion

From: Al Viro
Date: Tue Mar 22 2011 - 16:11:09 EST


On Tue, Mar 22, 2011 at 09:06:38PM +0100, Miklos Szeredi wrote:
> On Tue, 22 Mar 2011, Al Viro wrote:
> > Proceeding with rename is not interesting; proceeding with copyup is.
> >
> > Who said that by the time we get to copy_up_locked you will still have
> > dentry (and upper) match lowerpath? Or that ->d_parent on overlay and
> > on upper will change in sync, for that matter - there are two d_move()
> > calls involved...
>
> If rename is involved, than rename itself already did the copy up.
> And that's checked before proceeding with the actual copy up. If
> there was no rename, then that guarantees that things are in sync, at
> least for the duration of the copy up.

What do you mean, before? It's not atomic... What happens if e.g.
you get

A: decided to do copy_up_locked
blocked on i_mutex

B: did copy_up
did rename(), complete with d_move()
did unlink() in new place

A: got CPU back, got i_mutex
proceeded to copy lower into new location
set dentry to very odd (upper,lower) pair
--
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/