From: Samuel Just Date: Tue, 15 Oct 2013 02:13:19 +0000 (-0700) Subject: ObjectStore: improve name of the queue_transaction which cleans up the transaction X-Git-Tag: v0.78~286^2~58 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=518774dc0cbd235f42220ecc20fd62912fea2e33;p=ceph.git ObjectStore: improve name of the queue_transaction which cleans up the transaction Signed-off-by: Samuel Just --- diff --git a/src/os/ObjectStore.h b/src/os/ObjectStore.h index 17d360f0b436..5498ca8d868f 100644 --- a/src/os/ObjectStore.h +++ b/src/os/ObjectStore.h @@ -783,8 +783,8 @@ public: } unsigned apply_transactions(Sequencer *osr, list& tls, Context *ondisk=0); - int queue_transaction(Sequencer *osr, Transaction* t, - ThreadPool::TPHandle *handle = NULL) { + int queue_transaction_and_cleanup(Sequencer *osr, Transaction* t, + ThreadPool::TPHandle *handle = NULL) { list tls; tls.push_back(t); return queue_transactions(osr, tls, new C_DeleteTransaction(t), diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 2537371d8d0c..5bcf0687672d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -645,7 +645,7 @@ int OSD::mkfs(CephContext *cct, ObjectStore *store, const string &dev, for (int i=0; i<1000; i++) { ObjectStore::Transaction *t = new ObjectStore::Transaction; t->write(coll_t::META_COLL, hobject_t(sobject_t(oid, 0)), i*bl.length(), bl.length(), bl); - store->queue_transaction(NULL, t); + store->queue_transaction_and_cleanup(NULL, t); } store->sync(); utime_t end = ceph_clock_now(cct); @@ -4120,14 +4120,14 @@ void OSD::do_command(Connection *con, tid_t tid, vector& cmd, bufferlist hobject_t soid(sobject_t(oid, 0)); ObjectStore::Transaction *t = new ObjectStore::Transaction; t->write(coll_t::META_COLL, soid, 0, bsize, bl); - store->queue_transaction(NULL, t); + store->queue_transaction_and_cleanup(NULL, t); cleanupt->remove(coll_t::META_COLL, soid); } store->sync_and_flush(); utime_t end = ceph_clock_now(cct); // clean up - store->queue_transaction(NULL, cleanupt); + store->queue_transaction_and_cleanup(NULL, cleanupt); uint64_t rate = (double)count / (end - start); if (f) { @@ -6382,8 +6382,9 @@ void OSD::handle_pg_trim(OpRequestRef op) pg->pg_log.trim(m->trim_to, pg->info); pg->dirty_info = true; pg->write_if_dirty(*t); - int tr = store->queue_transaction(pg->osr.get(), t, - new ObjectStore::C_DeleteTransaction(t)); + int tr = store->queue_transaction( + pg->osr.get(), t, + new ObjectStore::C_DeleteTransaction(t)); assert(tr == 0); } pg->unlock(); diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 5e9dd7bbbf8f..c5470518d0f4 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1499,7 +1499,7 @@ void PG::_activate_committed(epoch_t e) if (dirty_info) { ObjectStore::Transaction *t = new ObjectStore::Transaction; write_if_dirty(*t); - int tr = osd->store->queue_transaction(osr.get(), t); + int tr = osd->store->queue_transaction_and_cleanup(osr.get(), t); assert(tr == 0); } @@ -4241,7 +4241,7 @@ void PG::scrub_finish() ObjectStore::Transaction *t = new ObjectStore::Transaction; dirty_info = true; write_if_dirty(*t); - int tr = osd->store->queue_transaction(osr.get(), t); + int tr = osd->store->queue_transaction_and_cleanup(osr.get(), t); assert(tr == 0); } diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index f388d80a9442..2e2e14872c1b 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1927,6 +1927,8 @@ void ReplicatedBackend::_do_push(OpRequestRef op) new C_OSD_SendMessageOnConn( osd, reply, m->get_connection())); + t->register_on_applied( + new ObjectStore::C_DeleteTransaction(t)); get_parent()->queue_transaction(t); } @@ -1999,6 +2001,8 @@ void ReplicatedBackend::_do_pull_response(OpRequestRef op) osd, reply, m->get_connection())); } + t->register_on_applied( + new ObjectStore::C_DeleteTransaction(t)); get_parent()->queue_transaction(t); } @@ -2080,7 +2084,7 @@ void ReplicatedPG::do_backfill(OpRequestRef op) ObjectStore::Transaction *t = new ObjectStore::Transaction; dirty_info = true; write_if_dirty(*t); - int tr = osd->store->queue_transaction(osr.get(), t); + int tr = osd->store->queue_transaction_and_cleanup(osr.get(), t); assert(tr == 0); } break; @@ -8131,7 +8135,7 @@ void ReplicatedPG::sub_op_remove(OpRequestRef op) ObjectStore::Transaction *t = new ObjectStore::Transaction; remove_snap_mapped_object(*t, m->poid); - int r = osd->store->queue_transaction(osr.get(), t); + int r = osd->store->queue_transaction_and_cleanup(osr.get(), t); assert(r == 0); } @@ -10225,7 +10229,7 @@ boost::statechart::result ReplicatedPG::WaitingOnReplicas::react(const SnapTrim& ObjectStore::Transaction *t = new ObjectStore::Transaction; pg->dirty_big_info = true; pg->write_if_dirty(*t); - int tr = pg->osd->store->queue_transaction(pg->osr.get(), t); + int tr = pg->osd->store->queue_transaction_and_cleanup(pg->osr.get(), t); assert(tr == 0); context().need_share_pg_info = true;