mirror of https://gitee.com/openkylin/linux.git
ceph: check return value for start_request in writepages
Since we pass the nofail arg, we should never get an error; BUG if we do. (And fix the function to not return an error if __map_request fails.) Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
parent
6b4a3b517a
commit
9d6fcb081a
|
@ -848,7 +848,8 @@ static int ceph_writepages_start(struct address_space *mapping,
|
|||
op->payload_len = cpu_to_le32(len);
|
||||
req->r_request->hdr.data_len = cpu_to_le32(len);
|
||||
|
||||
ceph_osdc_start_request(&fsc->client->osdc, req, true);
|
||||
rc = ceph_osdc_start_request(&fsc->client->osdc, req, true);
|
||||
BUG_ON(rc);
|
||||
req = NULL;
|
||||
|
||||
/* continue? */
|
||||
|
|
|
@ -1677,8 +1677,14 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc,
|
|||
*/
|
||||
if (req->r_sent == 0) {
|
||||
rc = __map_request(osdc, req);
|
||||
if (rc < 0)
|
||||
if (rc < 0) {
|
||||
if (nofail) {
|
||||
dout("osdc_start_request failed map, "
|
||||
" will retry %lld\n", req->r_tid);
|
||||
rc = 0;
|
||||
}
|
||||
goto out_unlock;
|
||||
}
|
||||
if (req->r_osd == NULL) {
|
||||
dout("send_request %p no up osds in pg\n", req);
|
||||
ceph_monc_request_next_osdmap(&osdc->client->monc);
|
||||
|
|
Loading…
Reference in New Issue