]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: always reset osds when kicking
authorAlex Elder <elder@inktank.com>
Wed, 26 Dec 2012 20:31:40 +0000 (14:31 -0600)
committerAlex Elder <elder@inktank.com>
Fri, 28 Dec 2012 02:27:04 +0000 (20:27 -0600)
commite603374284b0265a44a9497b283abe77c271f337
treeff0ca019ba50a5f65d12d628af0aee2695d5219b
parent3d842ca14dd210f18b90c7367a7de34aa9570f1b
libceph: always reset osds when kicking

When ceph_osdc_handle_map() is called to process a new osd map,
kick_requests() is called to ensure all affected requests are
updated if necessary to reflect changes in the osd map.  This
happens in two cases:  whenever an incremental map update is
processed; and when a full map update (or the last one if there is
more than one) gets processed.

In the former case, the kick_requests() call is followed immediately
by a call to reset_changed_osds() to ensure any connections to osds
affected by the map change are reset.  But for full map updates
this isn't done.

Both cases should be doing this osd reset.

Rather than duplicating the reset_changed_osds() call, move it into
the end of kick_requests().

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
net/ceph/osd_client.c