Commit Graph

77060 Commits

Author SHA1 Message Date
Gregory Farnum
4e69d80e6b Merge pull request #16898 from amitkumar50/cov-messages-6
messages: Initialization of member variables

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2017-08-11 14:25:16 -07:00
Sage Weil
50523a225b os/bluestore: do not segv on kraken upgrade debug print
When loading an onode from kraken we have a compat path that calls
get_ref before the SharedBlob pointer is initialized.  This is fine except
that if debugging is enabled the operator<< on the Blob will segv on
printing *b.shared_blob (which is NULL).

Fix operator<< to print something else if it is NULL.  shared_blob does
get set up right after the call to decode() so having it be NULL at this
point is otherwise harmless.

Fixes: http://tracker.ceph.com/issues/20977
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 16:44:48 -04:00
Sage Weil
ad23d7dc1f qa/suites/rados/multimon: whitelist mgr down vs clock skew test
Clock skew might make us fail the mgr.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 13:42:02 -04:00
Sage Weil
7c96868797 os/memstore: memstore_page_set=false
This regularly returns bad results, see http://tracker.ceph.com/issues/20738

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 13:31:51 -04:00
Sage Weil
d5ba7061ee os/bluestore: fix clone dirty_range again
If we are cloning a blob for a 1 byte logical extent then dirty_range_begin
will equal _end and we won't dirty the source onode (with possibly newly
shared blobs).

Fix by using a separate flag to indicate whether we are dirtying instead
of overloading the begin/end markers for this.  Note that even if they
are equal dirty_range will still dirty the shard in question.

This is a result of 0ae5d92d42.

Fixes: http://tracker.ceph.com/issues/20983
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 12:46:25 -04:00
Sage Weil
3bcb4b3e8d include/rados: nautilus is next
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 12:14:59 -04:00
Sage Weil
7d56c7082b include/ceph_features: define SERVER_NAUTILUS
Nautilus will be the next major release after luminous.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 12:14:59 -04:00
Sage Weil
4a1a15478d include/ceph_features: incarnation 3 can begin!
With all upgrades passing through luminous, we can now start
reusing bits retired in luminous.  Our sentinel bitmask will be the
combination of SERVER_MIMIC and SERVER_JEWEL (i.e.,
CEPH_FEATUREMASK_SERVER_MIMIC).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 12:14:59 -04:00
Sage Weil
7b81212a6d include/ceph_features: SERVER_M -> SERVER_MIMIC
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 12:14:59 -04:00
Sage Weil
9cec473e0c ceph_release: kick off mimic 13.y.z
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 12:14:59 -04:00
Matt Benjamin
50724db8e5 Merge pull request #16628 from theanalyst/rgw-policy-list-buckets
rgw: policy: support for s3 conditionals in ListBucket Op
2017-08-11 11:53:01 -04:00
Sage Weil
410a23bcdb Merge pull request #16968 from liewegas/wip-store-test-expect-death
ceph_test_objectstore: drop expect regex
2017-08-11 08:45:02 -05:00
Sage Weil
863468803d ceph_test_objectstore: drop expect regex
If logging is enabled (as it now is in teuthology) this won't match the
forked output.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:43:20 -04:00
Sage Weil
9c42597f09 qa/workunits/mon/crush_ops.sh: test weight sets vs device classes
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:40:11 -04:00
Sage Weil
49c468b788 mon/OSDMonitor: remove choose_args when pool is removed
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:40:11 -04:00
Sage Weil
0ed55e6150 crush/CrushWrapper: fill in weight-sets when we build shadow trees
When we build the shadow buckets for the class hierarchies, we need
to fill in the weight-sets for each shadow bucket too.

Skip the ids vector for now since it's not yet used by anything.

