Commit Graph

88478 Commits

Author SHA1 Message Date
Yan, Zheng
43c1193915 mds: tell client why it's rejected
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2018-07-12 22:08:44 +08:00
Yan, Zheng
353fcee10a mds: introduce cephfs' own feature bits
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/14456
2018-07-12 22:08:44 +08:00
Yan, Zheng
c740000044 mds: make Server::prepare_force_open_sessions() update client metadata
The function is used for opening sessions for importing caps. It didn't
set client metadata for new sessions.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2018-07-12 22:08:44 +08:00
alfonsomthd
9f06cfb7c6 mgr/dashboard: created common Card component for info shown in landing page:
Info encapsulated in cd-info-card selector:
- Overall health status, MON/OSD/MDS/MGR status

Fixes: https://tracker.ceph.com/issues/24778

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
2018-07-12 15:23:47 +02:00
Kefu Chai
1e9a79d92f
Merge pull request #22594 from wido/mgr-pg-states
mgr: Centralize PG_STATES to MgrModule

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reveiwed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2018-07-12 20:44:59 +08:00
Kefu Chai
467411ba6b
Merge pull request #22952 from tchaikov/wip-cmake-atomic
cmake: should link against libatomic if libcxx/libstdc++ does not off…

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-07-12 20:40:41 +08:00
Kefu Chai
d33d295055 cmake: link libcrimson against libceph-common
as libcrimson uses symbols exposed by the later, among other things, the
Authorization related stuff.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:54:45 +08:00
Kefu Chai
2a6bec88c3 cmake: remove unittest_seastar_{messenger,echo} from tests
unittest_seastar_echo cannot be run as unittest w/o starting two
instances.
unittest_seastar_messenger times out. need to RCA it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:54:45 +08:00
Kefu Chai
abca980589 common: extract SubProcess impl into .cc
cleanup the header dependencies and speed-up the compiling

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:54:45 +08:00
Kefu Chai
61e748ba69 seastar: pick up fixes to address build failures
see also https://groups.google.com/forum/#!topic/seastar-dev/uEMYGgYJKOY

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:54:45 +08:00
Kefu Chai
f1f1526166 run-make-check.sh: enable WITH_SEASTAR
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:51:22 +08:00
Kefu Chai
25d5122b55 rpm,install-deps.sh: add --with-seastar option
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:49:34 +08:00
Kefu Chai
6240e5ee57 crimson: include seastar headers with 'seastar/' prefix
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:47:57 +08:00
ningtao
4c20310db8 librbd:optionally support FUA (force unit access) on write requests
Fixes: http://tracker.ceph.com/issues/19366

Signed-off-by: ningtao <63358@sangfor.com>
2018-07-12 17:44:33 +08:00
Sage Weil
360211ed7b Merge PR #22877 into master
* refs/pull/22877/head:
	common: fix races when visiting a TrackedOp.

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2018-07-11 22:02:02 -05:00
Sage Weil
910f3aec1a Merge PR #22946 into master
* refs/pull/22946/head:
	os/bluestore: batch handle get_fragmentation.

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2018-07-11 22:01:57 -05:00
Sage Weil
a28907fb14 Merge PR #22950 into master
* refs/pull/22950/head:
	rpm: move make check-specific build deps to appropriate conditional block
	rpm: remove universal requires from distro-specific conditional blocks

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-07-11 22:01:52 -05:00
Sage Weil
d1653a4cbc Merge PR #22972 into master
* refs/pull/22972/head:
	os/bluestore: fix races on SharedBlob::coll in ~SharedBlob.

Reviewed-by: Sage Weil <sage@redhat.com>
2018-07-11 22:01:47 -05:00
Sage Weil
b7b5105d0c Merge PR #22974 into master
* refs/pull/22974/head:
	qa/standalone/osd/ec-error-rollforward: reproduce bug 24597
	qa/suites/rados/thrash-erasure-code: add many deletes workload
	qa/standalone/osd/repro_long_log.sh: fix test
	osd/PG: do not blindly roll forward to log.head

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2018-07-11 22:01:42 -05:00
Sage Weil
4108ebc0ab qa/standalone/osd/ec-error-rollforward: reproduce bug 24597
This reproduces http://tracker.ceph.com/issues/24597

Signed-off-by: Sage Weil <sage@redhat.com>
2018-07-11 16:15:49 -05:00
Sage Weil
1fdd424815 qa/suites/rados/thrash-erasure-code: add many deletes workload
Having lots of deletes will mean deletes on objects that don't exist,
which will in turn mean error log entries and more coverage of the
append_log_entries_update_missing code.  Hopefully this will trigger
http://tracker.ceph.com/issues/24597

