Commit Graph

76240 Commits

Author SHA1 Message Date
Kefu Chai
26941ea40c common/config: accept initialize_list when adding option properties
it's syntax sugar, but more handly this way. and it helps to reduce
memory foot print.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-07-27 00:07:38 +08:00
Kefu Chai
da4286ee0e Merge pull request #16452 from wjwithagen/wjw-warning-unused
buffer: silence unused var warning on FreeBSD

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-07-26 23:19:57 +08:00
Kefu Chai
344ed5f191 Merge pull request #16483 from ddiss/cmake_install_includedir
cmake: use CMAKE_INSTALL_INCLUDEDIR

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-07-26 23:19:05 +08:00
Casey Bodley
1de6bc26db Merge pull request #15033 from rzarzynski/wip-rgw-19831
rgw: fix segfault in RevokeThread during its shutdown procedure.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-07-26 11:13:33 -04:00
Josh Durgin
2c85647399 PGLog: store extra duplicate ops beyond the normal log entries
This helps us avoid replaying non-idempotent client operations when
the pg log is very short, e.g. in an effort to force OSDs to use
backfill rather than regular recovery. This can be advantageous to
avoid blocking i/o to objects, at the cost of longer total time to
become clean (since backfill requires scanning the objects to see what
is missing).

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2017-07-26 11:04:44 -04:00
Sage Weil
c4ee3a5d17 Merge pull request #16013 from xiexingguo/wip-blue-tool
os/bluestore/bluestore_tool: add sanity check to get rid of occasionally crash

Reviewed-by: Sage Weil <sage@redhat.com>
2017-07-26 10:04:26 -05:00
Kefu Chai
8a3876049d Merge pull request #16528 from tchaikov/wip-ceph-release-notes
tools: ceph-release-notes: escape _ for unintended links

Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2017-07-26 23:03:01 +08:00
David Zafman
c9a5e47067 Merge pull request #16404 from dzafman/wip-20041
osd: scrub_to specifies clone ver, but transaction include head write…

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-07-26 07:59:43 -07:00
xie xingguo
15085fcf72 doc/rados/operations/crush-map: s/die/dice/
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:43:04 +08:00
xie xingguo
1fb05559e8 mon/OSDMonitor: be more helpful for new weight-set CLI users
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:42:58 +08:00
xie xingguo
23f30ec752 doc/release-notes: update device-class cli family
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:42:23 +08:00
xie xingguo
1ed72c3e86 test/crush: fix memory leak
use unique_ptr<> instead, otherwise static analyzer will complain.
as ASSERT_EQ will bail out without executing delete c

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:41:33 +08:00
xie xingguo
e75465fdac test/crush: kill dead class_is_in_use test
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:41:17 +08:00
xie xingguo
076a6abd80 crush: kill 'class rename'
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:40:50 +08:00
xie xingguo
a27fd9d25c crush: kill "class create" command
The device class is now self and automatically managed.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:40:17 +08:00
xie xingguo
edd8930346 crush: allow "crush class rm" to automatically recycle shadow tree(s)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:39:41 +08:00
xie xingguo
9d908c14f6 crush: rm-device-class support
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:39:08 +08:00
xie xingguo
983fa20c5a crush: tidy up class_map on remove_root()
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:38:11 +08:00
xie xingguo
397a2987a7 crush: implement find_shadow_roots
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:36:25 +08:00
xie xingguo
4b898951c1 crush: use is_shadow_item() wrapper if possible
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:35:15 +08:00
xie xingguo
1b87784f49 crush: reuse find_roots to implement find_nonshadow_roots
to reduce code redundance...

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:34:51 +08:00
xie xingguo
32fb548797 crush: guard set-device-class
If a device has already been bounded to a class,
do not allow to change its class silently.
Require user call rm-device-class first.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:34:08 +08:00
xie xingguo
e4e83a0dd7 crush: fix class_is_in_use()
A class can be considered as in-use only if it is referenced by
any of the existing crush rules.

The patch also makes the output more human readable. For example:

./bin/ceph osd crush rule create-replicated myrule default host ssd
./bin/ceph osd crush class rm ssd
Error EBUSY: class 'ssd' still referenced by crush_rule 'myrule'

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:31:39 +08:00
xie xingguo
f3a3180cca crush: rebuild shadow tree on "crush create-or-move/move"
This patch solves the problem below:

./bin/ceph osd crush move osd.0 root=foo rack=foo-rack host=foo-host
moved item id 0 name 'osd.0' to location {host=foo-host,rack=foo-rack,root=foo} in crush map

 ./bin/ceph osd crush rule create-replicated foo-rule foo host ssd
