[Lustre-devel] Sub Tree lock ideas.
Nikita.Danilov at Sun.COM
Wed Feb 4 06:39:06 PST 2009
Oleg Drokin writes:
> On Feb 3, 2009, at 2:12 PM, Nikita Danilov wrote:
> >> When client B looks up /a during its path traversal, it will get a
> >> lock cookie
> >> of the STL lock and will start presenting it with further lookups.
> >> If /a/b/c became a working dir of process B before STL on /a was
> >> granted, then
> >> /a/b/c has a normal lock for client B and STL does not cover that
> >> subtree.
> > Yes, this is the case I meant. So we have to track (and recover)
> > current
> > directories for all client processes.
> We do this with locks.
Hm.. I don't think we currently keep locks on the working directories.
> If lock is invalid, we are forced to back-traverse the path until we
> meet any client-visible lock or rot of the filesystem.
I just thought about another interesting use case.
Imagine client C0 holding a lock on /a/b/f, and C1 holding a STL lock on
/D. Now client C2 does mv /a /D. C2 crosses STL boundary, gets notified
about STL, gets the cookie, etc. But now C1 is having a lock on /D/a/b/f
--- under an STL.
More information about the lustre-devel