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

From: Miklos Szeredi
Date: Tue Mar 22 2011 - 15:43:33 EST


On Tue, 22 Mar 2011, Al Viro wrote:
> On Tue, Mar 22, 2011 at 07:58:17PM +0100, Miklos Szeredi wrote:
> > On Tue, 22 Mar 2011, Linus Torvalds wrote:
> > > On Tue, Mar 22, 2011 at 11:39 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > Locking analysis would be really nice; AFAICS, it violates locking order
> > > > when called from e.g. ->setattr()
> >
> > Locking order is always:
> >
> > -> overlayfs locks
> > -> upper fs locks
> > -> lower fs locks
> >
> > So it's really pretty simple and easy to validate.
>
> In which *order* on the upper fs?

In copy up it does:

-> lock parent on upper
-> lock child on upper

So a setattr with copy up would go like this:

-> lock child on overlayfs
-> lock parent on upper
->lock child on upper
-> lock child on upper

> > Protection is exactly as for userspace callers. AFAICT.
>
> Pardon? You traverse the chain of ancestors; fine, but who says it stays
> anywhere near being relevant as you go?

Not quite sure I understand.

There are no assumptions about locks in overlayfs keeping anything
relevant in upper/lower fs. Everything is re-checked and re-locked on
the upper layer before proceeding with the rename.

Thanks,
Miklos

--
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/