From: Sage Weil Date: Mon, 29 Aug 2016 11:16:38 +0000 (-0400) Subject: client: keep btime in Inode and InodeStat X-Git-Tag: v11.0.1~326^2~30 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e97e74a4931e1b4de97193c2a42d61a683a67c73;p=ceph.git client: keep btime in Inode and InodeStat Signed-off-by: Sage Weil Signed-off-by: Jeff Layton --- diff --git a/src/client/Client.cc b/src/client/Client.cc index fff9963afdfb..47eef726e549 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -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(); diff --git a/src/client/Inode.cc b/src/client/Inode.cc index 454ae9d2c421..08d6ab31e444 100644 --- a/src/client/Inode.cc +++ b/src/client/Inode.cc @@ -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); diff --git a/src/client/Inode.h b/src/client/Inode.h index b7ed726a2df1..d17475504aed 100644 --- a/src/client/Inode.h +++ b/src/client/Inode.h @@ -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; diff --git a/src/messages/MClientReply.h b/src/messages/MClientReply.h index 21bf239ccdee..a99744819753 100644 --- a/src/messages/MClientReply.h +++ b/src/messages/MClientReply.h @@ -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;