Signed-off-by: Sage Weil <sage@redhat.com>
2018-07-11 16:15:49 -05:00
Sage Weil
4f9fdd98e2 qa/standalone/osd/repro_long_log.sh: fix test
The log trimming case wasn't quite right.  Before HEAD^ we were
rolling forward too aggressively and miscalculating the can_rollforward_to,
which affected the trim_to calculation.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-07-11 16:15:49 -05:00
Sage Weil
858ff647ff osd/PG: do not blindly roll forward to log.head
If we are told we can roll forward by the primary, we should only roll
forward as far as the primary says we can.

This probably came out of the similar case in append_log(), but notably
that roll_forward() only happens if !transaction_applied (i.e., backfill
target), and that condition is not checked here.

Fixes: http://tracker.ceph.com/issues/24597
Signed-off-by: Sage Weil <sage@redhat.com>
2018-07-11 16:15:49 -05:00
Abhishek L
65c41200bc
Merge pull request #22989 from theanalyst/doc/releases/v10.2.11
doc: releases: release notes for v10.2.11 Jewel

Reviewed-By: Nathan Cutler <ncutler@suse.com>
2018-07-11 23:01:10 +02:00
Patrick Donnelly
4d3060b990
qa: use root to find client admin socket
Permissions on /var/run/ceph changed post-Mimic.

Fixes: http://tracker.ceph.com/issues/24872

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-11 11:28:20 -07:00
Sage Weil
860296c030 Merge PR #22908 into master
* refs/pull/22908/head:
	common: move ConfigValues out of md_config_t
	common,rbd,rgw,osd: extract config values into ConfigValues

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-07-11 09:50:46 -05:00
Sage Weil
2df6366c22 Merge PR #22953 into master
* refs/pull/22953/head:
	ceph-bluestore-tool: remove path_* support from prime-osd-dir

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2018-07-11 09:50:40 -05:00
Sage Weil
4de6fda0dc Merge PR #22968 into master
* refs/pull/22968/head:
	messages/MMDSMap: fix reencoding for older clients

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-11 09:50:35 -05:00
Sage Weil
1d9d61b784 Merge PR #22969 into master
* refs/pull/22969/head:
	qa/mgr: delete devicehealth pool after selftest

Reviewed-by: Sage Weil <sage@redhat.com>
2018-07-11 09:50:27 -05:00
Abhishek Lekshmanan
ad28a23ec9 doc: releases: release notes for v10.2.11
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2018-07-11 16:39:03 +02:00
Sage Weil
267d22639e messages/MMDSMap: fix reencoding for older clients
This was broken by ea1481d08d.

Fixes: http://tracker.ceph.com/issues/24819
Signed-off-by: Sage Weil <sage@redhat.com>
2018-07-11 08:44:23 -05:00
Nathan Cutler
12ef59fdb0 rpm: move make check-specific build deps to appropriate conditional block
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-07-11 13:56:49 +02:00
Nathan Cutler
3a30dd13a3 rpm: remove universal requires from distro-specific conditional blocks
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-07-11 13:51:04 +02:00
Lenz Grimmer
33d0f57eeb
Merge pull request #22593 from wido/mgr-dashboard-ssl
mgr/dashboard: Add option to disable SSL

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-07-11 11:25:16 +02:00
Wido den Hollander
21fbfc9c3a
mgr/dashboard: Add option to disable SSL
Although is preferred and should be enabled by default users might
want to disable SSL as the dashboard might be running behind a proxy
which terminates the SSL.

Fixes: https://tracker.ceph.com/issues/24674

Signed-off-by: Wido den Hollander <wido@42on.com>
2018-07-11 10:49:22 +02:00
Radoslaw Zarzynski
d1b16749c7 os/bluestore: fix races on SharedBlob::coll in ~SharedBlob.
Example scenario:
  ```
  A: BlueStore::Collection::split_cache(src, dest)
  A: std::lock(src->cache->lock, dest->cache->lock)

  B: SharedBlob::~SharedBlob
  B: waits coll->cache->lock // coll == src

  A: sb->coll := dest
  A: unlocks both src and dest's cache mutexes

  C: // any locked operation on dest's cache
  C: acquires dest->cache->lock
  C: begins the op

  B: // with the src's cache mutex acquired
  B: BufferSpace::_clear(coll->cache) // coll == dest
  B: // oops, B operates on cache already locked by C
  ```

Fixes: http://tracker.ceph.com/issues/24859
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2018-07-11 02:01:45 +02:00
Patrick Donnelly
c05a7473d0
Merge PR #22784 into master
* refs/pull/22784/head:
	doc: fix Ceph FS
	doc: new label and glossary url
	doc: drop linking to itself

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-10 14:23:53 -07:00
Patrick Donnelly
934bd3b856
Merge PR #22144 into master
* refs/pull/22144/head:
	cephfs-journal-tool: Fix purging when importing an zero-length journal.

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-10 13:24:33 -07:00
Patrick Donnelly
bb7fbdb96b
Merge PR #22455 into master
* refs/pull/22455/head:
	qa/ceph-volume: add a test for put_object_versioned()
	ceph-volume-client: allow atomic updates for RADOS objects

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-10 13:24:27 -07:00
Patrick Donnelly
15733f0a1f
Merge PR #22543 into master
* refs/pull/22543/head:
	qa/tasks/cephfs: add test for ceph_abort_conn()
	libcephfs: introduce ceph_get_instance_id()
	client: introduce ceph_abort_conn()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-10 13:24:20 -07:00
