From: Sage Weil Date: Thu, 25 Jun 2009 19:45:35 +0000 (-0700) Subject: osd: force RMW ordering globally X-Git-Tag: v0.10~140 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4c5a17c947597ec075bcbee2bf82996c727f2702;p=ceph.git osd: force RMW ordering globally We can't mix RMW and DELAYED in the same PG without screwing up the ordering of writes, the pg log, and so forth. So force RMW throughout. This won't affect the mds log appends because the client is constant. It will slow down concurrent writes to the same object by multiple clients, but we don't have many (any?) of those yet. This needs a real solution... :/ --- diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 165d33fd991d..fcf3134f1f67 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -141,7 +141,8 @@ public: bool try_write(entity_inst_t& c) { switch (state) { case IDLE: - state = DELAYED; + //state = DELAYED; + state = RMW; // always do RMW, until we solve pg log writing ordering issues case DELAYED: return true; case RMW: