]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: add fscrypt opaque field to inode_t encoding
authorJeff Layton <jlayton@redhat.com>
Thu, 15 Apr 2021 18:37:58 +0000 (14:37 -0400)
committerXiubo Li <xiubli@redhat.com>
Thu, 13 Jan 2022 13:08:21 +0000 (21:08 +0800)
Add fscrypt_auth and fscrypt_file attributes to the inode_t encoding.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
src/mds/mdstypes.h

index bc49fe3f9212386563cc171e05f4fbaf22a5bff3..8749ef094bdbb4fc83df584d0b39bee4ad49cca5 100644 (file)
@@ -635,7 +635,7 @@ private:
 template<template<typename> class Allocator>
 void inode_t<Allocator>::encode(ceph::buffer::list &bl, uint64_t features) const
 {
-  ENCODE_START(17, 6, bl);
+  ENCODE_START(18, 6, bl);
 
   encode(ino, bl);
   encode(rdev, bl);
@@ -691,14 +691,15 @@ void inode_t<Allocator>::encode(ceph::buffer::list &bl, uint64_t features) const
   encode(export_ephemeral_distributed_pin, bl);
 
   encode(!fscrypt_auth.empty(), bl);
-
+  encode(fscrypt_auth, bl);
+  encode(fscrypt_file, bl);
   ENCODE_FINISH(bl);
 }
 
 template<template<typename> class Allocator>
 void inode_t<Allocator>::decode(ceph::buffer::list::const_iterator &p)
 {
-  DECODE_START_LEGACY_COMPAT_LEN(17, 6, 6, p);
+  DECODE_START_LEGACY_COMPAT_LEN(18, 6, 6, p);
 
   decode(ino, p);
   decode(rdev, p);
@@ -798,9 +799,13 @@ void inode_t<Allocator>::decode(ceph::buffer::list::const_iterator &p)
 
   if (struct_v >= 17) {
     bool fscrypt_flag;
-    decode(fscrypt_flag, p);
+    decode(fscrypt_flag, p); // ignored
   }
 
+  if (struct_v >= 18) {
+    decode(fscrypt_auth, p);
+    decode(fscrypt_file, p);
+  }
   DECODE_FINISH(p);
 }