]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd/migration/HttpClient: socket isn't shut down on some state transitions 61095/head
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:51:35 +0000 (09:51 +0100)
commit03e08b0e6237dfc50238d9cb256c45d21e041f9c
tree2d5bdff9990a8a75aa1d91dd76b34ee516b1e3f8
parent1fd1bd600f446a307028d024a32c855695ece3a5
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