From: Christopher Hoffman Date: Wed, 8 Jan 2025 17:53:25 +0000 (+0000) Subject: client: set symlink dest to proper value X-Git-Tag: v21.0.0~231^2~10^2~91 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f703d1d4c44d5652517a484b26595f365a4924ea;p=ceph.git client: set symlink dest to proper value Fixes: https://tracker.ceph.com/issues/69442 Signed-off-by: Christopher Hoffman --- diff --git a/src/client/Client.cc b/src/client/Client.cc index d11f94a7b946..4717b42f4ab3 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -7690,6 +7690,8 @@ int Client::_do_lookup(const InodeRef& dir, const string& name, int mask, ldout(cct, 0) << __FILE__ << ":" << __LINE__ << ": failed to decrypt symlink (r=" << ret << ")" << dendl; } inode->symlink_plain = slname; + } else { + inode->symlink_plain = inode->symlink; } } @@ -8292,7 +8294,7 @@ int Client::_readlink(const InodeRef& diri, const char* relpath, char *buf, size memcpy(buf, dname.c_str(), dname.size()); r = dname.size(); } else { - memcpy(buf, in->symlink_plain.c_str(), r); + memcpy(buf, in->symlink.c_str(), r); } return r;