]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: don't decode EC only attrs are needed
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 17 Oct 2025 14:39:49 +0000 (14:39 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 24 Mar 2026 16:06:25 +0000 (16:06 +0000)
This a crimson coutnerpart of 417fb71c9b5628726d3217909ba1b6d3e7bf251a.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/ec_backend.cc

index 4340d46283ab56a3746041e55225aab2806d4794..7d7dadcbc6139c712837d9013e7b0cda4044fbb8 100644 (file)
@@ -720,8 +720,12 @@ ECBackend::handle_rep_read_reply(ECSubReadReply& mop)
       rop.to_read.at(oid).shard_want_to_read.
           populate_shard_id_set(want_to_read);
 
-      int err = ec_impl->minimum_to_decode(want_to_read, have, dummy_minimum,
-                                            nullptr);
+      int err = -EIO; // If attributes needed but not read.
+      if (!rop.to_read.at(oid).want_attrs || rop.complete.at(oid).attrs) {
+        err = ec_impl->minimum_to_decode(want_to_read, have, dummy_minimum,
+                                         nullptr);
+      }
+
       if (err) {
        logger().debug("{} minimum_to_decode failed {}", __func__, err);
         if (rop.in_progress.empty()) {