mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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>
This commit is contained in:
parent
6b0ae4097c
commit
234af26ff1
@ -1672,7 +1672,7 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc,
|
|||||||
if (req->r_sent == 0) {
|
if (req->r_sent == 0) {
|
||||||
rc = __map_request(osdc, req);
|
rc = __map_request(osdc, req);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
return rc;
|
goto out_unlock;
|
||||||
if (req->r_osd == NULL) {
|
if (req->r_osd == NULL) {
|
||||||
dout("send_request %p no up osds in pg\n", req);
|
dout("send_request %p no up osds in pg\n", req);
|
||||||
ceph_monc_request_next_osdmap(&osdc->client->monc);
|
ceph_monc_request_next_osdmap(&osdc->client->monc);
|
||||||
@ -1689,6 +1689,8 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out_unlock:
|
||||||
mutex_unlock(&osdc->request_mutex);
|
mutex_unlock(&osdc->request_mutex);
|
||||||
up_read(&osdc->map_sem);
|
up_read(&osdc->map_sem);
|
||||||
return rc;
|
return rc;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user