From 601dbaf5b8bc1065ba699a449574c9da9461dd10 Mon Sep 17 00:00:00 2001 From: Sam Lang Date: Tue, 27 Nov 2012 14:50:55 -0600 Subject: client: Properly set ctime on write Signed-off-by: Sam Lang --- src/client/Client.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index a316c29d1e7..a9ff1e6bf9b 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -5765,14 +5765,22 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf) ldout(cct, 7) << "wrote to " << totalwritten+offset << ", leaving file size at " << in->size << dendl; } - // mtime utime_t curtime = ceph_clock_now(cct); + // mtime if (in->mtime > curtime) { // can't go backwards, increment mtime by 1 nanosec in->mtime += 0.000000001; } else { in->mtime = curtime; } + + // ctime + if (in->ctime > curtime) { + // can't go backwards, increment mtime by 1 nanosec + in->ctime += 0.000000001; + } else { + in->ctime = curtime; + } mark_caps_dirty(in, CEPH_CAP_FILE_WR); put_cap_ref(in, CEPH_CAP_FILE_WR); -- cgit v1.2.1