summaryrefslogtreecommitdiffstats
path: root/fs/ceph/caps.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-06-10 01:52:04 +0200
committerSage Weil <sage@newdream.net>2010-06-10 22:30:25 +0200
commit2b2300d62ea413bec631d5b880effa2cc5363acb (patch)
tree50707a1b8a547d781dc23fd830c23d580671c8a8 /fs/ceph/caps.c
parentceph: release cap on import if we don't have the inode (diff)
downloadlinux-2b2300d62ea413bec631d5b880effa2cc5363acb.tar.xz
linux-2b2300d62ea413bec631d5b880effa2cc5363acb.zip
ceph: try to send partial cap release on cap message on missing inode
If we have enough memory to allocate a new cap release message, do so, so that we can send a partial release message immediately. This keeps us from making the MDS wait when the cap release it needs is in a partially full release message. If we fail because of ENOMEM, oh well, they'll just have to wait a bit longer. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/caps.c')
-rw-r--r--fs/ceph/caps.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index 7c692e746237..619b61655ee5 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -2708,6 +2708,7 @@ void ceph_handle_caps(struct ceph_mds_session *session,
* along for the mds (who clearly thinks we still have this
* cap).
*/
+ ceph_add_cap_releases(mdsc, session, -1);
ceph_send_cap_releases(mdsc, session);
goto done;
}