]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: EC Optimizations fix routing of requests to non-zero shard id
authorBill Scales <bill_scales@uk.ibm.com>
Mon, 19 May 2025 16:01:39 +0000 (17:01 +0100)
committerLaura Flores <lflores@ibm.com>
Wed, 9 Jul 2025 15:47:24 +0000 (15:47 +0000)
commit63636624ec5eb2d767ba721e66cb7521b4136f32
treece54217fb0f764953e1ec9149bbb0fbb2da9f22a
parentb4c125a43c84668212c95f287a4f451a25798e52
osd: EC Optimizations fix routing of requests to non-zero shard id

Pools with EC optimizations can use pg_temp to modify the selection
of the primary. When this happens the clients route request to the
correct OSD, but wrong shard which causes hung I/Os or misdirected
I/Os.

Fix Objecter to select the correct shard when sending requests to
EC optimized pools. Fix OSD to modify the shard when receving
requests from legacy clients.

Add new unittests to test new functions for remapping the shard id.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
(cherry picked from commit f66cd3e860093380a7f97023bfd1f06312779383)
src/osd/OSD.cc
src/osd/OSDMap.cc
src/osd/OSDMap.h
src/osdc/Objecter.cc
src/test/osd/TestOSDMap.cc