]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #63873 from aainscow/ec_fixpack_pr
authorLaura Flores <lflores@redhat.com>
Wed, 9 Jul 2025 15:39:26 +0000 (11:39 -0400)
committerGitHub <noreply@github.com>
Wed, 9 Jul 2025 15:39:26 +0000 (11:39 -0400)
osd: Multiple fixes to optimized EC and peering

1  2 
src/crimson/osd/pg.h
src/mon/OSDMonitor.cc
src/osd/ECBackend.cc
src/osd/ECCommon.cc
src/osd/ECCommon.h
src/osd/OSD.cc
src/osd/OSDMap.cc
src/osd/OSDMap.h
src/osd/PGLog.h
src/osd/PeeringState.cc
src/osd/PeeringState.h

Simple merge
Simple merge
Simple merge
index 3b886806a87dd700410cc4bbe3bb1d0dfa3d1f58,22842479cdbbc13f4a9bb636604822f2d132c802..06d53bcb8da0b1a3f039cd9a2e76f2b5ff11ebe1
@@@ -534,23 -495,13 +533,22 @@@ struct ClientReadCompleter final : ECCo
                                    req.shard_want_to_read,
                                    req.object_size);
        ceph_assert( r == 0 );
- #if DEBUG_EC_BUFFERS
-       dout(20) << __func__ << ": after decode: " << res.buffers_read.debug_string(2048, 8) << dendl;
- #endif
+       dout(30) << __func__ << ": after decode: "
+                << res.buffers_read.debug_string(2048, 8)
+                << dendl;
  
        for (auto &&read: req.to_read) {
 -        result.insert(read.offset, read.size,
 -                      res.buffers_read.get_ro_buffer(read.offset, read.size));
 +        // Return a buffer containing both data and parity
 +        // if the parity read inject is set
 +        if (cct->_conf->bluestore_debug_inject_read_err &&
 +            ECInject::test_parity_read(hoid)) {
 +          bufferlist data_and_parity;
 +          read_pipeline.create_parity_read_buffer(res.buffers_read, read, &data_and_parity);
 +          result.insert(read.offset, data_and_parity.length(), data_and_parity);
 +        } else {
 +          result.insert(read.offset, read.size,
 +                        res.buffers_read.get_ro_buffer(read.offset, read.size));
 +        }
        }
      }
      dout(20) << __func__ << " calling complete_object with result="
Simple merge
diff --cc src/osd/OSD.cc
Simple merge
Simple merge
Simple merge
diff --cc src/osd/PGLog.h
Simple merge
Simple merge
Simple merge