From 7aed34c21d57263b415b1b49b955730f319af94e Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Wed, 11 May 2011 13:11:58 -0700 Subject: [PATCH] clock: remove cruft. There were some odd pieces that are artifacts of a very old and different use. Remove them to simplify the interface and be less confusing. Signed-off-by: Greg Farnum --- src/client/Client.cc | 10 +++++----- src/common/Clock.h | 28 +++++----------------------- src/mds/MDCache.cc | 2 +- src/mds/Server.cc | 26 +++++++++++++------------- 4 files changed, 24 insertions(+), 42 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 7f7fb0839d37..10a68294d2cf 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -955,7 +955,7 @@ int Client::make_request(MetaRequest *request, bufferlist *pdirbl) { // time the call - utime_t start = g_clock.real_now(); + utime_t start = g_clock.now(); bool nojournal = false; int op = request->get_op(); @@ -1060,7 +1060,7 @@ int Client::make_request(MetaRequest *request, // -- log times -- if (client_logger) { - utime_t lat = g_clock.real_now(); + utime_t lat = g_clock.now(); lat -= request->sent_stamp; dout(20) << "lat " << lat << dendl; client_logger->favg(l_c_lat,(double)lat); @@ -4999,7 +4999,7 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf) dout(10) << "cur file size is " << in->size << dendl; // time it. - utime_t start = g_clock.real_now(); + utime_t start = g_clock.now(); // copy into fresh buffer (since our write may be resub, async) bufferptr bp; @@ -5052,7 +5052,7 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf) } // time - utime_t lat = g_clock.real_now(); + utime_t lat = g_clock.now(); lat -= start; if (client_logger) client_logger->favg(l_c_wrlat,(double)lat); @@ -5075,7 +5075,7 @@ int Client::_write(Fh *f, int64_t offset, uint64_t size, const char *buf) } // mtime - in->mtime = g_clock.real_now(); + in->mtime = g_clock.now(); mark_caps_dirty(in, CEPH_CAP_FILE_WR); put_cap_ref(in, CEPH_CAP_FILE_WR); diff --git a/src/common/Clock.h b/src/common/Clock.h index 3a21a31bb91d..4be950f80de2 100644 --- a/src/common/Clock.h +++ b/src/common/Clock.h @@ -24,57 +24,39 @@ class Clock { protected: - //utime_t start_offset; - //utime_t abs_last; utime_t last; - utime_t zero; public: Clock(); ~Clock(); - // real time. - utime_t real_now() { - utime_t realnow = now(); - realnow += zero; - //gettimeofday(&realnow.timeval(), NULL); - return realnow; - } - utime_t now() { - //lock.Lock(); struct timeval tv; gettimeofday(&tv, NULL); utime_t n(&tv); - n -= zero; if (n < last) { //derr << "WARNING: clock jumped backwards from " << last << " to " << n << dendl; n = last; // clock jumped backwards! } else last = n; - //lock.Unlock(); return n; } + utime_t recent_now() { return last; } - void realify(utime_t& t) { - t += zero; - } - void make_timespec(utime_t& t, struct timespec *ts) { - utime_t real = t; - realify(real); + utime_t time = t; memset(ts, 0, sizeof(*ts)); - ts->tv_sec = real.sec(); - ts->tv_nsec = real.nsec(); + ts->tv_sec = time.sec(); + ts->tv_nsec = time.nsec(); } // absolute time time_t gettime() { - return real_now().sec(); + return now().sec(); } }; diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 6388545580d5..912e1dd24ef6 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -1812,7 +1812,7 @@ void MDCache::predirty_journal_parents(Mutation *mut, EMetaBlob *blob, // declare now? if (mut->now == utime_t()) - mut->now = g_clock.real_now(); + mut->now = g_clock.now(); if (in->is_base()) return; diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 12d90a643f3c..507bdefa4f75 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2509,7 +2509,7 @@ void Server::handle_client_openc(MDRequest *mdr) // create inode. - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); SnapRealm *realm = diri->find_snaprealm(); // use directory's realm; inode isn't attached yet. snapid_t follows = realm->get_newest_seq(); @@ -2611,7 +2611,7 @@ void Server::handle_client_readdir(MDRequest *mdr) dir->verify_fragstat(); #endif - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); snapid_t snapid = mdr->snapid; @@ -2996,7 +2996,7 @@ void Server::handle_client_setattr(MDRequest *mdr) pi = cur->project_inode(); - utime_t now = g_clock.real_now(); + utime_t now = g_clock.now(); if (mask & CEPH_SETATTR_MODE) pi->mode = (pi->mode & ~07777) | (req->head.args.setattr.mode & 07777); @@ -3062,7 +3062,7 @@ void Server::do_open_truncate(MDRequest *mdr, int cmode) // prepare inode_t *pi = in->project_inode(); - pi->mtime = pi->ctime = g_clock.real_now(); + pi->mtime = pi->ctime = g_clock.now(); pi->version = in->pre_dirty(); pi->truncate_from = pi->size; @@ -3151,7 +3151,7 @@ void Server::handle_client_setlayout(MDRequest *mdr) inode_t *pi = cur->project_inode(); pi->layout = layout; pi->version = cur->pre_dirty(); - pi->ctime = g_clock.real_now(); + pi->ctime = g_clock.now(); // log + wait mdr->ls = mdlog->get_current_segment(); @@ -3298,7 +3298,7 @@ void Server::handle_client_setxattr(MDRequest *mdr) map *px = new map; inode_t *pi = cur->project_inode(px); pi->version = cur->pre_dirty(); - pi->ctime = g_clock.real_now(); + pi->ctime = g_clock.now(); pi->xattr_version++; px->erase(name); (*px)[name] = buffer::create(len); @@ -3350,7 +3350,7 @@ void Server::handle_client_removexattr(MDRequest *mdr) map *px = new map; inode_t *pi = cur->project_inode(px); pi->version = cur->pre_dirty(); - pi->ctime = g_clock.real_now(); + pi->ctime = g_clock.now(); pi->xattr_version++; px->erase(name); @@ -3453,7 +3453,7 @@ void Server::handle_client_mknod(MDRequest *mdr) SnapRealm *realm = dn->get_dir()->inode->find_snaprealm(); snapid_t follows = realm->get_newest_seq(); - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); CInode *newi = prepare_new_inode(mdr, dn->get_dir(), inodeno_t(req->head.ino), req->head.args.mknod.mode, &layout); @@ -3533,7 +3533,7 @@ void Server::handle_client_mkdir(MDRequest *mdr) // new inode SnapRealm *realm = dn->get_dir()->inode->find_snaprealm(); snapid_t follows = realm->get_newest_seq(); - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); unsigned mode = req->head.args.mkdir.mode; mode &= ~S_IFMT; @@ -3607,7 +3607,7 @@ void Server::handle_client_symlink(MDRequest *mdr) if (!mds->locker->acquire_locks(mdr, rdlocks, wrlocks, xlocks)) return; - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); snapid_t follows = dn->get_dir()->inode->find_snaprealm()->get_newest_seq(); unsigned mode = S_IFLNK | 0777; @@ -3683,7 +3683,7 @@ void Server::handle_client_link(MDRequest *mdr) // pick mtime if (mdr->now == utime_t()) - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); // does the target need an anchor? if (targeti->is_auth()) { @@ -4319,7 +4319,7 @@ void Server::handle_client_unlink(MDRequest *mdr) // yay! if (mdr->now == utime_t()) - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); // NOTE: this is non-optimal. we create an anchor at the old // location, and then change it. we can do better, but it's more @@ -4865,7 +4865,7 @@ void Server::handle_client_rename(MDRequest *mdr) // -- declare now -- if (mdr->now == utime_t()) - mdr->now = g_clock.real_now(); + mdr->now = g_clock.now(); // -- prepare witnesses -- -- 2.47.3