Fixes: http://tracker.ceph.com/issues/20939
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:40:11 -04:00
Sage Weil
2649b27d13 crush/CrushWrapper: remove unused 'unused' arg for trim_roots_with_classes
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:39:49 -04:00
Sage Weil
1f62ee8408 crush: do add/remove before updating weight-sets
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:39:49 -04:00
Sage Weil
9ecf2cbaed Merge pull request #16991 from liewegas/wip-doc-bluestore-migration
doc/rados/operations/bluestore-migration: typos and whitespace
2017-08-11 08:37:28 -05:00
Sage Weil
0a1512b023 doc/rados/operations/bluestore-migration: typos and whitespace
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:36:59 -04:00
Sage Weil
3fd5f40732 Merge pull request #16532 from liupan1111/wip-remove-reb
kv/RocksDBStore: extract common code to a new function

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-11 08:32:12 -05:00
Sage Weil
d73e0b28ad Merge pull request #16594 from wjwithagen/wip-wjw-reduce-info-messages
common: make some message informative, instead of error

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-08-11 08:31:53 -05:00
Sage Weil
02118ffa85 Merge pull request #16964 from kungf/mon_timer
mon: return directly after health_events_cleanup

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-11 08:30:42 -05:00
Yuri Weinstein
466349751c Merge pull request #16936 from TsaiJin/wip-set-polling-thread-name
msg/async/rdma: fix the bug that rdma polling thread uses the same thread name with msg worker

Reviewed-by: Haomai Wang <haomai@xsky.com>
Reviewed-by: Pan Liu <liupan1111@gmail.com>
2017-08-11 06:20:51 -07:00
Yuri Weinstein
11c57701c6 Merge pull request #16961 from xiexingguo/wip-class-rename
crush: "osd crush class rename" support

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-11 06:18:57 -07:00
amitkuma
406348fdb9 messages: Initialization of member variables
Fixes the coverity issues:

** 717271 Uninitialized scalar field
2. uninit_member: Non-static class member from_mds is not initialized
 in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member dir_rep is not initialized
 in this constructor nor in any functions that it calls.
CID 717271 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
6. uninit_member: Non-static class member discover is not initialized
 in this constructor nor in any functions that it calls.

** 717272 Uninitialized scalar field
2. uninit_member: Non-static class member want_base_dir is not initialized
in this constructor nor in any functions that it calls.
CID 717272 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member want_xlocked is not initialized
in this constructor nor in any functions that it calls.

** 717274 Uninitialized scalar field
2. uninit_member: Non-static class member wanted_base_dir is not initialized
 in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member wanted_xlocked is not initialized
 in this constructor nor in any functions that it calls.
6. uninit_member: Non-static class member flag_error_dn is not initialized
 in this constructor nor in any functions that it calls.
8. uninit_member: Non-static class member flag_error_dir is not initialized
 in this constructor nor in any functions that it calls.
10. uninit_member: Non-static class member unsolicited is not initialized
 in this constructor nor in any functions that it calls.
12. uninit_member: Non-static class member dir_auth_hint is not initialized
 in this constructor nor in any functions that it calls.
CID 717274 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
14. uninit_member: Non-static class member starts_with is not initialized
in this constructor nor in any functions that it calls.

** 717275 Uninitialized scalar field
CID 717275 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member from is not initialized in this
constructor nor in any functions that it calls.

Signed-off-by: Amit Kumar amitkuma@redhat.com
2017-08-11 18:05:04 +05:30
John Spray
6ff57ed6f4 Merge pull request #16973 from jan--f/mgr-plugin-doc-accessor-init
doc/mgr/plugins: mgr accessor during init causes exception

Reviewed-by: John Spray <john.spray@redhat.com>
2017-08-11 12:23:48 +01:00
Xie Xingguo
14aa04697f Merge pull request #16983 from renhwztetecs/renhw-wip-rados-tool-cleanup
rados/tool: fixup rados stat command hint

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-08-11 13:29:30 +08:00
Jin Cai
20725ff883 Merge branch 'master' into wip-set-polling-thread-name 2017-08-11 12:55:16 +08:00
huanwen ren
85f3feb912 rados/tool: fixup rados stat command hint
Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
2017-08-11 10:50:59 +08:00
Sage Weil
d2d9b41275 Merge pull request #16709 from dzafman/wip-standalone
qa/standalone: misc fixes
2017-08-10 21:33:43 -05:00
Sage Weil
22a46aab3c Merge pull request #16954 from gregsfortytwo/wip-20891-pool-metadata
mon: fix "fs new" pool metadata update, tests

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-10 21:29:37 -05:00
Haomai Wang
02a212c9a3 Merge pull request #16981 from yuyuyu101/wip_rdma_mt_fix
msg/async/rdma: fixes crash for multi rados client within one process
2017-08-11 10:21:07 +08:00
kungf
537f18cbc9 mon: return directly after health_events_cleanup
when mon_health_to_clog was set false, all health events was cleanup,
no need to judge the change of mon_health_to_clog_interval and
mon_health_to_clog_tick_interval.

