libceph: init the cursor when preparing sparse read in msgr2
authorXiubo Li <xiubli@redhat.com>
Wed, 6 Mar 2024 01:05:44 +0000 (09:05 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 6 Mar 2024 11:43:01 +0000 (12:43 +0100)
commit321e3c3de53c7530cd518219d01f04e7e32a9d23
tree1aa231fd7616bfc779b647c3644658f598399730
parent90d35da658da8cff0d4ecbb5113f5fac9d00eb72
libceph: init the cursor when preparing sparse read in msgr2

The cursor is no longer initialized in the OSD client, causing the
sparse read state machine to fall into an infinite loop.  The cursor
should be initialized in IN_S_PREPARE_SPARSE_DATA state.

[ idryomov: use msg instead of con->in_msg, changelog ]

Link: https://tracker.ceph.com/issues/64607
Fixes: 8e46a2d068c9 ("libceph: just wait for more data to be available on the socket")
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Tested-by: Luis Henriques <lhenriques@suse.de>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/messenger_v2.c