[Lustre-devel] Sub Tree lock ideas.

Nikita Danilov Nikita.Danilov at Sun.COM
Wed Feb 4 06:39:06 PST 2009


Oleg Drokin writes:
 > Hello!
 > 
 > 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.
 > 
 > Yes.
 > 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.

 > 
 > Bye,
 >      Oleg

Nikita.



More information about the lustre-devel mailing list