Signed-off-by: wang yang <yang.wang@easystack.cn>
2017-08-11 10:16:37 +08:00
Haomai Wang
2cf5a75ed1 Merge pull request #16664 from amitkumar50/coverity-1414508-3
rdma: Assign instead of compare

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-08-11 10:16:33 +08:00
Haomai Wang
905528dbcd Merge pull request #16965 from TsaiJin/wip-use-rdtsc-to-get-time
src/msg/async/rdma: decrease cpu usage by rdtsc instruction

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-08-11 10:14:46 +08:00
Haomai Wang
584f64e5e4 msg/async/rdma: add atomic and lock protection
Signed-off-by: Haomai Wang <haomai@xsky.com>
2017-08-11 10:11:33 +08:00
Alex Mikheev
6b773887a3 msg/async/rdma: fixes crash in fio
fio creates multiple CephContext in a single process.
Crash(es) happen because rdma stack has a global resources that
are still used from one ceph context while have already been destroyed
by another context.

The commit removes global instances of RDMA dispatcher and infiniband
and makes them context (rdma stack) specific.

Signed-off-by: Adir Lev <adirl@mellanox.com>
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
2017-08-11 10:00:01 +08:00
Haomai Wang
25fce20d63 Merge pull request #16980 from ceph/revert-16893-wip-fix-multicct-ib
Revert "msg/async/rdma: fix multi cephcontext confllicting"
2017-08-11 09:58:17 +08:00
Haomai Wang
f8a7e705c5 Revert "msg/async/rdma: fix multi cephcontext confllicting" 2017-08-11 09:57:41 +08:00
David Zafman
96ed4eedc0 Merge pull request #16977 from liewegas/wip-no-pidfile
test/CMakeLists: disable test_pidfile.sh

Reviewed-by: Xie Xingguo <xie.xingguo@zte.com.cn>
2017-08-10 18:41:38 -07:00
David Zafman
16ea9b1571 test: Fix and enable test_pidfile.sh
Increase delay so daemonized process can make progress and write/lock pidfile
Add --log_flush_on_exit to ensure log gets flushed for TEST_without_pidfile test

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

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-08-10 18:24:29 -07:00
Yanhu Cao
7f336f2366 mgr/DaemonServer.cc: add 'is_valid=false' when decode caps error
Signed-off-by: Yanhu Cao <gmayyyha@gmail.com>
2017-08-11 09:16:19 +08:00
xie xingguo
d792e8d528 crush: "osd crush class rename" support
In 076a6abd80 I killed the 'class rename' command
and thought it was totally useless but I was wrong.

Consider the following user case:
(1) randomly choose some OSDs(e.g., from different hosts) and try to make them for private use only,
    say, by grouping them into 'pool1'
(2) ceph osd crush set-device-class pool1 'OSDs from (1)'
(3) ceph osd crush rule create-replicated rule_for_pool1 default host pool1
(4) ceph osd pool rename pool1 pool2
(5) ceph osd crush class rename pool1 pool2

From the above user case, we need to safely change a pool name without worrying
any risk of data migration. That is why the 'osd crush class rename' command
is still needed here.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-08-11 08:32:39 +08:00
Sage Weil
ff3de23044 test/CMakeLists: disable test_pidfile.sh
Too flaky, see http://tracker.ceph.com/issues/20975

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-10 15:41:38 -04:00
David Zafman
e24ac51a82 qa: Fix broken test_activate_osd() due to missing space
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-08-10 12:37:05 -07:00
David Zafman
ae2c5331fb qa: Fix races with waiting for scrubs
The trigger_scrub sets the last_scrub_stamp backwards to
force a scheduled scrub.  In a small window this stamp could get propagated
to the mgr.  A test failure occurred because wait_for_scrub() was confused
by seeing a backward moving date.

The most critical change is having wait_for_scrub() make sure that the
date advances past the previous in value.

A test failed because the random backoff kept delayed triggered scrub, so
set osd_scrub_backoff throughout.

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-08-10 12:37:05 -07:00
David Zafman
dddda523d1 qa: Testing of ceph-helpers.sh, teardown on fail to dump logs, save cores
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-08-10 12:37:05 -07:00
David Zafman
1fe6cb0f02 osd: Avoid confusion over legacy snaps when head_exists corrupt
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-08-10 12:37:05 -07:00
David Zafman
c140457489 osd: Fix Paxos shutdown handling for commit_finish race
Fixes: http://tracker.ceph.com/issues/20921

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-08-10 12:37:04 -07:00