In the client side it will decode the extra info depending on the
feature bits, but if we always encode it with the old version then
the client could crash or gets the corrupted data. More detail
please see "parse_reply_info_create()" in kclient code.
Fixes: https://tracker.ceph.com/issues/63265
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit
1f1198b81b2442e5d6c0566bdade2f5d7dd23d12)
auto reply = make_message<MClientReply>(*req, 0);
if (created != inodeno_t()) {
bufferlist extra;
- encode(created, extra);
+ set_reply_extra_bl(req, created, extra);
reply->set_extra_bl(extra);
}
mds->send_message_client(reply, session);