]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: provide fscrypt vxattrs in CapSnap
authorChristopher Hoffman <choffman@redhat.com>
Fri, 18 Apr 2025 20:55:02 +0000 (20:55 +0000)
committerChristopher Hoffman <choffman@redhat.com>
Wed, 5 Nov 2025 13:59:35 +0000 (13:59 +0000)
Fixes: https://tracker.ceph.com/issues/70979
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
src/client/Client.cc
src/client/Inode.h

index c29f69c7e449dcb9be0749e1cd0548c9bb2b5eec..43ffb082e8c38d5f22bbc75f0655f608c7cd21f9 100644 (file)
@@ -4387,6 +4387,8 @@ void Client::finish_cap_snap(Inode *in, CapSnap &capsnap, int used)
 {
   ldout(cct, 10) << __func__ << " " << *in << " capsnap " << (void *)&capsnap << " used " << ccap_string(used) << dendl;
   capsnap.size = in->size;
+  capsnap.fscrypt_auth = in->fscrypt_auth;
+  capsnap.fscrypt_file = in->fscrypt_file;
   capsnap.mtime = in->mtime;
   capsnap.atime = in->atime;
   capsnap.ctime = in->ctime;
@@ -4441,6 +4443,8 @@ void Client::send_flush_snap(Inode *in, MetaSession *session,
   m->head.xattr_version = capsnap.xattr_version;
   encode(capsnap.xattrs, m->xattrbl);
 
+  m->fscrypt_file = capsnap.fscrypt_auth;
+  m->fscrypt_file = capsnap.fscrypt_file;
   m->ctime = capsnap.ctime;
   m->btime = capsnap.btime;
   m->mtime = capsnap.mtime;
index b899f9afa39cbe219c7057df0be5259268ff4286..76dd52fcdfb5e7feee0045b3fb33a544364da879 100644 (file)
@@ -99,6 +99,8 @@ struct CapSnap {
   gid_t      gid = 0;
   std::map<std::string,bufferptr> xattrs;
   version_t xattr_version = 0;
+  std::vector<uint8_t> fscrypt_auth;
+  std::vector<uint8_t> fscrypt_file;
 
   bufferlist inline_data;
   version_t inline_version = 0;