]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
client: keep btime in Inode and InodeStat
authorSage Weil <sage@redhat.com>
Mon, 29 Aug 2016 11:16:38 +0000 (07:16 -0400)
committerJeff Layton <jlayton@redhat.com>
Mon, 29 Aug 2016 11:16:38 +0000 (07:16 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
src/client/Client.cc
src/client/Inode.cc
src/client/Inode.h
src/messages/MClientReply.h

index fff9963afdfbfafdc32a09f1562f6d4d240c131d..47eef726e549734569872f5f9a61c39d72ff86ab 100644 (file)
@@ -869,6 +869,7 @@ Inode * Client::add_update_inode(InodeStat *st, utime_t from,
       in->mode = st->mode;
       in->uid = st->uid;
       in->gid = st->gid;
+      in->btime = st->btime;
     }
 
     if ((issued & CEPH_CAP_LINK_EXCL) == 0) {
@@ -9495,6 +9496,7 @@ Inode *Client::open_snapdir(Inode *diri)
     in->gid = diri->gid;
     in->mtime = diri->mtime;
     in->ctime = diri->ctime;
+    in->btime = diri->btime;
     in->size = diri->size;
 
     in->dirfragtree.clear();
index 454ae9d2c4210fc03eb90b22a48b498f2be9bc92..08d6ab31e4440ebb988469d2388c80e54a93ecd9 100644 (file)
@@ -346,6 +346,7 @@ void Inode::dump(Formatter *f) const
   if (rdev)
     f->dump_unsigned("rdev", rdev);
   f->dump_stream("ctime") << ctime;
+  f->dump_stream("btime") << btime;
   f->dump_stream("mode") << '0' << std::oct << mode << std::dec;
   f->dump_unsigned("uid", uid);
   f->dump_unsigned("gid", gid);
index b7ed726a2df1bdffb41eabfd02cbbc2181f8eb61..d17475504aed25e6e91075d83dc68ef4a514a8e4 100644 (file)
@@ -92,6 +92,7 @@ struct Inode {
 
   // affected by any inode change...
   utime_t    ctime;   // inode change time
+  utime_t    btime;   // birth time
 
   // perm (namespace permissions)
   uint32_t   mode;
index 21bf239ccdee1463d6e37493b73c9444c7593264..a997448197533a46550a4181c01d7970e2cb9539 100644 (file)
@@ -102,7 +102,7 @@ struct InodeStat {
   version_t xattr_version;
   ceph_mds_reply_cap cap;
   file_layout_t layout;
-  utime_t ctime, mtime, atime;
+  utime_t ctime, btime, mtime, atime;
   uint32_t time_warp_seq;
   uint64_t size, max_size;
   uint64_t truncate_size;