Patrick Donnelly
fdb1e142c1
Merge PR #22961 into master
* refs/pull/22961/head:
	doc/cephfs: make scary DR bits less prominent

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-10 12:55:42 -07:00
John Spray
d7601c546f qa/mgr: delete devicehealth pool after selftest
This prevents tests getting hung up on the health
warnings from its very low pg count.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-07-10 12:54:52 -04:00
vasukulkarni
9731dff850
Merge pull request #22921 from ceph/wip-default-ceph-volume
qa/tests: remove ceph-disk tests from ceph-deploy and default all tests to use ceph-volume
2018-07-10 09:37:34 -07:00
Radoslaw Zarzynski
871cbf0f61 common: fix races when visiting a TrackedOp.
Before the commit following race can happen:
  ```
  A           : OpTracker::visit_ops_in_flight(..., callable leaking TrackedOpRef outside)
  A           : Mutex::Locker::Locker(sdata->ops_in_flight_lock_sharded)
  A with lock : (nref > 0) == true

  B           : TrackedOp::put(), nref := 0 // updating the counter is done without the lock
  B           : OpTracker::unregister_inflight_op()
  B           : Mutex::Locker::Locker(sdata->ops_in_flight_lock_sharded)

  A with lock : visit() -> TrackedOp::get(), nref := 1
  A with lock : Mutex::Locker::~Locker()

  B with lock : boost::intrusive::list::iterator_to(op)
  B with lock : boost::intrusive::list::erase(iter)
  B with lock : Mutex::Locker::~Locker()

  A           : TrackedOp::put(), nref := 0
  A           : OpTracker::unregister_inflight_op()
  A           : Mutex::Locker::Locker(sdata->ops_in_flight_lock_sharded)
  A with lock : boost::intrusive::list::iterator_to(op) // oops as op doesn't belong to the list anymore
  ```

Fixes: https://tracker.ceph.com/issues/24664
Related-To: https://tracker.ceph.com/issues/24037
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2018-07-10 18:12:39 +02:00
Kefu Chai
f528475d92 common: move ConfigValues out of md_config_t
by moving ConfigValues out of md_config_t, we are able to point
md_config_t to a new ConfigValues instance at runtime, without
destroying the old one.

also remove ConfigReader, because all md_config_obs_t will be updated
with ConfigProxy now. as md_config_t is not able to offer the *data*
anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-10 23:42:59 +08:00
Kefu Chai
4718b7cb2f common,rbd,rgw,osd: extract config values into ConfigValues
this change introduce three classes: ConfigValues, ConfigProxy and
ConfigReader. in seastar port of OSD, each CPU shard will hold its own
reference of configuration, and upon changes of settings, each
shard will be updated with the new setting in async. so this forces us
to be able to keep two set of configuration at the same time. so we
need to extract the changeable part of md_config_t out. so we can
replace the old one with new one on demand, and let different shards
share the same unchanged part, amon the other things, the Options map
and the lookup tables. that's why we need ConfigValues. we will add
a policy template for this class, so we can specialize for Seastar
implementation to allow different ConfigProxy instances to point
md_config_impl<> to different ConfigValues.

because the observer interface is still using md_config_t, to minimise
the impact of this change, handle_conf_change() and
handle_subsys_change() are not changed. but as it accepts a `const
md_config_t`, which cannot be used to create/reference the ConfigProxy
holding it, we need to introduce ConfigReader for reading the updated
setting from md_config_t in a simpler way, without exposing the
internal "values" member variable.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-10 22:51:22 +08:00
Patrick Donnelly
ff48cc09df
mds: clarify doc string for mds_beacon_grace
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-10 06:56:18 -07:00
Sage Weil
737b9e3ef8 Merge PR #22940 into master
* refs/pull/22940/head:
	mon/OSDMonitor: add 'osd repeer <pgid>' command

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-07-10 08:42:27 -05:00
Sage Weil
c63be04dee Merge PR #22949 into master
* refs/pull/22949/head:
	cmake: cleanup FindCython.cmake

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2018-07-10 08:42:22 -05:00
Sage Weil
92e162c961 Merge PR #22954 into master
* refs/pull/22954/head:
	global/global_init: fix stdout/stderr/stdin closing for daemonization

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2018-07-10 08:42:17 -05:00