diff options
author | Sage Weil <sage@newdream.net> | 2010-03-20 20:50:58 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-03-23 07:47:05 -0700 |
commit | d96d60498ff748c5a88c72ec5d1cc4ba9a583e7e (patch) | |
tree | d17c11fbfe5e7c7dbe6cec1729f22548a1e49dd2 /fs/ceph/mds_client.c | |
parent | 4736b009b880b7c19bea36327a71032a6dbee402 (diff) | |
download | lwn-d96d60498ff748c5a88c72ec5d1cc4ba9a583e7e.tar.gz lwn-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/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) 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); |