cls/cmpomap: add cls module for CMPXATTR-like functionality in omap#33982
Merged
cbodley merged 7 commits intoceph:masterfrom Apr 13, 2020
Merged
cls/cmpomap: add cls module for CMPXATTR-like functionality in omap#33982cbodley merged 7 commits intoceph:masterfrom
cbodley merged 7 commits intoceph:masterfrom
Conversation
ef00830 to
d8e0204
Compare
3 tasks
Contributor
Author
|
see the rgw_error_repo_ primitives in #34094 for the motivating use case |
d8e0204 to
ef98b72
Compare
yuvalif
reviewed
Mar 29, 2020
yuvalif
reviewed
Mar 29, 2020
yuvalif
reviewed
Mar 29, 2020
yuvalif
reviewed
Mar 29, 2020
709f84b to
bc15cd3
Compare
Contributor
Author
|
@yuvalif i pushed an update that changes the interfaces so that the Mode and Op are specified once per call, rather than for each key. i also added a |
yuvalif
approved these changes
Apr 12, 2020
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
this was defined in osd/objclass.cc but not declared in objclass/objclass.h Signed-off-by: Casey Bodley <cbodley@redhat.com>
add an objclass api for CEPH_OSD_OP_OMAPGETVALSBYKEYS Signed-off-by: Casey Bodley <cbodley@redhat.com>
provides a cmp_vals() op similar to librados' omap_cmp(), but with full support for the comparison modes and operations from cmpxattr(). if any of the requested key/value comparisons are unsuccessful, the op fails with -ECANCELED cmp_vals() can be composed with other ops like set_omap_vals() to make make them conditional on the successful comparison of all existing values also provides cmp_set_vals() and cmp_rm_keys(), which apply a mutation to only the keys that compare successfully. these enable batch operations where, unlike cmp_vals() + set_omap_vals(), you don't want one failed comparison to prevent operations on unrelated keys Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
3fe8f98 to
e1acaef
Compare
Contributor
|
the newly added test fails. i filed https://tracker.ceph.com/issues/45113 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
provides a
cmp_vals()op similar to librados'omap_cmp(), but with full support for the comparison modes and operations fromcmpxattr(). if any of the requested key/value comparisons are unsuccessful, the op fails with-ECANCELEDcmp_vals()can be composed with other ops likeset_omap_vals()to make make them conditional on the successful comparison of all existing valuesalso provides
cmp_set_vals()andcmp_rm_keys(), which apply a mutation to only the keys that compare successfully. these enable batch operations where, unlikecmp_vals() + set_omap_vals(), you don't want one failed comparison to prevent operations on unrelated keysChecklist
Show available Jenkins commands
jenkins retest this pleasejenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard backendjenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume tox