PG: release backfill reservations if a backfill peer rejects

Also, the full peer will wait until the rejection from the primary
to do a state transition.

Fixes: #9626
Backport: giant, firefly, dumpling
Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: clean out completed trimmed objects as we go

Also, explicitely maintain a max number of concurrently trimming
objects.

Fixes: 9113
Backport: dumpling, firefly, giant
Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: do not queue the snap trimmer constantly

Previously, we continuously requeued the snap trimmer while in
TrimmingObjects.  This is not a good idea now that we try to
limit the number of snap trimming repops in flight and requeue
the snap trimmer directly as those repops complete.

Fixes: #9113
Backport: giant, dumpling, firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: dump snap_trimq on pg query

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG::actingset should be used when checking the number of acting OSDs for a given PG.
Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
test/osd/Object: don't generate length of 0

Fixes: #9203
Signed-off-by: Samuel Just <sam.just@inktank.com>
Add reset_tp_timeout in long loop in add_source_info for suicide timeout

Fixes: #9128

Signed-off-by: luowei@yahoo-inc.com
doc: missing osd prefix to ioprio config options

http://tracker.ceph.com/issues/9676 Fixes: #9676

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 62235688c417ed19a472bc8a94bba005e03afbc6)
common: do not set ioprio if pid is not set

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit c7e4c0bfe70bf29d3b8fe4df4e4b934853e33d26)
common: set_ioprio debug message including pid

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 33339c7754875eb7e513345ee6b26a9b2b4d2707)
osd: log error if set_ioprio fails to parse class

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 5088e0d49332d579ba7e33c2c9baee3d5f701a3e)
common: ceph_ioprio_string_to_class always returns -EINVAL

The l string is always empty because std::transform needs a
pre-allocated string. Replace with the in-place version. Add unit tests.

http://tracker.ceph.com/issues/9677 Fixes: #9677

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 3535b7aba3df8b54fa5117b8a9c2f52b8f0f118b)
osd: Remove unused PG functions queue_notify(), queue_info(), queue_log()

Signed-off-by: David Zafman <dzafman@redhat.com>
osd: Return EOPNOTSUPP if a set-alloc-hint occurs with OSDs that don't support

Add CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit
Collect the intersection of all peer feature bits during peering
When handling CEPH_OSD_OP_SETALLOCHINT check that all OSDs support it
by checking for CEPH_FEATURE_OSD_SET_ALLOC_HINT feature bit.

Fixes: #9419
Backport: firefly

Signed-off-by: David Zafman <dzafman@redhat.com>
Merge pull request #2658 from athanatos/wip-9625

PG: release backfill reservations if a backfill peer rejects

Reviewed-by: Sage Weil <sage@redhat.com>
Merge pull request #2659 from athanatos/wip-9113

Wip 9113

Reviewed-by: Sage Weil <sage@redhat.com>
Merge pull request #2660 from athanatos/wip-9203

test/osd/Object: don't generate length of 0

Reviewed-by: Sage Weil <sage@redhat.com>
mon: PGMonitor: prettify access to pg_stats_t in register_pg

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
mon: PGMonitor: populate scrub timestamps with 'now' on pg creation

Fixes: #9496

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
Merge pull request #2661 from dachary/wip-9677-ioprio-class-giant

common: ceph_ioprio_string_to_class always returns -EINVAL