]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Mutation: rename to MutationImpl and define MutationRef
authorGreg Farnum <greg@inktank.com>
Wed, 12 Mar 2014 03:11:21 +0000 (20:11 -0700)
committerGreg Farnum <greg@inktank.com>
Fri, 4 Apr 2014 17:40:51 +0000 (10:40 -0700)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/mds/Mutation.cc
src/mds/Mutation.h

index 87ffc3ea5540b6cecbd9698d513eefc3563faf8c..2026d97c5e2046eea3ff98af79d52a84cd95fe49 100644 (file)
@@ -20,9 +20,9 @@
 #include "messages/MMDSSlaveRequest.h"
 
 
-// Mutation
+// MutationImpl
 
-void Mutation::pin(MDSCacheObject *o)
+void MutationImpl::pin(MDSCacheObject *o)
 {
   if (pins.count(o) == 0) {
     o->get(MDSCacheObject::PIN_REQUEST);
@@ -30,14 +30,14 @@ void Mutation::pin(MDSCacheObject *o)
   }      
 }
 
-void Mutation::unpin(MDSCacheObject *o)
+void MutationImpl::unpin(MDSCacheObject *o)
 {
   assert(pins.count(o));
   o->put(MDSCacheObject::PIN_REQUEST);
   pins.erase(o);
 }
 
-void Mutation::set_stickydirs(CInode *in)
+void MutationImpl::set_stickydirs(CInode *in)
 {
   if (stickydirs.count(in) == 0) {
     in->get_stickydirs();
@@ -45,7 +45,7 @@ void Mutation::set_stickydirs(CInode *in)
   }
 }
 
