]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agocrimson/osd: shutdown services in the right order 27987/head
Kefu Chai [Tue, 7 May 2019 07:06:42 +0000 (15:06 +0800)]
crimson/osd: shutdown services in the right order

we should stop config service *after* osd is stopped, as osd depends on
a working and alive config subsystem when stopping itself. for instance,
the destructor of AuthRegistry unregisters itself from the ObserverMgr,
which is in turn a member variable of ConfigProxy, so if ConfigProxy is
destroyed before we destroy mon::Client, we will have a segfault with
following backtrace

ObserverMgr<ceph::md_config_obs_impl<ceph::common::ConfigProxy>
>::remove_observer(ceph::md_config_obs_impl<ceph::common::ConfigProxy>*)
at /var/ssd/ceph/build/../src/common/config_obs_mgr.h:78
AuthRegistry::~AuthRegistry() at
/var/ssd/ceph/build/../src/crimson/common/config_proxy.h:101
 (inlined by) AuthRegistry::~AuthRegistry() at
/var/ssd/ceph/build/../src/auth/AuthRegistry.cc:28
ceph::mon::Client::~Client() at
/var/ssd/ceph/build/../src/crimson/mon/MonClient.h:44
ceph::mon::Client::~Client() at
/var/ssd/ceph/build/../src/crimson/mon/MonClient.h:44
OSD::~OSD() at /usr/include/c++/9/bits/unique_ptr.h:81

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26152 from noonedeadpunk/mgr/zabbix_discovery
Gregory Farnum [Mon, 6 May 2019 20:15:54 +0000 (13:15 -0700)]
Merge pull request #26152 from noonedeadpunk/mgr/zabbix_discovery

mgr/zabbix Added pools discovery and per-pool statistics

Reviewed-by: Wido den Hollander <wido@42on.com>
6 years agoApply suggestions from code review 26152/head
Sebastian Wagner [Mon, 6 May 2019 17:19:01 +0000 (20:19 +0300)]
Apply suggestions from code review

Signed-off-by: Dmitriy Rabotjagov <noonedeadpunk@ya.ru>
6 years agoMerge pull request #27967 from liewegas/wip-fix-rgw-bias
Casey Bodley [Mon, 6 May 2019 17:05:54 +0000 (13:05 -0400)]
Merge pull request #27967 from liewegas/wip-fix-rgw-bias

rgw/rgw_tools: fix 'osd pool set' json syntax

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agomgr/dashboard: Allow the decrease of pg's of an existing pool (#27785)
Lenz Grimmer [Mon, 6 May 2019 15:38:34 +0000 (17:38 +0200)]
mgr/dashboard: Allow the decrease of pg's of an existing pool (#27785)

mgr/dashboard: Allow the decrease of pg's of an existing pool

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
6 years agoMerge pull request #27977 from cbodley/wip-39597
Casey Bodley [Mon, 6 May 2019 14:50:07 +0000 (10:50 -0400)]
Merge pull request #27977 from cbodley/wip-39597

doc/rgw: document CreateBucketConfiguration for s3 PUT Bucket api

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
6 years agoMerge pull request #27968 from iotcg/master
Kefu Chai [Mon, 6 May 2019 13:39:16 +0000 (21:39 +0800)]
Merge pull request #27968 from iotcg/master

vstart.sh: correct ceph-run path

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agodoc/rgw: document CreateBucketConfiguration for s3 PUT Bucket api 27977/head
Casey Bodley [Mon, 6 May 2019 13:33:05 +0000 (09:33 -0400)]
doc/rgw: document CreateBucketConfiguration for s3 PUT Bucket api

Fixes: http://tracker.ceph.com/issues/39597
Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #27970 from Liuchang0812/duplicate-tags-bl
Casey Bodley [Mon, 6 May 2019 12:43:46 +0000 (08:43 -0400)]
Merge pull request #27970 from Liuchang0812/duplicate-tags-bl

