On 4 Sep 2012, at 16:38, Marc Dionne wrote:
> 
> That's very useful.  It looks like dput gets called with the global
> lock held, and it can potentially call back into AFS code through
> afs_dentry_iput.
> Might have to look at the afs_syscall_pioctl in more detail (it's
> heavily ifdef'ed and hard to follow), but at first glance the call to
> dput() there should probably be done after dropping the lock, so
> surround it with a AFS_GUNLOCK() and AFS_GLOCK() pair.


We definitely shouldn't be holding the GLOCK when we call back into the kernel, 
so I think your analysis is correct. As far as I can tell, there should be no 
harm in dropping and regaining the GLOCK around the dput - we don't seem to be 
holding onto anything that could be affected by other threads whilst the lock 
is dropped.

And yeah, that function is truly horrific.

Cheers,

Simon_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to