]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.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, 27 Jan 2026 19:43:00 +0000 (19:43 +0000)
This a crimson coutnerpart of 417fb71c9b5628726d3217909ba1b6d3e7bf251a.

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

index 66e1fa364eb7ae2ece5748762c139bc95f4e0db7..0e1ff7290059cff9cc64badc2a5e95736029928b 100644 (file)
@@ -719,8 +719,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()) {