]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: flush writes prior to PGLS
authorSage Weil <sage@newdream.net>
Mon, 22 Aug 2011 16:24:32 +0000 (09:24 -0700)
committerSage Weil <sage@newdream.net>
Mon, 22 Aug 2011 16:24:32 +0000 (09:24 -0700)
Make sure previous writes (which will include both object creation and
PG creation) are flushed before listing objects.

Fixes: #1427
Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/ReplicatedPG.cc

index b5d29bb59ddb2a32c5d963047e94415cfc0002fe..06c53e61cb820b5e098a3d8121a5a2ca9d3deb70 100644 (file)
@@ -294,6 +294,7 @@ void ReplicatedPG::do_pg_op(MOSDOp *op)
          // it's a readdir cookie
          response.handle &= high_bit - 1ull;
          dout(10) << " handle high/missing " << response.handle << dendl;
+         osr.flush();  // order wrt preceeding writes
          result = osd->store->collection_list_partial(coll, snapid,
                                                       sentries, p->op.pgls.count - sentries.size(),
                                                       &response.handle);