]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: pass change_attr in InodeStat MClientReply, if feature is present
authorJeff Layton <jlayton@redhat.com>
Mon, 29 Aug 2016 11:16:39 +0000 (07:16 -0400)
committerJeff Layton <jlayton@redhat.com>
Mon, 29 Aug 2016 11:16:39 +0000 (07:16 -0400)
Signed-off-by: Jeff Layton <jlayton@redhat.com>
src/mds/CInode.cc
src/messages/MClientReply.h

index 11f50fd97d469997e05260e3df4cd3a7ce1139d8..365f3ab812e85662d1ffdcd962454cdcdf054879 100644 (file)
@@ -3359,6 +3359,7 @@ int CInode::encode_inodestat(bufferlist& bl, Session *session,
   }
   if (session->connection->has_feature(CEPH_FEATURE_FS_BTIME)) {
     ::encode(any_i->btime, bl);
+    ::encode(any_i->change_attr, bl);
   }
 
   return valid;
index a997448197533a46550a4181c01d7970e2cb9539..c5e7d3912deb9dec917bd271ea8c400393498b05 100644 (file)
@@ -105,6 +105,7 @@ struct InodeStat {
   utime_t ctime, btime, mtime, atime;
   uint32_t time_warp_seq;
   uint64_t size, max_size;
+  uint64_t change_attr;
   uint64_t truncate_size;
   uint32_t truncate_seq;
   uint32_t mode, uid, gid, nlink;
@@ -185,10 +186,13 @@ struct InodeStat {
 
     if ((features & CEPH_FEATURE_FS_FILE_LAYOUT_V2))
       ::decode(layout.pool_ns, p);
-    if ((features & CEPH_FEATURE_FS_BTIME))
+    if ((features & CEPH_FEATURE_FS_BTIME)) {
       ::decode(btime, p);
-    else
+      ::decode(change_attr, p);
+    } else {
       btime = utime_t();
+      change_attr = 0;
+    }
   }
   
   // see CInode::encode_inodestat for encoder.