On Wed, Jul 03, 2013 at 04:25:32PM -0400, Waiman Long wrote: > There is no change in logic and everything should just work. > - spin_lock(&file->f_path.dentry->d_lock); > + d_lock(file->f_path.dentry); > if (!d_unhashed(file->f_path.dentry)) > clnt = RPC_I(inode)->private; > if (clnt != NULL && atomic_inc_not_zero(&clnt->cl_count)) { > - spin_unlock(&file->f_path.dentry->d_lock); > + d_unlock(file->f_path.dentry); Could somebody explain WTF is being protected here? It's not ->private - that gets set (and, more importantly, cleared) without ->d_lock in sight. Trond, that seems to be your code from about three years ago (introduced in "SUNRPC: Fix a race in rpc_info_open"). What's going on there? -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html