From: Sage Weil Date: Tue, 17 Mar 2009 20:04:06 +0000 (-0700) Subject: mds: flush log on talbeserver prepare, but not commit or server_update X-Git-Tag: v0.7.2~143 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fa659383767d7fea87369b50ac2134b663eda561;p=ceph.git mds: flush log on talbeserver prepare, but not commit or server_update --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 2e7a4321a4ac9..2591a06cd5a55 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -6280,6 +6280,7 @@ void MDCache::_anchor_prepared(CInode *in, version_t atid, bool add) journal_dirty_inode(mut, &le->metablob, in); le->metablob.add_table_transaction(TABLE_ANCHOR, atid); mds->mdlog->submit_entry(le, new C_MDC_AnchorLogged(this, in, atid, mut)); + mds->mdlog->flush(); } diff --git a/src/mds/MDSTableServer.cc b/src/mds/MDSTableServer.cc index c1976264a23df..999df03cb0af6 100644 --- a/src/mds/MDSTableServer.cc +++ b/src/mds/MDSTableServer.cc @@ -53,6 +53,7 @@ void MDSTableServer::handle_prepare(MMDSTableRequest *req) ETableServer *le = new ETableServer(table, TABLESERVER_OP_PREPARE, req->reqid, from, version, version); le->mutation = bl; // original request, NOT modified return value coming out of _prepare! mds->mdlog->submit_entry(le, new C_Prepare(this, req, version)); + mds->mdlog->flush(); } void MDSTableServer::_prepare_logged(MMDSTableRequest *req, version_t tid) @@ -78,7 +79,6 @@ void MDSTableServer::handle_commit(MMDSTableRequest *req) pending_for_mds.erase(tid); mds->mdlog->submit_entry(new ETableServer(table, TABLESERVER_OP_COMMIT, 0, -1, tid, version)); mds->mdlog->wait_for_sync(new C_Commit(this, req)); - mds->mdlog->flush(); } else if (tid <= version) { dout(0) << "got commit for tid " << tid << " <= " << version