Commit 234af26ff123dfb2aa48772124721b1354c8e0a5
Committed by
Sage Weil
1 parent
6b0ae4097c
Exists in
master
and in
4 other branches
ceph: unlock on error in ceph_osdc_start_request()
There was a missing unlock on the error path if __map_request() failed. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Sage Weil <sage@newdream.net>
Showing 1 changed file with 3 additions and 1 deletions Side-by-side Diff
net/ceph/osd_client.c
... | ... | @@ -1672,7 +1672,7 @@ |
1672 | 1672 | if (req->r_sent == 0) { |
1673 | 1673 | rc = __map_request(osdc, req); |
1674 | 1674 | if (rc < 0) |
1675 | - return rc; | |
1675 | + goto out_unlock; | |
1676 | 1676 | if (req->r_osd == NULL) { |
1677 | 1677 | dout("send_request %p no up osds in pg\n", req); |
1678 | 1678 | ceph_monc_request_next_osdmap(&osdc->client->monc); |
... | ... | @@ -1689,6 +1689,8 @@ |
1689 | 1689 | } |
1690 | 1690 | } |
1691 | 1691 | } |
1692 | + | |
1693 | +out_unlock: | |
1692 | 1694 | mutex_unlock(&osdc->request_mutex); |
1693 | 1695 | up_read(&osdc->map_sem); |
1694 | 1696 | return rc; |