summaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-03-21 04:50:58 +0100
committerSage Weil <sage@newdream.net>2010-03-23 15:47:05 +0100
commitd96d60498ff748c5a88c72ec5d1cc4ba9a583e7e (patch)
treed17c11fbfe5e7c7dbe6cec1729f22548a1e49dd2 /fs/ceph
parentceph: handle kmalloc() failure (diff)
downloadlinux-d96d60498ff748c5a88c72ec5d1cc4ba9a583e7e.tar.xz
linux-d96d60498ff748c5a88c72ec5d1cc4ba9a583e7e.zip
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')
-rw-r--r--fs/ceph/mds_client.c2
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)
dout("handle_reply %p\n", req);
/* correct session? */
- if (!req->r_session && req->r_session != session) {
+ if (req->r_session != session) {
pr_err("mdsc_handle_reply got %llu on session mds%d"
" not mds%d\n", tid, session->s_mds,
req->r_session ? req->r_session->s_mds : -1);