From 65257baa62eddac0cc3df9d2ca3a57e7fd2b25e2 Mon Sep 17 00:00:00 2001 From: Alexander Mikhalitsyn Date: Mon, 23 Oct 2023 14:37:44 +0200 Subject: [PATCH] MClientRequest: handle owner_uid and owner_gid from ceph_mds_request_head_legacy When a client is too old and uses struct ceph_mds_request_head_legacy we must fill new owner_uid and owner_gid fields from an old client_uid and client_gid. Fixes: https://github.com/ceph/ceph/pull/52575 Fixes: https://tracker.ceph.com/issues/63288 Fixes: commit 46cb244b9c839 ("ceph_fs.h: add separate owner_{u,g}id fields") Signed-off-by: Alexander Mikhalitsyn (cherry picked from commit a70a70f589214d6e2a5b477a61005b13ba2fec46) --- src/messages/MClientRequest.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/messages/MClientRequest.h b/src/messages/MClientRequest.h index 3c7d83ec11b..f63657d2e25 100644 --- a/src/messages/MClientRequest.h +++ b/src/messages/MClientRequest.h @@ -237,6 +237,9 @@ public: head.ext_num_retry = head.num_retry; head.ext_num_fwd = head.num_fwd; + head.owner_uid = head.caller_uid; + head.owner_gid = head.caller_gid; + /* Can't set the btime from legacy struct */ if (head.op == CEPH_MDS_OP_SETATTR) { int localmask = head.args.setattr.mask; -- 2.39.5