libceph: reformat __reset_osd()
Reformat __reset_osd() into three distinct blocks of code handling the three return cases. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
7d7c1f6136
commit
c3acb18196
|
@ -747,31 +747,35 @@ static void remove_old_osds(struct ceph_osd_client *osdc)
|
|||
*/
|
||||
static int __reset_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd)
|
||||
{
|
||||
struct ceph_osd_request *req;
|
||||
int ret = 0;
|
||||
struct ceph_entity_addr *peer_addr;
|
||||
|
||||
dout("__reset_osd %p osd%d\n", osd, osd->o_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 &&
|
||||
!ceph_con_opened(&osd->o_con)) {
|
||||
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
peer_addr = &osdc->osdmap->osd_addr[osd->o_osd];
|
||||
if (!memcmp(peer_addr, &osd->o_con.peer_addr, sizeof (*peer_addr)) &&
|
||||
!ceph_con_opened(&osd->o_con)) {
|
||||
struct ceph_osd_request *req;
|
||||
|
||||
dout(" osd addr hasn't changed and connection never opened,"
|
||||
" letting msgr retry");
|
||||
/* touch each r_stamp for handle_timeout()'s benfit */
|
||||
list_for_each_entry(req, &osd->o_requests, r_osd_item)
|
||||
req->r_stamp = jiffies;
|
||||
ret = -EAGAIN;
|
||||
} else {
|
||||
ceph_con_close(&osd->o_con);
|
||||
ceph_con_open(&osd->o_con, CEPH_ENTITY_TYPE_OSD, osd->o_osd,
|
||||
&osdc->osdmap->osd_addr[osd->o_osd]);
|
||||
osd->o_incarnation++;
|
||||
|
||||
return -EAGAIN;
|
||||
}
|
||||
return ret;
|
||||
|
||||
ceph_con_close(&osd->o_con);
|
||||
ceph_con_open(&osd->o_con, CEPH_ENTITY_TYPE_OSD, osd->o_osd, peer_addr);
|
||||
osd->o_incarnation++;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __insert_osd(struct ceph_osd_client *osdc, struct ceph_osd *new)
|
||||
|
|
Loading…
Reference in New Issue