aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Farnum <gregf@hq.newdream.net>2010-06-30 15:44:34 -0400
committerSage Weil <sage@newdream.net>2010-08-01 23:11:41 -0400
commit2bc50259fa0aa1868f8b2ba1d374406cb3c57f72 (patch)
tree0c8d510478866b4fdeafeb7953395226f0b8fb25
parent154f42c2c3c3b66a7a63dad5648e8a9860a32af9 (diff)
ceph: add ceph_get_cap_for_mds function.
Signed-off-by: Greg Farnum <gregf@hq.newdream.net> Signed-off-by: Sage Weil <sage@newdream.net>
-rw-r--r--fs/ceph/caps.c10
-rw-r--r--fs/ceph/super.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index 52befa65fbf7..e3b848d7698d 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -327,6 +327,16 @@ static struct ceph_cap *__get_cap_for_mds(struct ceph_inode_info *ci, int mds)
327 return NULL; 327 return NULL;
328} 328}
329 329
330struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci, int mds)
331{
332 struct ceph_cap *cap;
333
334 spin_lock(&ci->vfs_inode.i_lock);
335 cap = __get_cap_for_mds(ci, mds);
336 spin_unlock(&ci->vfs_inode.i_lock);
337 return cap;
338}
339
330/* 340/*
331 * Return id of any MDS with a cap, preferably FILE_WR|BUFFER|EXCL, else -1. 341 * Return id of any MDS with a cap, preferably FILE_WR|BUFFER|EXCL, else -1.
332 */ 342 */
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 44d10cb0aeca..8ceb62380d3f 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -816,6 +816,8 @@ extern int ceph_write_inode(struct inode *inode, struct writeback_control *wbc);
816extern int ceph_fsync(struct file *file, int datasync); 816extern int ceph_fsync(struct file *file, int datasync);
817extern void ceph_kick_flushing_caps(struct ceph_mds_client *mdsc, 817extern void ceph_kick_flushing_caps(struct ceph_mds_client *mdsc,
818 struct ceph_mds_session *session); 818 struct ceph_mds_session *session);
819extern struct ceph_cap *ceph_get_cap_for_mds(struct ceph_inode_info *ci,
820 int mds);
819extern int ceph_get_cap_mds(struct inode *inode); 821extern int ceph_get_cap_mds(struct inode *inode);
820extern void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps); 822extern void ceph_get_cap_refs(struct ceph_inode_info *ci, int caps);
821extern void ceph_put_cap_refs(struct ceph_inode_info *ci, int had); 823extern void ceph_put_cap_refs(struct ceph_inode_info *ci, int had);