• Alex Elder's avatar
    libceph: always reset osds when kicking · e6d50f67
    Alex Elder authored
    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: default avatarAlex Elder <elder@inktank.com>
    Reviewed-by: default avatarSage Weil <sage@inktank.com>
    e6d50f67
osd_client.c 55.8 KB