diff options
author | Sage Weil <sage@newdream.net> | 2010-03-20 23:50:58 -0400 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-03-23 10:47:05 -0400 |
commit | d96d60498ff748c5a88c72ec5d1cc4ba9a583e7e (patch) | |
tree | d17c11fbfe5e7c7dbe6cec1729f22548a1e49dd2 /fs/ceph/mds_client.c | |
parent | 4736b009b880b7c19bea36327a71032a6dbee402 (diff) |
ceph: fix session check on mds reply
Fix a broken check that a reply came back from the same MDS we sent the
request to. I don't think a case that actually triggers this would ever
come up in practice, but it's clearly wrong and easy to fix.
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/mds_client.c')
-rw-r--r-- | fs/ceph/mds_client.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index ad0fbc3128d3..5268d404963c 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c | |||
@@ -1778,7 +1778,7 @@ static void handle_reply(struct ceph_mds_session *session, struct ceph_msg *msg) | |||
1778 | dout("handle_reply %p\n", req); | 1778 | dout("handle_reply %p\n", req); |
1779 | 1779 | ||
1780 | /* correct session? */ | 1780 | /* correct session? */ |
1781 | if (!req->r_session && req->r_session != session) { | 1781 | if (req->r_session != session) { |
1782 | pr_err("mdsc_handle_reply got %llu on session mds%d" | 1782 | pr_err("mdsc_handle_reply got %llu on session mds%d" |
1783 | " not mds%d\n", tid, session->s_mds, | 1783 | " not mds%d\n", tid, session->s_mds, |
1784 | req->r_session ? req->r_session->s_mds : -1); | 1784 | req->r_session ? req->r_session->s_mds : -1); |