]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd/migration/HttpClient: socket isn't shut down on some state transitions
authorIlya Dryomov <idryomov@gmail.com>
Thu, 12 Dec 2024 20:32:39 +0000 (21:32 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 16 Dec 2024 08:49:56 +0000 (09:49 +0100)
commita59dfec33f09610677426b879d9b70a42e013ced
tree894cf8f9a30a545e0622d31b4406ddd9bca4588a
parent64d0276750fc6f3c75cde0b49e6004294c2436bb
librbd/migration/HttpClient: socket isn't shut down on some state transitions

If shut_down() gets delayed until a) the state transition from
STATE_RESET_CONNECTING completes and the reconnect is unsuccessful or
b) the state transition from STATE_RESET_DISCONNECTING completes (i.e.
next_state is STATE_UNINITIALIZED or STATE_RESET_CONNECTING), the
socket needs to be shut down before m_on_shutdown is invoked.  The line
of thought here is the same as for the corresponding state transitions
that don't involve STATE_SHUTTING_DOWN.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 88557dff2fe14c7df96992fbb0a5208979c20bf1)
src/librbd/migration/HttpClient.cc