diff options
author | Sam Lang <sam.lang@inktank.com> | 2012-11-27 14:50:55 -0600 |
---|---|---|
committer | Sam Lang <sam.lang@inktank.com> | 2012-11-27 15:01:58 -0600 |
commit | 601dbaf5b8bc1065ba699a449574c9da9461dd10 (patch) | |
tree | 2dd310c6fe9546f12c5fd72dcd27e553e2032f6a /src/client/Client.cc | |
parent | da32c596e245de5e4324ac3b36e3596cea588415 (diff) | |
download | ceph-wip-mtime-incr.tar.gz |
client: Properly set ctime on writewip-mtime-incr
Signed-off-by: Sam Lang <sam.lang@inktank.com>
Diffstat (limited to 'src/client/Client.cc')
-rw-r--r-- | src/client/Client.cc | 10 |
1 files changed, 9 insertions, 1 deletions
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); |