|
@@ -581,7 +581,7 @@ static void __kick_osd_requests(struct ceph_osd_client *osdc,
|
|
|
|
|
|
dout("__kick_osd_requests osd%d\n", osd->o_osd);
|
|
|
err = __reset_osd(osdc, osd);
|
|
|
- if (err == -EAGAIN)
|
|
|
+ if (err)
|
|
|
return;
|
|
|
|
|
|
list_for_each_entry(req, &osd->o_requests, r_osd_item) {
|
|
@@ -745,6 +745,7 @@ static int __reset_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd)
|
|
|
if (list_empty(&osd->o_requests) &&
|
|
|
list_empty(&osd->o_linger_requests)) {
|
|
|
__remove_osd(osdc, osd);
|
|
|
+ ret = -ENODEV;
|
|
|
} else if (memcmp(&osdc->osdmap->osd_addr[osd->o_osd],
|
|
|
&osd->o_con.peer_addr,
|
|
|
sizeof(osd->o_con.peer_addr)) == 0 &&
|