Commit Graph

72320 Commits

Author SHA1 Message Date
Sage Weil
623c04ebbe Merge pull request #14959 from liewegas/wip-crush-compat
mon,osd: add require_min_compat_client setting to enforce and clarify client compatibility

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2017-05-09 11:42:30 -05:00
Sage Weil
48648c4e56 test/cli: fix cli tests
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:34:15 -05:00
Sage Weil
f08de01c58 mon/OSDMonitor: 'osd set-require-min-compat-client ...'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
a17e320098 qa/releases/luminous: set require_min_compat_client after upgrade
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
1de9c90776 qa/suites: set initial require_min_compat_client
For cases where we are selecting crush tunables beyond the default
min of hammer.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
ef1ef284ac osd/OSDMap: add CRUSH_CHOOSEARGS feature bit
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:56 -05:00
Sage Weil
04b9e9f1a3 crush/CrushWrapper: has_[incompat_]chooseargs()
We'll use this for feature bit compat checks with clients and osds.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
9fccc7ac72 include/ceph_features: rename OSDMAP_REMAP -> OSDMAP_PG_UPMAP
Missed this with the remap -> upmap rename a few weeks back.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
5274db81dc mon/OSDMonitor: prevent injection of crush map violating require_min_compat_client
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
7c35fd09cd mon/OSDMonitor: drop allow_pg_upmap option; use require_min_compat_client instead
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
f3fa3c0158 mon/OSDMonitor: switch primary-{affinity,temp} checks to require_min_compat_client
If require_min_compat_client is set (we've finished luminous upgrade), use
that to enforce primary_temp and primary_affinity settings.  Otherwise,
use the legacy config option.

Drop the assert in update_from_paxos.

After luminous we can remove the config options entirely.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
c025323bf4 mon/OSDMonitor: set OSDMap require_min_compat_client on upgrade
Fill in this field once require_luminous is set.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
38c756dbd3 crush: move default tunables up to hammer
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:55 -05:00
Sage Weil
481411e995 mon/OSDMonitor: default require_min_compat_client to hammer for new clusters
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:54 -05:00
Sage Weil
a1c6646823 osd/OSDmap: add require_min_compat_client field
This is a persistent record of the compatibility for old clients that
we will enforce.  Once set, the mon will eventually prevent newer features
of the OSDMap or CRUSH maps from being used if they violate this
requirement.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:32:54 -05:00
Sage Weil
e02a8e2e1f osd/OSDMap: get_min_compat_client()
Calculate the oldest client we allow to connect.  Provide both a release
name (e.g., firefly) and a version string (e.g., "0.80").

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-09 11:04:57 -05:00
Jason Dillaman
58b6520707 common/bit_vector: utilize deep-copy during data decode
BlueStore utilizes an in-memory cache of bufferlists. If the bit vector
directly manipulates the shallow-copied bufferlist, it can corrupt
the CRC.

Fixes: http://tracker.ceph.com/issues/19863
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-05-09 11:31:52 -04:00
Nathan Cutler
46d52c51e0 Merge pull request #15015 from smithfarm/wip-sphinx
build/ops: rpm: fix python-Sphinx package name for SUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2017-05-09 17:17:23 +02:00
Sage Weil
7a4dfe8949 Merge pull request #14952 from tchaikov/wip-19813
mgr: do the shutdown in the right order

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-09 10:01:12 -05:00
Kefu Chai
a0ee9e663a Merge pull request #14478 from theanalyst/doc/dev/ccache
doc: dev add a note about ccache

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-09 20:46:29 +08:00
Kefu Chai
1116556ff4 Merge pull request #14886 from badone/wip-async-osd-scrub-sleep
osd: Implement asynchronous scrub sleep

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-05-09 20:27:17 +08:00
Kefu Chai
73340eedb8 Merge pull request #14985 from johnzzpcrystal/store_errno
msg/async/net_handler: errno should be stored before calling next function

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-05-09 20:26:24 +08:00
Loic Dachary
c7b3c46bd6 ceph-disk: separate ceph-osd --check-needs-* logs
It is using the OSD id zero but have nothing to do with OSD zero and
this is confusing to the user. The log themselves do not need to be kept
around and are stored in the run directory so that they can be disposed
of after reboot.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-05-09 13:55:57 +02:00
Nathan Cutler
0688f57d1c build/ops: rpm: fix python-Sphinx package name for SUSE
This commit moves "BuildRequires: python-sphinx" down to the RH/CentOS/Fedora
distro conditional and adds a "BuildRequires: python-Sphinx" to the SUSE
conditional.

Signed-off-by: Jan Matejek <jmatejek@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-05-09 11:42:58 +02:00
Jin Cai
c15626c6cd osd/PG.cc: unify the call of checking whether lock is held
Signed-off-by: Jin Cai <caijin.caij@alibaba-inc.com>
2017-05-09 17:03:03 +08:00
Abhishek Lekshmanan
1d9558ac42 doc: dev add a note about ccache
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-05-09 10:53:50 +02:00
Yan, Zheng
68adc96403 mds: fix dir auth calculation in CDir::merge
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-09 16:28:13 +08:00
Yan, Zheng
6bdd9e7f8b mds: properly cleanup export states
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-09 16:26:48 +08:00
Kefu Chai
585546a26a cmake: do not link messenger tests against libos
objectstore is not used by these tests.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-05-09 15:06:39 +08:00
Piotr Dałek
33afac48cd buffer, osd: add missing crc cache miss perf counter
This helps tracking if/how effective is the CRC cache in bufferlists.

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
2017-05-09 09:03:22 +02:00
zhanglei
c12128abbb test/objectstore/: Check put_ref return value
Signed-off-by: zhanglei <243290414@qq.com>
2017-05-08 23:11:16 -04:00
Patrick Donnelly
88e6db1f25
mds: update export targets even when not active
Problem caught test_migration_on_shutdown. Migration could not proceed because
export_targets were not being updated.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-08 22:55:56 -04:00
Dan Mick
6a70b0705f Merge pull request #14984 from dmick/wip-osd-dup
test/osd/osd-dup.sh: lower wb fd throttle limits

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-08 19:48:27 -07:00
Yan, Zheng
69de7bc3a2 Merge pull request #14907 from ukernel/wip-19820
ceph-fuse: use user space permission check by default
2017-05-09 10:34:00 +08:00
Sage Weil
a8c1cf36b1 os/bluestore: reorder _deferred_aio_finish
Remove the OpSequencer from the deferred_queue before
marking the txc's completed.  This prevents a race with
_txc_finish trying to reap the completed sequencer that
is still on the deferred_queue, triggering an assert
in the intrusive list hook dtor.

Fixes: http://tracker.ceph.com/issues/19880
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-08 22:18:25 -04:00
Brad Hubbard
766528ee9c common: Remove redundant includes
Fixes: http://tracker.ceph.com/issues/19883 (Partially)

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2017-05-09 09:54:30 +10:00
Jason Dillaman
41dd93d740 Merge pull request #14976 from trociny/wip-19871
rbd-nbd: relax size check for newer kernel versions

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-05-08 19:41:40 -04:00
Jason Dillaman
a5c36ced4b Merge pull request #14656 from chardan/jfw-wip-halflife_atomic_t-rodan
rbd, librbd: migrate atomic_t to std::atomic

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-05-08 19:41:02 -04:00
Matt Benjamin
7b2cd270b6 Merge pull request #14925 from fangyuxiangGL/fix_unneccesary_write
rgw: don't do unneccesary write if buffer with zero length
2017-05-08 15:52:00 -04:00
Sage Weil
0b449db512 Merge pull request #14990 from wjin/fix
osd: clean nonused work queue

Reviewed-by: Sage Weil <sage@redhat.com>
2017-05-08 11:34:48 -05:00
Sage Weil
39d5bdf0d0 Merge pull request #14962 from liewegas/wip-denc-dump
include/denc: support ENCODE_DUMP

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-05-08 11:33:31 -05:00
Kefu Chai
a4bffab1e5 Merge pull request #14995 from SUSE/wip-mgr-rest-exit
pybind/mgr/rest: completely terminate cherrypy in shutdown

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-09 00:18:55 +08:00
Sage Weil
439fdbe3bf include/denc: clean up ENCODE_DUMP a bit
- PATH_MAX for string
- ENCODE_DUMP -> ENCODE_DUMP_PATH
- some comments!

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-08 11:54:54 -04:00
Sage Weil
840581e241 Merge pull request #14999 from ivancich/wip-mod-git-subtree-README
doc: Re-word the warnings about using git subtrees.
2017-05-08 09:22:38 -05:00
J. Eric Ivancich
b2d4b48152 doc: Re-word the warnings about using git subtrees.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2017-05-08 10:17:47 -04:00
Jesse Williamson
40762b8985 rbd_mirror: migrate std::atomic<unsigned> to std::atomic<bool>
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
2017-05-08 07:14:04 -07:00
Jesse Williamson
08c6d5d5d1 librbd: migrate atomic_t to std::atomic<>
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
2017-05-08 07:14:04 -07:00
Jesse Williamson
93621f5cb8 tools (rbd*): migrate atomic_t to std::atomic<>
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
2017-05-08 07:13:57 -07:00
xie xingguo
cf063626fc mon/PGMap.cc: fix "osd_epochs" section of dump_basic
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-05-08 21:43:52 +08:00
Tim Serong
afd9c3a93e pybind/mgr/rest: completely terminate cherrypy in shutdown
cherrypy.engine.stop() doesn't actually completely kill cherrypy,
which means cherrypy.engine.block() never returns, so this module's
thread never completes cleanly.

Signed-off-by: Tim Serong <tserong@suse.com>
2017-05-08 23:03:55 +10:00