]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Neha Ojha [Tue, 17 Jul 2018 01:11:27 +0000 (18:11 -0700)]
osd/PGLog: allow pg log trim when complete_to is less than trim_to
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Tue, 17 Jul 2018 01:01:26 +0000 (18:01 -0700)]
osd: reset complete_to when trimming the log past it
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 16 Jul 2018 23:48:58 +0000 (16:48 -0700)]
osd: allow trim() to proceed when there are missing items
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 16 Jul 2018 23:31:22 +0000 (16:31 -0700)]
osd: handle trim() during backfill and async recovery
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 16 Jul 2018 22:42:43 +0000 (15:42 -0700)]
osd: add flag to remember async recovery
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 16 Jul 2018 22:06:12 +0000 (15:06 -0700)]
osd: print pg log length and trim_to
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 16 Jul 2018 21:46:21 +0000 (14:46 -0700)]
osd: make calc_trim_to() independent of min_last_complete_ondisk
Signed-off-by: Neha Ojha <nojha@redhat.com>
Patrick Donnelly [Mon, 16 Jul 2018 16:17:19 +0000 (09:17 -0700)]
Merge PR #23068 into master
* refs/pull/23068/head:
doc: fix some errors in the cephfs-journal-tool
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Jason Dillaman [Mon, 16 Jul 2018 15:43:11 +0000 (11:43 -0400)]
Merge pull request #22737 from trociny/wip-24675
librbd: validate data pool for self-managed snapshot support
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Zhu Shangzhong [Mon, 16 Jul 2018 07:16:29 +0000 (15:16 +0800)]
doc: fix some errors in the cephfs-journal-tool
Signed-off-by: Zhu Shangzhong <zhu.shangzhong@zte.com.cn>
Patrick Donnelly [Sun, 15 Jul 2018 22:10:08 +0000 (15:10 -0700)]
Merge PR #23059 into master
* refs/pull/23059/head:
common/ceph_strings: add request_flush_mdlog op names to ceph_session_op_name()
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Sun, 15 Jul 2018 22:03:13 +0000 (15:03 -0700)]
Merge PR #22211 into master
* refs/pull/22211/head:
cephfs-journal-tool: get and check layout info during dump/undump
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
Patrick Donnelly [Sun, 15 Jul 2018 22:03:08 +0000 (15:03 -0700)]
Merge PR #22705 into master
* refs/pull/22705/head:
Changed Lua library support from all to partial
mds/Mantle: Fixed Mantle's obsolete Lua C++ API
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Sun, 15 Jul 2018 22:03:03 +0000 (15:03 -0700)]
Merge PR #22751 into master
* refs/pull/22751/head:
test: add tests for ceph_utime() and friends
libcephfs: extend support for changing file access/modification time
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Zheng Yan <zyan@redhat.com>
Patrick Donnelly [Sun, 15 Jul 2018 22:02:58 +0000 (15:02 -0700)]
Merge PR #22801 into master
* refs/pull/22801/head:
client: add inst to asok status output
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Patrick Donnelly [Sun, 15 Jul 2018 22:02:57 +0000 (15:02 -0700)]
githubmap: update contributors
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Sun, 15 Jul 2018 22:01:59 +0000 (15:01 -0700)]
Merge PR #22804 into master
* refs/pull/22804/head:
mds: remove useless dout_subsys macro
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Mykola Golub [Wed, 27 Jun 2018 14:18:24 +0000 (17:18 +0300)]
librbd: validate data pool for self-managed snapshot support
Fixes: https://tracker.ceph.com/issues/24675
Signed-off-by: Mykola Golub <mgolub@suse.com>
Jason Dillaman [Sat, 14 Jul 2018 18:18:02 +0000 (14:18 -0400)]
Merge pull request #22945 from cxytt/master
librbd:optionally support FUA (force unit access) on write requests
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Sat, 14 Jul 2018 18:17:17 +0000 (14:17 -0400)]
Merge pull request #22637 from zy751713126/resize_equal_size
rbd: error if new size is equal to original size
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Sat, 14 Jul 2018 18:16:57 +0000 (14:16 -0400)]
Merge pull request #20112 from liyichao/aio_fail
librbd: handle aio failure in ManagedLock and PreReleaseRequest
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Kefu Chai [Sat, 14 Jul 2018 13:33:08 +0000 (21:33 +0800)]
Merge pull request #23046 from tchaikov/wip-ftbfs-rgw-kefu
rgw: fix FTBFS introduced by
abca9805
Kefu Chai [Sat, 14 Jul 2018 10:26:17 +0000 (18:26 +0800)]
rgw: fix FTBFS introduced by
abca9805
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 14 Jul 2018 09:36:20 +0000 (17:36 +0800)]
Merge pull request #22809 from tchaikov/wip-with-seastar
run-make-check: enable --with-seastar option
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Kefu Chai [Sat, 14 Jul 2018 07:47:00 +0000 (15:47 +0800)]
Merge pull request #22964 from tchaikov/wip-import-pub-key-without-hkp-server
install-deps.sh: import ubuntu-toolchain-r's key without keyserver
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Patrick Donnelly [Sat, 14 Jul 2018 01:16:51 +0000 (18:16 -0700)]
Merge PR #22971 into master
* refs/pull/22971/head:
qa: optionally use old fs name during cephfs remount
qa: remove dead code
qa: run asok command on correct machine
Patrick Donnelly [Sat, 14 Jul 2018 01:15:17 +0000 (18:15 -0700)]
qa: optionally use old fs name during cephfs remount
This fixes errors caused by remount done by some tests (test_recovery_pool.py)
where the fs name is not given.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Sat, 14 Jul 2018 01:15:03 +0000 (18:15 -0700)]
qa: remove dead code
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Tue, 10 Jul 2018 20:14:05 +0000 (13:14 -0700)]
qa: run asok command on correct machine
The MDS may not be on the same machine where the cluster command is run.
Fixes: http://tracker.ceph.com/issues/24858
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Fri, 13 Jul 2018 20:57:17 +0000 (13:57 -0700)]
Merge PR #21885 into master
* refs/pull/21885/head:
qa: update cluster log health warning message
qa: add tests for client features
mds: evict clients that lack required features
mds: cleanup MDSRank::evict_client
mds: infer client version by client metadata and connection's features
mds: introduce "ceph fs set <fs_name> min_compat_client <release_name>"
mds: tell client why it's rejected
mds: introduce cephfs' own feature bits
mds: make Server::prepare_force_open_sessions() update client metadata
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Fri, 13 Jul 2018 20:57:10 +0000 (13:57 -0700)]
Merge PR #23018 into master
* refs/pull/23018/head:
qa: use 4 mds cluster for multifs tests
Reviewed-by: Zheng Yan <zyan@redhat.com>
Patrick Donnelly [Fri, 13 Jul 2018 04:35:46 +0000 (21:35 -0700)]
qa: use 4 mds cluster for multifs tests
Fixes: http://tracker.ceph.com/issues/24899
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Fri, 13 Jul 2018 17:57:24 +0000 (10:57 -0700)]
qa: update cluster log health warning message
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Matt Benjamin [Fri, 13 Jul 2018 16:36:24 +0000 (12:36 -0400)]
Merge pull request #23033 from linuxbox2/wip-rgw-409
rgw: do not ignore EEXIST in RGWPutObj::execute
Kefu Chai [Fri, 13 Jul 2018 15:32:47 +0000 (23:32 +0800)]
Merge pull request #23020 from tchaikov/wip-config-value-friend
common/config_values: friend md_config_impl<>
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Matt Benjamin [Thu, 12 Jul 2018 20:42:29 +0000 (16:42 -0400)]
rgw: do not ignore EEXIST in RGWPutObj::execute
The existing logic appears able to cause propagation of a failed
exclusive create to the client, when it should instead have been
retried, due to disagreement about the logical write offset. (The
value of ofs here could be > 0 due to the operation of a stacked
write filter [e.g., compressor], when the RADOS write offset was
0 and hence an exclusive write that should be retried).
Rationale for fix by Casey.
http://tracker.ceph.com/issues/22790
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Kefu Chai [Fri, 13 Jul 2018 09:25:41 +0000 (17:25 +0800)]
rbd-ggate: filter out ceph options from args
we can just filter out ceph options from command line args instead of
parsing config in env variables, conf files and argvs.
the config-parsing steps were modeled after the ones in rbd-nbd.cc, but
the whole purpose of reading configurations from env/conf-file is to get
the "rbd_default_pool" for setting cfg->poolname. apparently, this does
not apply to rbd-ggate, where global_init() will take care of all the
trivial work to populate the settings. moreover, `config` is not
read after being initialized in main.cc. so drop it.
Signed-off-by: Mykola Golub <mgolub@suse.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Fri, 13 Jul 2018 07:04:24 +0000 (15:04 +0800)]
common/config_values: friend md_config_impl<>
Signed-off-by: Kefu Chai <kchai@redhat.com>
Patrick Donnelly [Fri, 13 Jul 2018 04:38:36 +0000 (21:38 -0700)]
Merge PR #22995 into master
* refs/pull/22995/head:
qa: use root to find client admin socket
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Yanhu Cao [Fri, 13 Jul 2018 03:19:05 +0000 (11:19 +0800)]
common/ceph_strings: add request_flush_mdlog op names to ceph_session_op_name()
Signed-off-by: Yanhu Cao <gmayyyha@gmail.com>
Patrick Donnelly [Thu, 12 Jul 2018 13:25:53 +0000 (06:25 -0700)]
qa: add tests for client features
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Yan, Zheng [Wed, 27 Jun 2018 08:34:37 +0000 (16:34 +0800)]
mds: evict clients that lack required features
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Kefu Chai [Thu, 12 Jul 2018 15:10:54 +0000 (23:10 +0800)]
Merge pull request #22938 from tchaikov/wip-bundled-dpdk
cmake: do not depend on ${DPDK_LIBRARIES} if not using bundled dpdk
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yan, Zheng [Wed, 27 Jun 2018 08:00:35 +0000 (16:00 +0800)]
mds: cleanup MDSRank::evict_client
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Yan, Zheng [Mon, 21 May 2018 11:54:16 +0000 (19:54 +0800)]
mds: infer client version by client metadata and connection's features
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Yan, Zheng [Mon, 21 May 2018 09:11:45 +0000 (17:11 +0800)]
mds: introduce "ceph fs set <fs_name> min_compat_client <release_name>"
The command set the oldest version of client that is allowed to connect
to mds.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Yan, Zheng [Fri, 11 May 2018 14:39:24 +0000 (22:39 +0800)]
mds: tell client why it's rejected
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Yan, Zheng [Wed, 9 May 2018 01:05:31 +0000 (09:05 +0800)]
mds: introduce cephfs' own feature bits
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/14456
Yan, Zheng [Tue, 13 Mar 2018 11:19:04 +0000 (19:19 +0800)]
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>
Kefu Chai [Thu, 12 Jul 2018 12:44:59 +0000 (20:44 +0800)]
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>
Kefu Chai [Thu, 12 Jul 2018 12:40:41 +0000 (20:40 +0800)]
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>
Kefu Chai [Mon, 9 Jul 2018 11:03:37 +0000 (19:03 +0800)]
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>
Kefu Chai [Mon, 9 Jul 2018 10:47:39 +0000 (18:47 +0800)]
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>
Kefu Chai [Thu, 5 Jul 2018 06:51:21 +0000 (14:51 +0800)]
common: extract SubProcess impl into .cc
cleanup the header dependencies and speed-up the compiling
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 3 Jul 2018 14:58:08 +0000 (22:58 +0800)]
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>
Kefu Chai [Tue, 3 Jul 2018 06:58:21 +0000 (14:58 +0800)]
run-make-check.sh: enable WITH_SEASTAR
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 3 Jul 2018 09:06:47 +0000 (17:06 +0800)]
rpm,install-deps.sh: add --with-seastar option
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 3 Jul 2018 06:54:39 +0000 (14:54 +0800)]
crimson: include seastar headers with 'seastar/' prefix
Signed-off-by: Kefu Chai <kchai@redhat.com>
ningtao [Thu, 12 Jul 2018 09:44:33 +0000 (17:44 +0800)]
librbd:optionally support FUA (force unit access) on write requests
Fixes: http://tracker.ceph.com/issues/19366
Signed-off-by: ningtao <63358@sangfor.com>
Sage Weil [Thu, 12 Jul 2018 03:02:02 +0000 (22:02 -0500)]
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>
Sage Weil [Thu, 12 Jul 2018 03:01:57 +0000 (22:01 -0500)]
Merge PR #22946 into master
* refs/pull/22946/head:
os/bluestore: batch handle get_fragmentation.
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Sage Weil [Thu, 12 Jul 2018 03:01:52 +0000 (22:01 -0500)]
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>
Sage Weil [Thu, 12 Jul 2018 03:01:47 +0000 (22:01 -0500)]
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>
Sage Weil [Thu, 12 Jul 2018 03:01:42 +0000 (22:01 -0500)]
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>
Sage Weil [Wed, 11 Jul 2018 21:14:38 +0000 (16:14 -0500)]
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>
Sage Weil [Wed, 11 Jul 2018 13:18:34 +0000 (08:18 -0500)]
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>
Sage Weil [Wed, 11 Jul 2018 12:10:28 +0000 (07:10 -0500)]
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>
Sage Weil [Wed, 11 Jul 2018 01:22:49 +0000 (20:22 -0500)]
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>
Abhishek L [Wed, 11 Jul 2018 21:01:10 +0000 (23:01 +0200)]
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>
Patrick Donnelly [Wed, 11 Jul 2018 18:28:20 +0000 (11:28 -0700)]
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>
Sage Weil [Wed, 11 Jul 2018 14:50:46 +0000 (09:50 -0500)]
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>
Sage Weil [Wed, 11 Jul 2018 14:50:40 +0000 (09:50 -0500)]
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>
Sage Weil [Wed, 11 Jul 2018 14:50:35 +0000 (09:50 -0500)]
Merge PR #22968 into master
* refs/pull/22968/head:
messages/MMDSMap: fix reencoding for older clients
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Sage Weil [Wed, 11 Jul 2018 14:50:27 +0000 (09:50 -0500)]
Merge PR #22969 into master
* refs/pull/22969/head:
qa/mgr: delete devicehealth pool after selftest
Reviewed-by: Sage Weil <sage@redhat.com>
Abhishek Lekshmanan [Wed, 11 Jul 2018 12:39:21 +0000 (14:39 +0200)]
doc: releases: release notes for v10.2.11
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
Sage Weil [Tue, 10 Jul 2018 15:36:38 +0000 (10:36 -0500)]
messages/MMDSMap: fix reencoding for older clients
This was broken by
ea1481d08d561cdf0229e440b70b88fe336d3f89 .
Fixes: http://tracker.ceph.com/issues/24819
Signed-off-by: Sage Weil <sage@redhat.com>
Nathan Cutler [Wed, 11 Jul 2018 11:56:49 +0000 (13:56 +0200)]
rpm: move make check-specific build deps to appropriate conditional block
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Nathan Cutler [Mon, 9 Jul 2018 11:18:11 +0000 (13:18 +0200)]
rpm: remove universal requires from distro-specific conditional blocks
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Lenz Grimmer [Wed, 11 Jul 2018 09:25:16 +0000 (11:25 +0200)]
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>
Wido den Hollander [Fri, 15 Jun 2018 14:39:09 +0000 (16:39 +0200)]
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>
Radoslaw Zarzynski [Tue, 10 Jul 2018 23:14:54 +0000 (01:14 +0200)]
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>
Patrick Donnelly [Tue, 10 Jul 2018 21:23:53 +0000 (14:23 -0700)]
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>
Patrick Donnelly [Tue, 10 Jul 2018 20:24:33 +0000 (13:24 -0700)]
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>
Patrick Donnelly [Tue, 10 Jul 2018 20:24:27 +0000 (13:24 -0700)]
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>
Patrick Donnelly [Tue, 10 Jul 2018 20:24:20 +0000 (13:24 -0700)]
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>
Patrick Donnelly [Tue, 10 Jul 2018 19:55:42 +0000 (12:55 -0700)]
Merge PR #22961 into master
* refs/pull/22961/head:
doc/cephfs: make scary DR bits less prominent
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
John Spray [Tue, 10 Jul 2018 16:53:46 +0000 (12:53 -0400)]
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>
vasukulkarni [Tue, 10 Jul 2018 16:37:34 +0000 (09:37 -0700)]
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
Radoslaw Zarzynski [Thu, 5 Jul 2018 12:39:31 +0000 (14:39 +0200)]
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>
Kefu Chai [Fri, 6 Jul 2018 15:08:00 +0000 (23:08 +0800)]
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>
Kefu Chai [Fri, 6 Jul 2018 09:20:32 +0000 (17:20 +0800)]
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>
Sage Weil [Tue, 10 Jul 2018 13:42:27 +0000 (08:42 -0500)]
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>
Sage Weil [Tue, 10 Jul 2018 13:42:22 +0000 (08:42 -0500)]
Merge PR #22949 into master
* refs/pull/22949/head:
cmake: cleanup FindCython.cmake
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Sage Weil [Tue, 10 Jul 2018 13:42:17 +0000 (08:42 -0500)]
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>
Kefu Chai [Tue, 10 Jul 2018 13:29:54 +0000 (21:29 +0800)]
Merge pull request #22931 from tchaikov/wip-find-py-interp-for-gtest-parallel
cmake: find a python2 interpreter for gtest-parallel
Reviewed-by: Erwan Velu <erwan@redhat.com>
Kefu Chai [Tue, 10 Jul 2018 12:23:48 +0000 (20:23 +0800)]
install-deps.sh: import ubuntu-toolchain-r's key without keyserver
we are running into following error recently
gpg: requesting key
BA9EF27F from hkp server keyserver.ubuntu.com
gpgkeys: key
1E9377A2BA9EF27F can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
gpg: keyserver communications error: keyserver helper general error
gpg: keyserver communications error: unknown pubkey algorithm
gpg: keyserver receive failed: unknown pubkey algorithm
so use the local copy of the pubkey instead
Signed-off-by: Kefu Chai <kchai@redhat.com>
John Spray [Tue, 10 Jul 2018 09:41:52 +0000 (10:41 +0100)]
doc/cephfs: make scary DR bits less prominent
I'm sure people will still find them, but let's at least
force people to click through one more time to get to the
commands that can damage your cluster.
Also, the ".. danger" directive at the top of the page
wasn't actually getting special formatting, so I changed
it to a ".. warning" which is red.
Signed-off-by: John Spray <john.spray@redhat.com>
Lenz Grimmer [Tue, 10 Jul 2018 08:09:21 +0000 (10:09 +0200)]
Merge pull request #22944 from falcon78921/wip-doc-rbdcmds
doc: fixed grammar in restore rbd image section
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Sage Weil [Sun, 8 Jul 2018 16:00:12 +0000 (11:00 -0500)]
mon/OSDMonitor: add 'osd repeer <pgid>' command
Selecting force peering on a single PG. In reality this probably induces
*2* interval changes.
Note that in the case of a single OSD cluster we can't actually force a
repeer on a single PG because the pg_temp code is pretty robust about
filtering out redundant or meaningless changes, so we can't pg_temp our
way into a new interval if there are no other OSDs to switch to and the
code also prevents an empty pg_temp.
Signed-off-by: Sage Weil <sage@redhat.com>
Lenz Grimmer [Mon, 9 Jul 2018 18:56:34 +0000 (20:56 +0200)]
Merge pull request #22711 from fghaas/wip-doc-mimic-upgrade-prereq
doc: Mention PURGED_SNAPDIRS and RECOVERY_DELETES in Mimic release notes
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>