rgw: eliminates duplicated tags_bl var

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agodoc: fix small typo in dashboard documentation (#27850)
Lenz Grimmer [Mon, 6 May 2019 08:22:39 +0000 (10:22 +0200)]
doc: fix small typo in dashboard documentation (#27850)

doc: fix small typo in dashboard documentation

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
6 years agovstart.sh: correct ceph-run path 27968/head
Changcheng Liu [Mon, 6 May 2019 02:29:11 +0000 (10:29 +0800)]
vstart.sh: correct ceph-run path

ceph-run is in the same directory as vstart.sh. It's often that
vstart.sh is run under build directory. Without giving the right
directory, ceph-run file can't be found.

Signed-off-by: Changcheng Liu <changcheng.liu@intel.com>
6 years agorgw: eliminates duplicated tags_bl var 27970/head
Chang Liu [Mon, 6 May 2019 07:05:50 +0000 (15:05 +0800)]
rgw: eliminates duplicated tags_bl var

Signed-off-by: Chang Liu <liuchang0812@gmail.com>
6 years agoMerge pull request #27538 from iotcg/radosgw
Kefu Chai [Mon, 6 May 2019 05:29:46 +0000 (13:29 +0800)]
Merge pull request #27538 from iotcg/radosgw

init-radosgw: use ceph-conf to get cluster configuration value

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agorgw/rgw_tools: fix 'osd pool set' json syntax 27967/head
Sage Weil [Mon, 6 May 2019 01:29:17 +0000 (20:29 -0500)]
rgw/rgw_tools: fix 'osd pool set' json syntax

Fixes af30e3a512dd1e5c51639d1f823b99ed9b43fb50

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #27885 from b-ranto/wip-restful-perf-counters
Kefu Chai [Sat, 4 May 2019 05:28:13 +0000 (13:28 +0800)]
Merge pull request #27885 from b-ranto/wip-restful-perf-counters

restful: Expose perf counters

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #27891 from tchaikov/wip-mgr-pgp-num-change-throttling
Kefu Chai [Sat, 4 May 2019 05:26:39 +0000 (13:26 +0800)]
Merge pull request #27891 from tchaikov/wip-mgr-pgp-num-change-throttling

mgr/DaemonServer: refactor pgp_num changes throttling

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #27960 from yuriw/wip-yuriw-crontab-master
Yuri Weinstein [Fri, 3 May 2019 20:36:56 +0000 (13:36 -0700)]
Merge pull request #27960 from yuriw/wip-yuriw-crontab-master

qa/tests: removed all runs on ovh

6 years agoMerge pull request #27896 from ivancich/wip-add-rgw-period-comments
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>
6 years agoMerge pull request #27956 from yuriw/wip-yuriw-smoke-master
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

6 years agoqa/tests: removed all runs on ovh 27960/head
Yuri Weinstein [Fri, 3 May 2019 19:39:21 +0000 (12:39 -0700)]
qa/tests: removed all runs on ovh

and consolidated `smoke` runs re: https://github.com/ceph/ceph/pull/27956

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
6 years agorgw: add some comments to rgw code to help explain functionality 27896/head
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>
6 years agoMerge pull request #27838 from yuvalif/wip-yuval-pubsub_teuthology-new
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>
6 years agoqa/tests - cleaned up distro settings 27956/head
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>
6 years agoMerge pull request #27448 from ricardoasmarques/upgrade-ceph-iscsi-version
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>
6 years agoMerge pull request #27887 from smithfarm/wip-bci-len255plus
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>
6 years agoMerge pull request #27895 from dillaman/wip-librbd-zero-copy
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>
6 years agoMerge pull request #16929 from amitkumar50/cov-rgw-1
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>
6 years agoMerge pull request #27927 from tchaikov/wip-util.collect_sys_info-is-optional
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>
6 years agoMerge pull request #27897 from ivancich/wip-add-editor-comments-rgw-services
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>
6 years agoMerge pull request #27820 from smithfarm/wip-39361
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>
6 years agotest: do not conditionize on GTEST_HAS_PARAM_TEST 27927/head
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>
6 years agotest: s/INSTANTIATE_TEST_CASE_P/INSTANTIATE_TEST_SUITE_P/
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>
6 years agoqa/valgrind.supp: added false-positive in boost::queue::lockfree 27895/head
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>
6 years agotest/rbd_mirror: add "using ::testing::DoAll"
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>
6 years agotest/common/test_util: skip it if /etc/os-release does not exist
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>
6 years agocmake: do not install googletest
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>
6 years agogoogletest: pick up GTEST_SKIP() changes
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>
6 years agorgw/pubsub: fix more test issues with teuthology failures 27838/head
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>
6 years agolibrbd: use zero-copy on write via the C API when cache is disabled
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>
6 years agocommon/deleter: added missing headers
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>
6 years agolibrbd: allow AioCompletion objects to be blocked
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>
6 years agolibrbd: AioCompletion fail path should complete in clean thread
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>
6 years agolibrbd: simplify AioCompletion reference counting for 'fail' case
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>
6 years agolibrbd: switch to lock-free queue for event poll IO interface
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>
6 years agolibrbd: avoid using lock within AIO completion where possible
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>
6 years agolibrbd: remove special case for starting AioCompletion ops
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>
6 years agolibrbd: simplify IO flush handling through AsyncOperation
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>
6 years agoMerge PR #27871 into master
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>
6 years agorgw/pubsub: fix test issue with 3 zones
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>
6 years agoMerge pull request #27844 from wjwithagen/wjw-fix-src_common_bit_vector.hpp.diff
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>
6 years agoMerge pull request #27874 from athanatos/sjust/wip-peering-refactor-forreview
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>
6 years agoMerge PR #27763 into master
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>
6 years agocommon/PriorityCache: fix over-aggressive assert when mem limited 27763/head
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>
6 years agoPGStateUtils: improvements for PGStateHistory 27874/head
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>
6 years agoPeeringState: don't zero backfill target num_bytes on activation
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>
6 years agoPeeringState: use ceph_assert
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>
6 years agoadmin/build-doc: use PeeringState* for gen_state_diagram.py
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>
6 years agoPeeringState: add explanations for public interface methods
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>
6 years agoPG,PeeringState: Fix initialization order
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>
6 years agoPeeringState: mark state and helpers private
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>
6 years agoosd/: clean up remaining info mutators
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>
6 years agoosd/: condense missing mutations for recovery/repair/errors
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>
6 years agotest-erasure-eio: first eio may be fixed during recovery
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>
6 years agoosd/: move pg_log, missing_loc mutations to PeeringState
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>
6 years agoosd/: unify PGBackend pull error pathways
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>
6 years agoosd/: move peer_info mutators into PeeringState
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>
6 years agoosd/: Move log version pointer updates to PeeringState
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>
6 years agoosd/: refactor to avoid mutable peer_missing refs in PG
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>
6 years agoPG: remove might_have_unfound, peer_*_requested
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>
6 years agoosd/: fix upset, actingset, acting_backfill_recovery references
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>
6 years agoosd/: fix primary/up_primary references
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>
6 years agoosd/: move last_..._to_applied, backfill_targets, async_recovery_targets to PeeringState
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>
6 years agoPG: fix last_peering_reset and past_intervals references
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>
6 years agoPeeringState::PeeringMachine::Deleting: rollfoward before resetting backfill
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>
6 years agoosd/: add helpers to add remaining info dirtiers into PeeringState
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>
6 years agoosd/: move append_log into PeeringState
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>
6 years agoosd/: move append_log_entries_update_missing and merge_new_log_entries to PeeringState
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>
6 years agoosd/: clean up PG deleted and deleting references
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>
6 years agoPG: remove direct acting and up references
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>
6 years agoPG: begin cleaning up scrub stat and history mutations
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>
6 years agoPG: remove first batch of unused references
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>
6 years agoosd/: clarify interface for introducing disk state to PeeringState
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>
6 years agoosd/: move ostream<< and dump logic into PeeringState
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>
6 years agoosd/: clean up PeeringState::write_if_dirty
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>
6 years agoosd/: Move init into PeeringState
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>
6 years agoosd/: move stat updates and publishing to PeeringState
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>
6 years agoosd/: move more state helpers to PeeringState
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>
6 years agoosd/: move split/merge helpers into PeeringState
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>
6 years agoosd/: fix try_mark_clean/finish_recovery interface boundary
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>
6 years agoPeeringState: remove PG references and include
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>
6 years agoosd/: move calc_min_last_complete_ondisk to PeeringState
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>
6 years agoosd/: pass OSDService::logger and log_enter/exit through PeeringListener
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>
6 years agoosd/: pass merge state control through PeeringListener
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>
6 years agoPeeringState: pass dump_recovery_info through to pl for recovery state
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>
6 years agoPeeringState: rearrange and fix remaining pg->gen_prefix call
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>
6 years agoosd/: move fulfill_info etc
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>
6 years agoosd/: clarify PeeringState deletion interfaces
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>
6 years agoosd/: move min_peer_*_features and helpers
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>
6 years agoosd/: move proc_* and log handling methods
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>
6 years agoosd/: move share_pg_info to PeeringState
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>