]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
J. Eric Ivancich [Fri, 3 May 2019 20:12:48 +0000 (16:12 -0400)]
Merge pull request #27896 from ivancich/wip-add-rgw-period-comments
rgw: add some comments to rgw code to help explain functionality
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Fri, 3 May 2019 20:06:11 +0000 (13:06 -0700)]
Merge pull request #27956 from yuriw/wip-yuriw-smoke-master
qa/tests - cleaned up distro settings
J. Eric Ivancich [Tue, 30 Apr 2019 18:01:19 +0000 (14:01 -0400)]
rgw: add some comments to rgw code to help explain functionality
Comments to explain the role of RGWPeriod and the use of prefixes in
gc log entries are added. Some other comments are reformatted for 80
columns.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Casey Bodley [Fri, 3 May 2019 18:49:25 +0000 (14:49 -0400)]
Merge pull request #27838 from yuvalif/wip-yuval-pubsub_teuthology-new
rgw/pubsub: add multisite pubsub tests to teuthology
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Fri, 3 May 2019 15:21:42 +0000 (08:21 -0700)]
qa/tests - cleaned up distro settings
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Lenz Grimmer [Fri, 3 May 2019 11:10:23 +0000 (13:10 +0200)]
Merge pull request #27448 from ricardoasmarques/upgrade-ceph-iscsi-version
mgr/dashboard: Support ceph-iscsi config v9
Reviewed-by: Tiago Melo <tmelo@suse.com>
Nathan Cutler [Fri, 3 May 2019 11:06:08 +0000 (13:06 +0200)]
Merge pull request #27887 from smithfarm/wip-bci-len255plus
script/backport-create-issue: handle long Redmine issue names
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
Mykola Golub [Fri, 3 May 2019 07:19:06 +0000 (10:19 +0300)]
Merge pull request #27895 from dillaman/wip-librbd-zero-copy
librbd: support zero-copy writes via the C API
Reviewed-by: Mykola Golub <mgolub@suse.com>
Kefu Chai [Fri, 3 May 2019 05:25:42 +0000 (13:25 +0800)]
Merge pull request #16929 from amitkumar50/cov-rgw-1
rgw: Initialize member variables in rgw_sync.h, rgw_rados.h
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Kefu Chai [Fri, 3 May 2019 02:34:49 +0000 (10:34 +0800)]
Merge pull request #27927 from tchaikov/wip-util.collect_sys_info-is-optional
test/common/test_util: skip it if /etc/os-release does not exist
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Casey Bodley [Thu, 2 May 2019 18:23:33 +0000 (14:23 -0400)]
Merge pull request #27897 from ivancich/wip-add-editor-comments-rgw-services
rgw: add editor directive comments to rgw services source files
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Abhishek L [Thu, 2 May 2019 17:52:57 +0000 (19:52 +0200)]
Merge pull request #27820 from smithfarm/wip-39361
rgw: drop cloud sync module logs attrs from the log
Reviewed-By: Casey Bodley <cbodley@redhat.com>
Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
Kefu Chai [Thu, 2 May 2019 17:29:55 +0000 (01:29 +0800)]
test: do not conditionize on GTEST_HAS_PARAM_TEST
value-parameterized is supported on all platforms, so drop this check
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 2 May 2019 17:29:21 +0000 (01:29 +0800)]
test: s/INSTANTIATE_TEST_CASE_P/INSTANTIATE_TEST_SUITE_P/
the former is deprecated
Signed-off-by: Kefu Chai <kchai@redhat.com>
Jason Dillaman [Thu, 2 May 2019 14:17:51 +0000 (10:17 -0400)]
qa/valgrind.supp: added false-positive in boost::queue::lockfree
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Kefu Chai [Thu, 2 May 2019 16:36:24 +0000 (00:36 +0800)]
test/rbd_mirror: add "using ::testing::DoAll"
we should `using` it before calling it using `DoAll`.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 2 May 2019 15:48:56 +0000 (23:48 +0800)]
test/common/test_util: skip it if /etc/os-release does not exist
some GNU/Linux distros do not ship this file, and we should not fail the
test on them.
inspired by
http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch?id=
48f19e60c4677e392ee2c23f28098cfcaf9d1710
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 2 May 2019 15:35:23 +0000 (23:35 +0800)]
cmake: do not install googletest
the new googletest added an option to allow its consumer to skip this,
so instead of patching googletest, let's use this option.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Thu, 2 May 2019 15:33:44 +0000 (23:33 +0800)]
googletest: pick up GTEST_SKIP() changes
so we can use it to disable test at runtime
Signed-off-by: Kefu Chai <kchai@redhat.com>
Yuval Lifshitz [Thu, 2 May 2019 15:51:59 +0000 (18:51 +0300)]
rgw/pubsub: fix more test issues with teuthology failures
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
Jason Dillaman [Tue, 30 Apr 2019 16:57:46 +0000 (12:57 -0400)]
librbd: use zero-copy on write via the C API when cache is disabled
It will also be disabled when using synchronous write API methods.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 30 Apr 2019 16:57:18 +0000 (12:57 -0400)]
common/deleter: added missing headers
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 30 Apr 2019 16:56:08 +0000 (12:56 -0400)]
librbd: allow AioCompletion objects to be blocked
This will be used when user-provided memory is wrapped into a
ceph::buffer::raw pointer to prevent its release prior to the
drop of its last reference internally.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 30 Apr 2019 15:10:09 +0000 (11:10 -0400)]
librbd: AioCompletion fail path should complete in clean thread
Ensure that no internal librbd locks are being held when the
callbacks are invoked for AioCompletion::fail.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Sat, 27 Apr 2019 11:54:36 +0000 (07:54 -0400)]
librbd: simplify AioCompletion reference counting for 'fail' case
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 6 Mar 2018 19:23:47 +0000 (14:23 -0500)]
librbd: switch to lock-free queue for event poll IO interface
'perf' shows several percent of CPU being wasted on lock contention
in the event poll interface. The 'fio' RBD engine uses this poll
IO interface by default when available.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 26 Apr 2019 18:24:15 +0000 (14:24 -0400)]
librbd: avoid using lock within AIO completion where possible
'perf' shows several percent of CPU is being utilized handling the
heavyweight locking semantics of AIO completion. With these changes,
the lock contention disappears.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 29 Apr 2019 15:37:37 +0000 (11:37 -0400)]
librbd: remove special case for starting AioCompletion ops
All ops can be immediately started now that flush ops won't
accidentally block themselves.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 29 Apr 2019 14:13:21 +0000 (10:13 -0400)]
librbd: simplify IO flush handling through AsyncOperation
Allow ImageFlushRequest to directly execute a flush call through
AsyncOperation. This will allow the flush to be directly linked
to its preceeding IOs.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Sage Weil [Thu, 2 May 2019 13:22:04 +0000 (08:22 -0500)]
Merge PR #27871 into master
* refs/pull/27871/head:
ceph_test_objectstore: add very_large_write test
os/bluestore: fix aio pwritev lost data problem.
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Yuval Lifshitz [Thu, 2 May 2019 07:15:00 +0000 (10:15 +0300)]
rgw/pubsub: fix test issue with 3 zones
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
Jason Dillaman [Wed, 1 May 2019 22:56:00 +0000 (18:56 -0400)]
Merge pull request #27844 from wjwithagen/wjw-fix-src_common_bit_vector.hpp.diff
common: Clang requires a default constructor, but it can be empty
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Samuel Just [Wed, 1 May 2019 21:33:38 +0000 (14:33 -0700)]
Merge pull request #27874 from athanatos/sjust/wip-peering-refactor-forreview
Extract peering logic into a module for use in crimson
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Patrick Donnelly [Wed, 1 May 2019 20:22:58 +0000 (13:22 -0700)]
Merge PR #27763 into master
* refs/pull/27763/head:
common/PriorityCache: fix over-aggressive assert when mem limited
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Mark Nelson [Wed, 24 Apr 2019 15:08:22 +0000 (10:08 -0500)]
common/PriorityCache: fix over-aggressive assert when mem limited
Fixes: https://tracker.ceph.com/issues/39437
Signed-off-by: Mark Nelson <mnelson@redhat.com>
Samuel Just [Thu, 25 Apr 2019 18:40:52 +0000 (11:40 -0700)]
PGStateUtils: improvements for PGStateHistory
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Mon, 22 Apr 2019 21:07:06 +0000 (14:07 -0700)]
PeeringState: don't zero backfill target num_bytes on activation
834d3c19a774f1cc93903447d91d182776e12d18 preserves num_bytes
on backfill targets in order to estimate space required to complete
backill. However, from activation until backfill reservation,
info.stats.stats.sum.num_bytes is persisted to disk as 0 messing
up future intervals. Instead, preserve it in the info sent during
recovery and leave it alone in RequestBackfillPrio.
Additionally, it's possible for backfill to be preempted between
last_backfill=MAX being sent to the replica and Backfilled being
queued occuring. In that case, the stats get on reservation
and the replica ends up with invalid stats.
Fixes: https://tracker.ceph.com/issues/39401
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Sun, 21 Apr 2019 00:54:25 +0000 (17:54 -0700)]
PeeringState: use ceph_assert
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 00:59:10 +0000 (17:59 -0700)]
admin/build-doc: use PeeringState* for gen_state_diagram.py
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 00:01:57 +0000 (17:01 -0700)]
PeeringState: add explanations for public interface methods
Also rearranges the methods a little for clarity.
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Wed, 10 Apr 2019 22:56:26 +0000 (15:56 -0700)]
PG,PeeringState: Fix initialization order
PeeringState needs to be initialized last and destructed
first.
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Wed, 10 Apr 2019 04:57:56 +0000 (21:57 -0700)]
PeeringState: mark state and helpers private
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 18:08:53 +0000 (11:08 -0700)]
osd/: clean up remaining info mutators
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 10 Apr 2019 02:29:05 +0000 (19:29 -0700)]
osd/: condense missing mutations for recovery/repair/errors
At a high level, this patch attempts to unify the various
sites at which some combination of
- mark object missing in one or more pg_missing_t
- mark object needs_recovery in missing_loc
- manipulate the locations map based on external information
occur. It seems to me that the pg_missing_t and missing_loc
should be in sync except for the mark_unfound_lost_revert
case and the case where we are about to do a backfill push.
This patch also cleans up repair_object. It sort of worked by accident
for non-ec non-primary bad peers. It didn't update missing_loc, so
needs_recovery() returns the wrong answer. However, is_unfound() does
as well, so ReplicatedBackend is nevertheless happy as the object would
be present on the primary. This patch updates the behavior to be
uniform as in the other force_obejct_missing cases.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sun, 21 Apr 2019 01:51:08 +0000 (18:51 -0700)]
test-erasure-eio: first eio may be fixed during recovery
The changes to the way EC/ReplicatedBackend communicate read
t showerrors had a side effect of making first eio on the object in
TEST_rados_get_subread_eio_shard_[01] repair itself depending
on the timing of the killed osd recovering. The test should
be improved to actually test that behavior at some point.
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Mon, 8 Apr 2019 23:32:10 +0000 (16:32 -0700)]
osd/: move pg_log, missing_loc mutations to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 18:08:53 +0000 (11:08 -0700)]
osd/: unify PGBackend pull error pathways
This patch narrows the PGBackend -> PrimaryLogPG recovery
cancel/error interface to on_failed_pull and cancel_pull.
This patch requires careful review.
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Mon, 8 Apr 2019 22:17:18 +0000 (15:17 -0700)]
osd/: move peer_info mutators into PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Sat, 13 Apr 2019 00:12:45 +0000 (17:12 -0700)]
osd/: Move log version pointer updates to PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Sat, 6 Apr 2019 01:51:14 +0000 (18:51 -0700)]
osd/: refactor to avoid mutable peer_missing refs in PG
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Sat, 6 Apr 2019 00:42:48 +0000 (17:42 -0700)]
PG: remove might_have_unfound, peer_*_requested
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 6 Apr 2019 00:38:40 +0000 (17:38 -0700)]
osd/: fix upset, actingset, acting_backfill_recovery references
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 6 Apr 2019 00:31:23 +0000 (17:31 -0700)]
osd/: fix primary/up_primary references
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 6 Apr 2019 00:24:23 +0000 (17:24 -0700)]
osd/: move last_..._to_applied, backfill_targets, async_recovery_targets to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 5 Apr 2019 23:53:32 +0000 (16:53 -0700)]
PG: fix last_peering_reset and past_intervals references
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 11 Apr 2019 21:40:15 +0000 (14:40 -0700)]
PeeringState::PeeringMachine::Deleting: rollfoward before resetting backfill
This looked wrong when I was moving it over.
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Thu, 4 Apr 2019 22:38:11 +0000 (15:38 -0700)]
osd/: add helpers to add remaining info dirtiers into PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
sjust@redhat.com [Thu, 4 Apr 2019 22:33:53 +0000 (15:33 -0700)]
osd/: move append_log into PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
sjust@redhat.com [Thu, 4 Apr 2019 22:22:22 +0000 (15:22 -0700)]
osd/: move append_log_entries_update_missing and merge_new_log_entries to PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 23:34:25 +0000 (16:34 -0700)]
osd/: clean up PG deleted and deleting references
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
sjust@redhat.com [Thu, 4 Apr 2019 21:16:50 +0000 (14:16 -0700)]
PG: remove direct acting and up references
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 23:34:55 +0000 (16:34 -0700)]
PG: begin cleaning up scrub stat and history mutations
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
sjust@redhat.com [Thu, 4 Apr 2019 21:07:45 +0000 (14:07 -0700)]
PG: remove first batch of unused references
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Thu, 4 Apr 2019 00:45:26 +0000 (17:45 -0700)]
osd/: clarify interface for introducing disk state to PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 23:58:15 +0000 (16:58 -0700)]
osd/: move ostream<< and dump logic into PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 23:57:47 +0000 (16:57 -0700)]
osd/: clean up PeeringState::write_if_dirty
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 23:56:47 +0000 (16:56 -0700)]
osd/: Move init into PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Mon, 29 Apr 2019 20:53:09 +0000 (13:53 -0700)]
osd/: move stat updates and publishing to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 23:50:14 +0000 (16:50 -0700)]
osd/: move more state helpers to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 23:46:13 +0000 (16:46 -0700)]
osd/: move split/merge helpers into PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 23:42:58 +0000 (16:42 -0700)]
osd/: fix try_mark_clean/finish_recovery interface boundary
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 00:57:01 +0000 (17:57 -0700)]
PeeringState: remove PG references and include
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 18:55:49 +0000 (11:55 -0700)]
osd/: move calc_min_last_complete_ondisk to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 00:45:45 +0000 (17:45 -0700)]
osd/: pass OSDService::logger and log_enter/exit through PeeringListener
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 3 Apr 2019 00:45:23 +0000 (17:45 -0700)]
osd/: pass merge state control through PeeringListener
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 23:53:29 +0000 (16:53 -0700)]
PeeringState: pass dump_recovery_info through to pl for recovery state
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 23:43:31 +0000 (16:43 -0700)]
PeeringState: rearrange and fix remaining pg->gen_prefix call
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 23:10:20 +0000 (16:10 -0700)]
osd/: move fulfill_info etc
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 22:58:39 +0000 (15:58 -0700)]
osd/: clarify PeeringState deletion interfaces
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 18:39:31 +0000 (11:39 -0700)]
osd/: move min_peer_*_features and helpers
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 2 Apr 2019 18:30:32 +0000 (11:30 -0700)]
osd/: move proc_* and log handling methods
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 22:33:29 +0000 (15:33 -0700)]
osd/: move share_pg_info to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 30 Mar 2019 04:45:18 +0000 (21:45 -0700)]
osd/: move waiting_for_flushed|peering handling into on_activate_complete
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 22:35:26 +0000 (15:35 -0700)]
osd/: move search_for_missing, discover_all_unfound, build_might_have_unfound
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 30 Mar 2019 04:02:54 +0000 (21:02 -0700)]
PeeringState: restructure activate to avoid snap_trimq
In particular, don't use snap_trimq when manipulating
info.purged_snaps. Pass the resulting to_trim set
into on_activate.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 12 Apr 2019 22:34:25 +0000 (15:34 -0700)]
osd/: start moving activate to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 30 Mar 2019 00:23:45 +0000 (17:23 -0700)]
osd/: move try_mark_clean/finish_recovery to PG::on_clean
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Mon, 29 Apr 2019 20:55:20 +0000 (13:55 -0700)]
osd/: move choose_acting and callees into PeeringState
Also marks IsPGRecoverablePredicate users const to allow
simply reusing the instance on MissingLoc.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 29 Mar 2019 22:56:44 +0000 (15:56 -0700)]
osd/: remove OSDService::check_osdmap_full, fix caller
PeeringState was the only remaining caller -- both the interface in
PGBackend and the pass-through in PrimaryLogPG were actually unused.
Further, the WaitLocalRecoveryReserved user does not appear to actually
require the fresh-off-of-the-wire osdmap available from OSDService.
As such, moved the logic into OSDMap itself and simply used the
PG local osdmap.
Note, the above is a change in behavior that probably could use a second
opinion.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 29 Mar 2019 22:36:55 +0000 (15:36 -0700)]
osd/: move the backfill space reservation back into PG
PeeringState really only needs an interface for requesting
it.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 29 Mar 2019 21:55:36 +0000 (14:55 -0700)]
osd/: move needs_recover/backfill, all_unfound_are_queried_or_lost
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 29 Mar 2019 18:52:37 +0000 (11:52 -0700)]
osd/: clarify recovery queueing from PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 29 Mar 2019 18:06:26 +0000 (11:06 -0700)]
osd/: move Active purged_snaps handling back to PG
Note: this patch only sets dirty_info/dirty_big_info when
info.purged_snaps is actually changed. I *think* that's
right, but that part deserves particular attention during
review.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 29 Mar 2019 00:28:40 +0000 (17:28 -0700)]
PeeringState: mechanically rename a ton of pg-> to ps->
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 28 Mar 2019 23:45:54 +0000 (16:45 -0700)]
PeeringState: introduce a macro for the ps, pl, and pg declarations
This way I can mechanically rename all of the PeeringState member
variable references.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 28 Mar 2019 22:47:05 +0000 (15:47 -0700)]
osd/: move build_prior and related state to PeeringState
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Wed, 27 Mar 2019 22:18:24 +0000 (15:18 -0700)]
PeeringState: clean up references in Primary, Start, Reset
Signed-off-by: Samuel Just <sjust@redhat.com>
sjust@redhat.com [Mon, 29 Apr 2019 20:53:24 +0000 (13:53 -0700)]
osd/: move io reservation machinery into PeeringState
This patch recasts the reservation and backoff interfaces
on PeeringListener in terms of events to queue rather than
explicit callbacks (PG handles implementing via callbacks).
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 28 Mar 2019 22:31:14 +0000 (15:31 -0700)]
osd/: remove remaining scrubber references from PeeringState
Signed-off-by: sjust@redhat.com <sjust@redhat.com>
sjust@redhat.com [Wed, 27 Mar 2019 23:13:23 +0000 (16:13 -0700)]
osd/: rephrase [un]reg_next_scrub as on_info_history_change
As PeeringState won't be as careful about usage of
on_info_history_change, add a scrub_registered flag
to protect against double-(un)registers.
Signed-off-by: sjust@redhat.com <sjust@redhat.com>