From 83459d1b020e707ec660018de882b78e128ef1bd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 7 Aug 2008 07:41:27 -0700 Subject: [PATCH] mds: clean up mutations, drop pins --- src/mds/Server.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index b7ea1a7b679fd..6b761d7347a9f 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2656,6 +2656,9 @@ void Server::_commit_slave_link(MDRequest *mdr, int r, CInode *targeti) << " " << *targeti << dendl; if (r == 0) { + // drop our pins, etc. + mdr->cleanup(); + // write a commit to the journal ESlaveUpdate *le = new ESlaveUpdate(mdlog, "slave_link_commit", mdr->reqid, mdr->slave_to_mds, ESlaveUpdate::OP_COMMIT, ESlaveUpdate::LINK); @@ -2748,9 +2751,10 @@ void Server::_link_rollback_finish(Mutation *mut, MDRequest *mdr) mut->apply(); if (mdr) mds->mdcache->request_finish(mdr); - else { + else mds->mdcache->finish_rollback(mut->reqid); - } + mut->cleanup(); + delete mut; } @@ -4115,6 +4119,9 @@ void Server::_commit_slave_rename(MDRequest *mdr, int r, mds->queue_waiters(finished); } + // drop our pins + mdr->cleanup(); + mdlog->submit_entry(le, new C_MDS_CommittedSlave(this, mdr)); } else { if (srcdn->is_auth() && destdn->is_primary() && @@ -4354,6 +4361,9 @@ void Server::_rename_rollback_finish(Mutation *mut, MDRequest *mdr, CInode *in, else { mds->mdcache->finish_rollback(mut->reqid); } + + mut->cleanup(); + delete mut; } -- 2.39.5