...allowing for efficient creation and, more important,
direct consumption by the function performing the
actual I/O.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
The owner is still the PG.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
osd/scrub: removing PgScrubber's ref to the primary scrub map
as caching this reference (to an object that is owned by the
scrubber backend) creates a dangling-pointer risk.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Reformatting, minor compiler warnings, etc.
Split from "osd/scrub: extract scrub backend code into separate classes"
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
A refactoring of the scrub backend code (all Scrub related code
that checks/manipulates objects' (meta)data).
Part of the refactoring was breaking long chunks of code into
separate functions. In order to avoid passing endless lists
of state parameters from/to these new methods, the scrub backend
state is now maintained within its own objects.
a change to note:
Instead of two scrub-map collections - one that holds all
incoming maps, and one that holds pointers to all of those incoming
plus the one we (the Primary) manage - just use one collection
for both incoming and our own.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
Split from "osd/scrub: minor fixes split from main "scrub backend" commit"
Split from "osd/scrub: scrub components embedded documentation"
fix
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
osd/scrub: fix the scrubber backend to include all PR #42735
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
crimson/alienstore: drop unused constant from AlienStore.
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
script/build-integration-branch: add quincy to the list of releases
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
When remote image is deleted, rbd-mirror can encounter three cases:
1) no remote image id
2) no remote mirror metadata
3) MIRROR_IMAGE_STATE_DISABLING in remote mirror metadata
Commit d4c66ac5c6 ("rbd-mirror: fix issue with snapshot-based
mirroring deletion propagation") fixed case 1. Cases 2 and 3 remained
broken because for both of them finalize_snapshot_state_builder() would
populate not only remote_mirror_peer_uuid but also remote_image_id,
thus disabling ENOLINK logic in handle_prepare_remote_image() and
handle_bootstrap(). Commit ff60aec2d9 ("rbd-mirror: fix bootstrap
sequence while the image is removed") touched on case 3, but it made
a difference only for journal-based mirroring.
Stop calling finalize_snapshot_state_builder() on errors. Instead,
align with journal-based mirroring by filling remote_mirror_peer_uuid
together with remote_mirror_uuid.
Fixes: https://tracker.ceph.com/issues/53963
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Make it clear that the local image non-primariness is asserted
independent of the mode; avoid the default implementation being
overridden but still relied on by both modes.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
doc/governance: Adam King
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
So Cache::drop_from_cache() can be removed, and make it possible to add
related logs within the Cache component.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Before the patch the test case was showing an unreliable behaviour
dependent on the underlying memory allocator. It was because
the bufferlist rebuild can be skipped, resulting in unchanged number
of buffers, if all of them begin at aligned addresses.
The commit fixes that by allocating a 4 KiB-aligned buffer and
offsetting it by a small constant (42) to ensure the memory added
to the bufferlist begins at non-4 KiB address.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
On rhel/centos the ceph user does not have permission
to access these certs which leads to s3-test failures
in teuthology.
Signed-off-by: Ali Maredia <amaredia@redhat.com>