From 94eb404608b7de60042e307dc56357159c8b6c4a Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Fri, 22 Jul 2011 14:00:55 -0700 Subject: [PATCH] mds: remove broken delay of cap releases from a replica. This hasn't worked in a very long time and serves little purpose since the clients will have their own cap delay releases. Nix a few of the repeated asserts while we're at it. Signed-off-by: Greg Farnum --- src/mds/CInode.h | 1 - src/mds/Locker.cc | 35 +---------------------------------- 2 files changed, 1 insertion(+), 35 deletions(-) diff --git a/src/mds/CInode.h b/src/mds/CInode.h index 666312470c6e8..7eeb25f83a221 100644 --- a/src/mds/CInode.h +++ b/src/mds/CInode.h @@ -410,7 +410,6 @@ protected: map client_caps; // client -> caps map mds_caps_wanted; // [auth] mds -> caps wanted int replica_caps_wanted; // [replica] what i've requested from auth - utime_t replica_caps_wanted_keep_until; map > client_snap_caps; // [auth] [snap] dirty metadata we still need from the head public: diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index d657359a016aa..87f9f5211f7f4 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -1725,40 +1725,10 @@ void Locker::request_inode_file_caps(CInode *in) int wanted = in->get_caps_wanted(); if (wanted != in->replica_caps_wanted) { - - if (wanted == 0) { - if (in->replica_caps_wanted_keep_until.sec() == 0) { - in->replica_caps_wanted_keep_until = ceph_clock_now(g_ceph_context); - in->replica_caps_wanted_keep_until.sec_ref() += 2; - - dout(7) << "request_inode_file_caps " << ccap_string(wanted) - << " was " << ccap_string(in->replica_caps_wanted) - << " keeping until " << in->replica_caps_wanted_keep_until - << " on " << *in - << dendl; - return; - } else if (in->replica_caps_wanted_keep_until < - ceph_clock_now(g_ceph_context)) { - // ok, release them finally! - in->replica_caps_wanted_keep_until.sec_ref() = 0; - dout(7) << "request_inode_file_caps " << ccap_string(wanted) - << " was " << ccap_string(in->replica_caps_wanted) - << " no keeping anymore " - << " on " << *in - << dendl; - } else { - // wait longer - return; - } - } else { - in->replica_caps_wanted_keep_until.sec_ref() = 0; - } - assert(!in->is_auth()); - // wait for single auth if (in->is_ambiguous_auth()) { in->add_waiter(MDSCacheObject::WAIT_SINGLEAUTH, - new C_MDL_RequestInodeFileCaps(this, in)); + new C_MDL_RequestInodeFileCaps(this, in)); return; } @@ -1766,15 +1736,12 @@ void Locker::request_inode_file_caps(CInode *in) dout(7) << "request_inode_file_caps " << ccap_string(wanted) << " was " << ccap_string(in->replica_caps_wanted) << " on " << *in << " to mds" << auth << dendl; - assert(!in->is_auth()); in->replica_caps_wanted = wanted; if (mds->mdsmap->get_state(auth) >= MDSMap::STATE_REJOIN) mds->send_message_mds(new MInodeFileCaps(in->ino(), in->replica_caps_wanted), auth); - } else { - in->replica_caps_wanted_keep_until.sec_ref() = 0; } } -- 2.39.5