-void Mutation::drop_pins()
+void MutationImpl::drop_pins()
 {
   for (set<MDSCacheObject*>::iterator it = pins.begin();
        it != pins.end();
@@ -54,7 +54,7 @@ void Mutation::drop_pins()
   pins.clear();
 }
 
-void Mutation::start_locking(SimpleLock *lock, int target)
+void MutationImpl::start_locking(SimpleLock *lock, int target)
 {
   assert(locking == NULL);
   pin(lock->get_parent());
@@ -62,7 +62,7 @@ void Mutation::start_locking(SimpleLock *lock, int target)
   locking_target_mds = target;
 }
 
-void Mutation::finish_locking(SimpleLock *lock)
+void MutationImpl::finish_locking(SimpleLock *lock)
 {
   assert(locking == lock);
   locking = NULL;
@@ -71,12 +71,12 @@ void Mutation::finish_locking(SimpleLock *lock)
 
 
 // auth pins
-bool Mutation::is_auth_pinned(MDSCacheObject *object)
+bool MutationImpl::is_auth_pinned(MDSCacheObject *object)
 { 
   return auth_pins.count(object) || remote_auth_pins.count(object); 
 }
 
-void Mutation::auth_pin(MDSCacheObject *object)
+void MutationImpl::auth_pin(MDSCacheObject *object)
 {
   if (!is_auth_pinned(object)) {
     object->auth_pin(this);
@@ -84,14 +84,14 @@ void Mutation::auth_pin(MDSCacheObject *object)
   }
 }
 
-void Mutation::auth_unpin(MDSCacheObject *object)
+void MutationImpl::auth_unpin(MDSCacheObject *object)
 {
   assert(auth_pins.count(object));
   object->auth_unpin(this);
   auth_pins.erase(object);
 }
 
-void Mutation::drop_local_auth_pins()
+void MutationImpl::drop_local_auth_pins()
 {
   for (set<MDSCacheObject*>::iterator it = auth_pins.begin();
        it != auth_pins.end();
@@ -102,12 +102,12 @@ void Mutation::drop_local_auth_pins()
   auth_pins.clear();
 }
 
-void Mutation::add_projected_inode(CInode *in)
+void MutationImpl::add_projected_inode(CInode *in)
 {
   projected_inodes.push_back(in);
 }
 
-void Mutation::pop_and_dirty_projected_inodes()
+void MutationImpl::pop_and_dirty_projected_inodes()
 {
   while (!projected_inodes.empty()) {
     CInode *in = projected_inodes.front();
@@ -116,12 +116,12 @@ void Mutation::pop_and_dirty_projected_inodes()
   }
 }
 
-void Mutation::add_projected_fnode(CDir *dir)
+void MutationImpl::add_projected_fnode(CDir *dir)
 {
   projected_fnodes.push_back(dir);
 }
 
-void Mutation::pop_and_dirty_projected_fnodes()
+void MutationImpl::pop_and_dirty_projected_fnodes()
 {
   while (!projected_fnodes.empty()) {
     CDir *dir = projected_fnodes.front();
@@ -130,24 +130,24 @@ void Mutation::pop_and_dirty_projected_fnodes()
   }
 }
 
-void Mutation::add_updated_lock(ScatterLock *lock)
+void MutationImpl::add_updated_lock(ScatterLock *lock)
 {
   updated_locks.push_back(lock);
 }
 
-void Mutation::add_cow_inode(CInode *in)
+void MutationImpl::add_cow_inode(CInode *in)
 {
   pin(in);
   dirty_cow_inodes.push_back(in);
 }
 
-void Mutation::add_cow_dentry(CDentry *dn)
+void MutationImpl::add_cow_dentry(CDentry *dn)
 {
   pin(dn);
   dirty_cow_dentries.push_back(pair<CDentry*,version_t>(dn, dn->get_projected_version()));
 }
 
-void Mutation::apply()
+void MutationImpl::apply()
 {
   pop_and_dirty_projected_inodes();
   pop_and_dirty_projected_fnodes();
@@ -167,7 +167,7 @@ void Mutation::apply()
     (*p)->mark_dirty();
 }
 
-void Mutation::cleanup()
+void MutationImpl::cleanup()
 {
   drop_local_auth_pins();
   drop_pins();
@@ -276,7 +276,7 @@ void MDRequestImpl::drop_local_auth_pins()
 {
   if (has_more() && more()->is_freeze_authpin)
     unfreeze_auth_pin(true);
-  Mutation::drop_local_auth_pins();
+  MutationImpl::drop_local_auth_pins();
 }
 
 void MDRequestImpl::print(ostream &out)
index 0090641ca07f522a83646ad556783eb609da528e..0f7ce236b90f5d1ca89cfaf5e35e7a759256e62c 100644 (file)
@@ -33,7 +33,7 @@ class ScatterLock;
 class MClientRequest;
 class MMDSSlaveRequest;
 
-struct Mutation {
+struct MutationImpl {
   metareqid_t reqid;
   __u32 attempt;      // which attempt for this request
   LogSegment *ls;  // the log segment i'm committing to
@@ -78,21 +78,21 @@ struct Mutation {
   list<CInode*> dirty_cow_inodes;
   list<pair<CDentry*,version_t> > dirty_cow_dentries;
 
-  Mutation()
+  MutationImpl()
     : attempt(0),
       ls(0),
       slave_to_mds(-1),
       locking(NULL),
       locking_target_mds(-1),
       done_locking(false), committing(false), aborted(false), killed(false) { }
-  Mutation(metareqid_t ri, __u32 att=0, int slave_to=-1)
+  MutationImpl(metareqid_t ri, __u32 att=0, int slave_to=-1)
     : reqid(ri), attempt(att),
       ls(0),
       slave_to_mds(slave_to), 
       locking(NULL),
       locking_target_mds(-1),
       done_locking(false), committing(false), aborted(false), killed(false) { }
-  virtual ~Mutation() {
+  virtual ~MutationImpl() {
     assert(locking == NULL);
     assert(pins.empty());
     assert(auth_pins.empty());
@@ -140,13 +140,13 @@ struct Mutation {
   }
 };
 
-inline ostream& operator<<(ostream& out, Mutation &mut)
+inline ostream& operator<<(ostream& out, MutationImpl &mut)
 {
   mut.print(out);
   return out;
 }
 
-
+typedef ceph::shared_ptr<MutationImpl> MutationRef;
 
 
 
@@ -155,7 +155,7 @@ inline ostream& operator<<(ostream& out, Mutation &mut)
  * mostly information about locks held, so that we can drop them all
  * the request is finished or forwarded.  see request_*().
  */
-struct MDRequestImpl : public Mutation {
+struct MDRequestImpl : public MutationImpl {
   ceph::weak_ptr<MDRequestImpl> self_ref;
   Session *session;
   elist<MDRequestImpl*>::item item_session_request;  // if not on list, op is aborted.
@@ -267,7 +267,7 @@ struct MDRequestImpl : public Mutation {
   }
   MDRequestImpl(metareqid_t ri, __u32 attempt, MClientRequest *req) :
     self_ref(),
-    Mutation(ri, attempt),
+    MutationImpl(ri, attempt),
     session(0), item_session_request(this),
     client_request(req), straydn(NULL), snapid(CEPH_NOSNAP), tracei(0), tracedn(0),
     alloc_ino(0), used_prealloc_ino(0), snap_caps(0), did_early_reply(false),
@@ -282,7 +282,7 @@ struct MDRequestImpl : public Mutation {
   }
   MDRequestImpl(metareqid_t ri, __u32 attempt, int by) :
     self_ref(),
-    Mutation(ri, attempt, by),
+    MutationImpl(ri, attempt, by),
     session(0), item_session_request(this),
     client_request(0), straydn(NULL), snapid(CEPH_NOSNAP), tracei(0), tracedn(0),
     alloc_ino(0), used_prealloc_ino(0), snap_caps(0), did_early_reply(false),