Skip to content

pacific: cls/cmpomap: empty values are 0 in U64 comparisons#42908

Merged
yuriw merged 1 commit intoceph:pacificfrom
cfsnyder:wip-52330-pacific
Aug 25, 2021
Merged

pacific: cls/cmpomap: empty values are 0 in U64 comparisons#42908
yuriw merged 1 commit intoceph:pacificfrom
cfsnyder:wip-52330-pacific

Conversation

@cfsnyder
Copy link
Contributor

backport tracker: https://tracker.ceph.com/issues/52330


backport of #42740
parent tracker: https://tracker.ceph.com/issues/52128

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/master/src/script/ceph-backport.sh

previously, when trying to use cmpomap interfaces on an omap key with
an empty value, U64 comparisons would fail to decode with -EIO. so
cmp_set_vals() and cmp_rm_keys() are unable to update or remove such
keys

for backward-compatibility with rgw's data sync error repo, where the
keys used to have empty values, enable these comparisons by treating an
empty value as 0

Fixes: https://tracker.ceph.com/issues/52128

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 2333959)
@cfsnyder cfsnyder added this to the pacific milestone Aug 24, 2021
@neha-ojha neha-ojha requested a review from cbodley August 24, 2021 16:52
@yuriw yuriw added the needs-qa label Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants