summaryrefslogtreecommitdiffstats
path: root/fs/ceph/osd_client.c
diff options
context:
space:
mode:
authorSage Weil2009-12-01 21:23:54 +0100
committerSage Weil2009-12-01 21:23:54 +0100
commit34b43a56b9b103a7a820032177131532d9dbdbe8 (patch)
tree526dc10d39f89589da61c3b9bd82ae35cd1ce385 /fs/ceph/osd_client.c
parentceph: remove useless IS_ERR checks (diff)
downloadkernel-qcow2-linux-34b43a56b9b103a7a820032177131532d9dbdbe8.tar.gz
kernel-qcow2-linux-34b43a56b9b103a7a820032177131532d9dbdbe8.tar.xz
kernel-qcow2-linux-34b43a56b9b103a7a820032177131532d9dbdbe8.zip
ceph: plug leak of request_mutex
Fix leak of osd client request_mutex on receiving dup ack. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/osd_client.c')
-rw-r--r--fs/ceph/osd_client.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/osd_client.c b/fs/ceph/osd_client.c
index 5d30d5959b97..d600073f1d3f 100644
--- a/fs/ceph/osd_client.c
+++ b/fs/ceph/osd_client.c
@@ -739,6 +739,7 @@ static void handle_reply(struct ceph_osd_client *osdc, struct ceph_msg *msg)
req->r_got_reply = 1;
} else if ((flags & CEPH_OSD_FLAG_ONDISK) == 0) {
dout("handle_reply tid %llu dup ack\n", tid);
+ mutex_unlock(&osdc->request_mutex);
goto done;
}