ceph: fix dentry lease release
When we embed a dentry lease release notification in a request, invalidate our lease so we don't think we still have it. Otherwise we can get all sorts of incorrect client behavior when multiple clients are interacting with the same part of the namespace. Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
8c696737aa
commit
1dadcce358
|
@ -2984,6 +2984,7 @@ int ceph_encode_dentry_release(void **p, struct dentry *dentry,
|
|||
memcpy(*p, dentry->d_name.name, dentry->d_name.len);
|
||||
*p += dentry->d_name.len;
|
||||
rel->dname_seq = cpu_to_le32(di->lease_seq);
|
||||
__ceph_mdsc_drop_dentry_lease(dentry);
|
||||
}
|
||||
spin_unlock(&dentry->d_lock);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue