diff options
author | Sage Weil <sage@newdream.net> | 2010-06-10 01:52:04 +0200 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-06-10 22:30:25 +0200 |
commit | 2b2300d62ea413bec631d5b880effa2cc5363acb (patch) | |
tree | 50707a1b8a547d781dc23fd830c23d580671c8a8 /fs/ceph/mds_client.h | |
parent | ceph: release cap on import if we don't have the inode (diff) | |
download | linux-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/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 e43752b52635..b292fa42a66d 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) kref_put(&req->r_kref, ceph_mdsc_release_request); } +extern int ceph_add_cap_releases(struct ceph_mds_client *mdsc, + struct ceph_mds_session *session, + int extra); extern void ceph_send_cap_releases(struct ceph_mds_client *mdsc, struct ceph_mds_session *session); |