Hello, On Thu, Dec 24, 2009 at 05:52:48PM +0800, Da Zheng wrote: > Sergiu Ivanov wrote: > > > On Wed, Dec 23, 2009 at 08:52:33AM +0800, Da Zheng wrote: > >> netfs_attempt_lookup locks this node and the node is unlocked by > >> libnetfs, right? I forget a lot:-) So why can the second lookup not > >> wait until the first one finishes? > > > > I've tried to remove the mutex unlocking code and it seems to work. > > So, you are right :-) > You mean there isn't deadlock at all?
Yeah, it looks like that. > > I wonder whether not locking .MASTER is still relevant. On the one > > hand, it would stress its conceptual authenticity; on the other hand, > > it would require additional code to achieve the same functionality. > > If the code can work without unlocking .MASTER as you said above, > that means libnetfs unlocks it, then we should lock .MASTER before > netfs_attempt_lookup returns. Ah, true. I have forgotten that minor detail :-( So I'll remove the code for locking .MASTER. Regards, Sergiu