diff options
author | Sage Weil <sage@newdream.net> | 2010-06-09 19:47:10 -0400 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-06-10 16:30:07 -0400 |
commit | 3d7ded4d81d807c2f75f310a8d74a5d72be13a1b (patch) | |
tree | c633b938f72dcd39c84f2430c7d4025331ab4369 /fs/ceph/mds_client.h | |
parent | 9dbd412f56c453f15014396c6024b895c1485ccb (diff) |
ceph: release cap on import if we don't have the inode
If we get an IMPORT that give us a cap, but we don't have the inode, queue
a release (and try to send it immediately) so that the MDS doesn't get
stuck waiting for us.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/mds_client.h')
-rw-r--r-- | fs/ceph/mds_client.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h index d9936c4f1212..e43752b52635 100644 --- a/fs/ceph/mds_client.h +++ b/fs/ceph/mds_client.h | |||
@@ -322,6 +322,9 @@ static inline void ceph_mdsc_put_request(struct ceph_mds_request *req) | |||
322 | kref_put(&req->r_kref, ceph_mdsc_release_request); | 322 | kref_put(&req->r_kref, ceph_mdsc_release_request); |
323 | } | 323 | } |
324 | 324 | ||
325 | extern void ceph_send_cap_releases(struct ceph_mds_client *mdsc, | ||
326 | struct ceph_mds_session *session); | ||
327 | |||
325 | extern void ceph_mdsc_pre_umount(struct ceph_mds_client *mdsc); | 328 | extern void ceph_mdsc_pre_umount(struct ceph_mds_client *mdsc); |
326 | 329 | ||
327 | extern char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, | 330 | extern char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, |