]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: tolerate pgls commands with full hash
authorSage Weil <sage@redhat.com>
Sun, 3 Apr 2016 13:35:03 +0000 (09:35 -0400)
committerSage Weil <sage@redhat.com>
Sun, 3 Apr 2016 13:45:56 +0000 (09:45 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/ReplicatedPG.cc

index e65c0842868595cf9a45cce1f9165ec71eb6b5fe..3958f8942ea579e02a9fd291e387325e16cf6bb6 100644 (file)
@@ -925,8 +925,10 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
       // fall through
 
     case CEPH_OSD_OP_PGNLS:
-      if (m->get_pg() != info.pgid.pgid) {
-        dout(10) << " pgnls pg=" << m->get_pg() << " != " << info.pgid << dendl;
+      if (get_osdmap()->raw_pg_to_pg(m->get_pg()) != info.pgid.pgid) {
+        dout(10) << " pgnls pg=" << m->get_pg()
+                << " " << get_osdmap()->raw_pg_to_pg(m->get_pg())
+                << " != " << info.pgid << dendl;
        result = 0; // hmm?
       } else {
        unsigned list_size = MIN(cct->_conf->osd_max_pgls, p->op.pgls.count);
@@ -1127,8 +1129,10 @@ void ReplicatedPG::do_pg_op(OpRequestRef op)
       // fall through
 
     case CEPH_OSD_OP_PGLS:
-      if (m->get_pg() != info.pgid.pgid) {
-        dout(10) << " pgls pg=" << m->get_pg() << " != " << info.pgid << dendl;
+      if (get_osdmap()->raw_pg_to_pg(m->get_pg()) != info.pgid.pgid) {
+        dout(10) << " pgls pg=" << m->get_pg()
+                << " " << get_osdmap()->raw_pg_to_pg(m->get_pg())
+                << " != " << info.pgid << dendl;
        result = 0; // hmm?
       } else {
        unsigned list_size = MIN(cct->_conf->osd_max_pgls, p->op.pgls.count);