Error EINVAL: root foo has no devices with class ssd

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:30:59 +08:00
xie xingguo
10bf2a633f crush: fix "crush create-or-move/move" would drop osd's class
Was:
     ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -1       3.00000 root default
    -2       3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     0   ssd 1.00000         osd.0                                         up  1.00000 1.00000
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

    ./bin/ceph osd crush move osd.0 root=foo rack=foo-rack  host=foo-host
    moved item id 0 name 'osd.0' to location {host=foo-host,rack=foo-rack,root=foo} in crush map

     ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -7       1.00000 root foo
    -6       1.00000     rack foo-rack
    -5       1.00000         host foo-host
     0       1.00000             osd.0                                     up  1.00000 1.00000
    -1       2.00000 root default
    -2       2.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

    Now:
    ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -1       3.00000 root default
    -2       3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     0   ssd 1.00000         osd.0                                         up  1.00000 1.00000
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

    ./bin/ceph osd crush move osd.0 root=foo rack=foo-rack  host=foo-host
    moved item id 0 name 'osd.0' to location {host=foo-host,rack=foo-rack,root=foo} in crush map

    ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -7       1.00000 root foo
    -6       1.00000     rack foo-rack
    -5       1.00000         host foo-host
     0   ssd 1.00000             osd.0                                     up  1.00000 1.00000
    -1       2.00000 root default
    -2       2.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:30:26 +08:00
xie xingguo
6af733464a mon/OSDMonitor: optional show-shadow for "crush tree" command
./bin/ceph osd crush tree --show-shadow
ID WEIGHT  TYPE NAME
-4 3.00000 root default~ssd
-3 3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic~ssd
 0 1.00000         osd.0
 1 1.00000         osd.1
 2 1.00000         osd.2
-1 3.00000 root default
-2 3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
 0 1.00000         osd.0
 1 1.00000         osd.1
 2 1.00000         osd.2

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:30:04 +08:00
Sage Weil
742005bd75 Merge pull request #16579 from liewegas/wip-fix-nonregression
qa/suites/rados/singleton/all/erasure-code-nonregression: fix typo

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Amik Kumar <amitkuma@redhat.com>
2017-07-26 08:46:43 -05:00
Sage Weil
c1bdd36d8f qa/workunits/erasure-code/encode-decode-nonregression: do not require git checkout
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-26 09:35:46 -04:00
Radoslaw Zarzynski
e9a7871630 rgw: fix the UTF8 check on bucket entry name in rgw_log_op().
Fixes: http://tracker.ceph.com/issues/20779
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-07-26 09:27:45 -04:00
Sage Weil
35f096ed19 Merge pull request #16580 from liewegas/wip-20767
pybind/mgr/zabbix: fix health in non-compat mode

Reviewed-by: Wido den Hollander <wido@widodh.nl>
2017-07-26 08:24:00 -05:00
Alfredo Deza
1ef25e9d58 Merge pull request #16573 from liewegas/wip-osd-manual
doc/install/manual-deployment: update osd creation steps

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2017-07-26 09:19:17 -04:00
Jason Dillaman
fb638155df rbd-mirror: initialize timer context pointer to null
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:52:24 -04:00
dingdangzhang
d092784098 bluestore/BlueFS: pass string as const ref
Signed-off-by: dingdangzhang <boqian.zy@alibaba-inc.com>
2017-07-26 20:44:44 +08:00
David Zafman
20fee153ca test: Fixes for test_pidfile
Add a short delay for one test
Fix test that had unreliable log output

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

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-07-26 05:36:38 -07:00
Liyan
f2e98210a2 test: tride_size must be more than min_stride_size
Fixes: http://tracker.ceph.com/issues/20775
Signed-off-by: Lianne Wang <liyan.wang@xtaotech.com>
2017-07-26 08:27:32 -04:00
Radoslaw Zarzynski
06f18c163e rgw: rgw_website.h doesn't assume inclusion of the std namespace anymore.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-07-26 08:23:58 -04:00
Radoslaw Zarzynski
6318b4990f rgw: never let http_redirect_code of RGWRedirectInfo to stay uninitialized.
Fixes: http://tracker.ceph.com/issues/20774
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-07-26 08:23:58 -04:00
Sage Weil
841f3bdf92 qa/workunits: adjust path to ceph-helpers.sh
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-26 08:08:01 -04:00
Jason Dillaman
5d6eebcf26 Merge pull request #14868 from wangzhengyong/librbd
librbd: add compare and write API

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:00:57 -04:00
Jason Dillaman
d36cb4ec7e test/librbd: fixed compiler warnings
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:00:06 -04:00
Jason Dillaman
5837977006 test/librbd: improved compare_and_write testing
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
c8698edd54 test/librbd: add compare_and_write test for fsx
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
52e3abd8b7 test/librbd: add compare_and_write testcase
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
ad10d615e6 test/librbd: add Mock Image cache for compare_and_write
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
da6bbe5ce6 test/librbd: handle compare_and_write op in test_mock_Replay
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
971ff26ed2 librbd/journal: handle compare_and_write event
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
5891b57a6f test/librbd: handle cmpext request in LibradosTestStub
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
e70d48933c librbd: add compare_and_write/aio_compare_and_write API
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
789c05336e librbd: add compare_and_write perfcounter
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
ead121bf9e librbd: handle compare_and_write imagerequest in ImageRequestWQ
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:05 -04:00