From f626b9c9e29a2cd79c4529396119cf3f482715c5 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 31 Mar 2008 21:20:02 -0700 Subject: [PATCH] kclient: lease messages increment mds session seq --- src/kernel/mds_client.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/kernel/mds_client.c b/src/kernel/mds_client.c index e56dc25d56558..db130bc39dbab 100644 --- a/src/kernel/mds_client.c +++ b/src/kernel/mds_client.c @@ -1388,6 +1388,7 @@ void ceph_mdsc_handle_lease(struct ceph_mds_client *mdsc, struct ceph_msg *msg) { struct super_block *sb = mdsc->client->sb; struct inode *inode; + struct ceph_mds_session *session; struct ceph_inode_info *ci; struct dentry *parent, *dentry; int mds = le32_to_cpu(msg->hdr.src.name.num); @@ -1407,6 +1408,14 @@ void ceph_mdsc_handle_lease(struct ceph_mds_client *mdsc, struct ceph_msg *msg) dname.name = (void *)(h + 1); dname.len = msg->front.iov_len - sizeof(*h) - sizeof(__u32); + /* find session */ + session = __get_session(mdsc, mds); + if (!session) { + dout(10, "WTF, got lease but no session for mds%d\n", mds); + return; + } + session->s_cap_seq++; + /* lookup inode */ inot = ceph_ino_to_ino(ino); #if BITS_PER_LONG == 64 -- 2.39.5