]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd/ec_backend: fix OP_OMAP_RMKEYRANGE translation
authorSun Yuechi <sunyuechi@iscas.ac.cn>
Wed, 1 Jul 2026 04:46:22 +0000 (12:46 +0800)
committerSun Yuechi <sunyuechi@iscas.ac.cn>
Wed, 1 Jul 2026 04:46:22 +0000 (12:46 +0800)
commit508e6972fae33c3de0c5a63a8431efc7afb943ae
tree5c96cb9af08c996177223ff64b898af680e0c89b
parent853968f367dc148c6036167fc2e8621adf47ad44
crimson/osd/ec_backend: fix OP_OMAP_RMKEYRANGE translation

transate_transaction() handled OP_OMAP_RMKEYRANGE in the same case
block as OP_OMAP_SETHEADER, decoding a single bufferlist and calling
omap_setheader(). But OP_OMAP_RMKEYRANGE encodes first/last as two
strings, so decode_bl() misreads the stream and the wrong op is
applied.

Give OP_OMAP_RMKEYRANGE its own case: decode the two strings and pass
them to the two-string PGTransaction::omap_rmkeyrange() overload, which
encodes them into the string[2] bufferlist internally.

Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
src/crimson/osd/ec_backend.cc