mgr/cephadm: require asyncssh 2.8
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Melissa Li <melissali@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
RETIRED_PLACEHOLDER extent also put into retired set, when do
commit_retire_extent need check if it is RETIRED_PLACEHOLDER,
otherwise will cause remove_from_lru assert.
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
All three are skipped with virtio disks:
251 [not run] FITRIM not supported on /dev/vdc
260 [not run] FITRIM not supported on /dev/vdc
288 [not run] FITRIM not supported on /dev/vdc
But 260 and 288 fail with ide disks, where discard defaults to on. The
ancient kernel in our ubuntu-12.04.qcow2 doesn't support virtio discard
anyway so let's just disable them for consistency.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
...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>