]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: no need to wait on DeletingStateRef for flush
authorSamuel Just <sam.just@inktank.com>
Thu, 9 May 2013 23:49:46 +0000 (16:49 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 10 May 2013 00:28:15 +0000 (17:28 -0700)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSD.h
src/osd/PG.cc

index 2a9f2827488587cf7d04e8870cc9c68be753c2d6..528896a73a53403227a22ba6e1576250b82c5a94 100644 (file)
@@ -143,7 +143,6 @@ typedef std::tr1::shared_ptr<ObjectStore::Sequencer> SequencerRef;
 class DeletingState {
   Mutex lock;
   Cond cond;
-  list<Context *> on_deletion_complete;
   enum {
     QUEUED,
     CLEARING_DIR,
@@ -155,17 +154,6 @@ class DeletingState {
 public:
   DeletingState() :
     lock("DeletingState::lock"), status(QUEUED), stop_deleting(false) {}
-  void register_on_delete(Context *completion) {
-    Mutex::Locker l(lock);
-    on_deletion_complete.push_front(completion);
-  }
-  ~DeletingState() {
-    for (list<Context *>::iterator i = on_deletion_complete.begin();
-        i != on_deletion_complete.end();
-        ++i) {
-      (*i)->complete(0);
-    }
-  }
 
   /// check whether removal was canceled
   bool check_canceled() {
index 31aaae36a1f755befd626788f5db1f6ca823c58c..46427f0ee476929e0aa60ec270e420a38952a503 100644 (file)
@@ -5001,9 +5001,6 @@ void PG::start_flush(ObjectStore::Transaction *t,
   flushed = false;
   on_applied->push_back(new ContainerContext<FlushStateRef>(flush_trigger));
   on_safe->push_back(new ContainerContext<FlushStateRef>(flush_trigger));
-  DeletingStateRef del = osd->deleting_pgs.lookup(info.pgid);
-  if (del)
-    del->register_on_delete(new ContainerContext<FlushStateRef>(flush_trigger));
 }
 
 /* Called before initializing peering during advance_map */