Commit Graph

77830 Commits

Author SHA1 Message Date
songweibin
31d70a0581 osd: drop unused param "legacy_log_entries" in generate_transaction*()
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2017-08-31 20:12:17 +08:00
songweibin
10122edba6 osd: adjust the order of comments
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2017-08-31 19:24:07 +08:00
songweibin
1dbe2a3707 common: drop unused variables "bluestore_csum_*_block" in opts
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2017-08-31 18:47:07 +08:00
Kefu Chai
4bb56402a6 cmake: disable VTA on options.cc
to silence following warning and to avoid compiling this file twice:

ceph/src/common/options.cc: In function ‘std::vector<Option> get_global_options()’:
ceph/src/common/options.cc:151:21: note: variable tracking
size limit exceeded with -fvar-tracking-assignments, retrying without
 std::vector<Option> get_global_options() {
                     ^~~~~~~~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-08-31 18:21:39 +08:00
Kefu Chai
6beaf0b5d4 test: Don't dump core when using EXPECT_DEATH
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-08-31 17:12:28 +08:00
myoungwon oh
5e582bc121 osd: remove unused variable in do_proxy_write
Signed-off-by: Myoungwon Oh <omwmw@sk.com>
2017-08-31 17:40:22 +09:00
Abhishek L
d0f6580a83 Merge pull request #17362 from C2python/update_example
doc: Revise the Example of Bucket Policy

Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-By: Adam Emerson <aemerson@redhat.com>
2017-08-31 10:27:23 +02:00
Kefu Chai
b8aafc63ce Merge pull request #17387 from tchaikov/wip-package-kvstoretool-man
rpm,deb: package ceph-kvstore-tool man page

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-08-31 13:49:28 +08:00
Haomai Wang
5923e77917 Merge pull request #17145 from optimistyzy/822_bl
os/bluestore/NVMEDevice: change write_bl to bl

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-08-30 22:19:12 -07:00
songweibin
9757957b25 osd: fix spell errors
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2017-08-31 12:35:02 +08:00
Ziye Yang
fee7666efc NVMEDevice: change write_bl to bl
With this patch, both read and write can use this field in
task.

Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Signed-off-by: Pan Liu <wanjun.lp@alibaba-inc.com>
2017-08-31 12:12:03 +08:00
Zac Medico
825470fcf9 interval_set: optimize intersection_of
Iterate over all elements of the smaller set, and use find_inc to
locate elements from the larger set in logarithmic time. This greatly
improves performance when one set is much larger than the other:

     2 +-+--+----+----+----+----+----+----+----+----+--+-+
P      +*                                                +
E      |*                                                |
R  1.8 +*                                                +
F      | *                                               |
O      | *                                               |
R  1.6 + *                                               +
M      | *                                               |
A      | *                                               |
N  1.4 + *                                               +
C      |  *                                              |
E      |  *                                              |
   1.2 +   *                                             +
R      |    *                                            |
A      |     *                                           |
T    1 +      ***                                        +
I      |         ******                                  |
O      +               ***********************************
   0.8 +-+--+----+----+----+----+----+----+----+----+--+-+
       0   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9   1

                          SET SIZE RATIO

The above plot compares performance of the new intersection_size_asym
function to the existing intersection_of function. The performance of
intersection_size_asym gets worse as the set size ratio approaches 1.
For set size ratios where the performance ratio is greater than 1, the
performance of intersection_size_asym is superior. Therefore, this
patch only uses intersection_size_asym when the set size ratio is less
than or equal to 0.1 (code uses the reciprocal which is 10).

The plot was generated using benchmark results produced by the
following program:

#include <iostream>
#include <sys/timeb.h>
#include "include/interval_set.h"

int main()
{
  const int interval_count = 100000;
  const int interval_distance = 4;
  const int interval_size = 2;
  const int sample_count = 8;
  const int max_offset = interval_count * interval_distance;
  interval_set<int> a, b, intersection;

  for (int i = 0; i < max_offset; i+=interval_distance) {
    a.insert(i, interval_size);
  }

  for (int m = 1; m < 100; m++) {
    float ratio = 1 / float(m);

    for (int i = 0; i < max_offset; i+=interval_distance*m) {
      b.insert(i, interval_size);
    }

    struct timeb start, end;
    int ms = 0;
    for (int i = 0; i < sample_count; i++) {
      ftime(&start);
      intersection.intersection_of(a, b);
      ftime(&end);
      ms += (int) (1000.0 * (end.time - start.time)
        + (end.millitm - start.millitm));
      intersection.clear();
    }
    b.clear();

    std::cout << ratio << "\t" << ms << std::endl << std::flush;
  }
}

Signed-off-by: Zac Medico <zmedico@gmail.com>
2017-08-30 20:59:32 -07:00
Sage Weil
2d98708135 rpm,deb: package ceph-kvstore-tool man page
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-31 11:58:11 +08:00
kungf
6604d75b99 osd/PG: rm unused parameter in calc_replicated_acting
Signed-off-by: yang.wang <yang.wang@easystack.cn>
2017-08-31 11:16:20 +08:00
kungf
b47f21f78f osd/PG: rm unused parameter in calc_ec_acting
Signed-off-by: yang.wang <yang.wang@easystack.cn>
2017-08-31 11:16:20 +08:00
Sage Weil
fb795f556a Merge pull request #17382 from liewegas/wip-integration
src/script/build-integration-branch

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-08-30 21:53:36 -05:00
Sage Weil
b5c2782615 src/script/build-integration-branch
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-30 22:53:10 -04:00
Sage Weil
dab3522af5 Merge pull request #17333 from liewegas/wip-luminous-mon-bits
mon: final luminous compatset feature and osdmap flag
2017-08-30 21:31:37 -05:00
Jason Dillaman
bbf4fc7659 Merge pull request #17376 from dillaman/ritz303-wip-doc-20437
doc/rbd: iSCSI Gateway Documentation

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-08-30 16:18:22 -04:00
Zac Medico
b6a035666c interval_set: optimize intersect_of for identical spans
Optimize comparisons for identical spans of intervals.
When this patch is combined with the previous map insert
optimization, a benchmark using 400000 identical
intervals shows a 7 times performance improvement in
comparison to without the patches.

Signed-off-by: Zac Medico <zmedico@gmail.com>
2017-08-30 13:04:06 -07:00
Zac Medico
32bc0430f7 interval_set: optimize intersect_of insert operations
Use the std::map insert method with hint iterator to optimize
inserts. This increases performance more than 3.5 times for
large numbers of intervals. This will help performance
especially in the PGPool::update method, where profiling data
has shown that intersection operations are a hot spot. The
following benchmark data is for 400000 intervals:

    4 +-+--+----+----+----+----+----+----+----+----+--+-+
P     +    +    +    +    +    +    +    +  *************
E     |                             ********            |
R 3.5 +-+                       ****                  +-+
F     |                   ******                        |
O     |                 **                              |
R   3 +-+           ****                              +-+
M     |          ***                                    |
A     |        **                                       |
N 2.5 +-+     *                                       +-+
C     |     **                                          |
E     |     *                                           |
    2 +-+ **                                          +-+
R     |  **                                             |
A     | **                                              |
T 1.5 +**                                             +-+
I     |**                                               |
O     +*   +    +    +    +    +    +    +    +    +    +
    1 +*+--+----+----+----+----+----+----+----+----+--+-+
      0   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9

                        SET SIZE RATIO

The above chart was generated using benchmark results
from the following program:

#include <iostream>
#include <sys/timeb.h>
#include "include/interval_set.h"

int main(int argc, char *argv[])
{
  const int interval_count = std::stoi(argv[1]);
  const int interval_distance = 4;
  const int interval_size = 2;
  const int sample_count = 8;
  const int max_offset = interval_count * interval_distance;
  interval_set<int> a, b, intersection;

  for (int i = 0; i < max_offset; i+=interval_distance) {
    a.insert(i, interval_size);
  }

  for (int m = 1; m < 100; m++) {
    float ratio = 1 / float(m);

    for (int i = 0; i < max_offset; i+=interval_distance*m) {
      b.insert(i, interval_size);
    }

    struct timeb start, end;
    int ms = 0;
    for (int i = 0; i < sample_count; i++) {
      ftime(&start);
      intersection.intersection_of(a, b);
      ftime(&end);
      ms += (int) (1000.0 * (end.time - start.time)
        + (end.millitm - start.millitm));
      intersection.clear();
    }
    b.clear();

    std::cout << ratio << "\t" << ms << std::endl << std::flush;
  }
}

Signed-off-by: Zac Medico <zmedico@gmail.com>
2017-08-30 13:03:46 -07:00
Sage Weil
328ae40bc3 Merge pull request #17217 from tchaikov/wip-19605
osd/PG: discard msgs from down peers

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-30 14:18:13 -05:00
Sage Weil
31d5a47fe5 Merge pull request #17339 from amitkumar50/cov-osd-2
osd: Deleting dead code PrimaryLogPG.cc

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Liu-Chunmei <chunmei.liu@intel.com>
2017-08-30 14:17:46 -05:00
Sage Weil
c3cbaad2a1 mon: set purged_snapdirs OSDMap flag once snapsets have all converted
This makes it easier to test whether the upgrade + conversion has
completed.  In particular, mimic+ will be able to simply test for this
flag without waiting for complete PG stats to know whether it is safe to
upgrade beyond luminous.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-30 15:16:15 -04:00
Sage Weil
5b6c451e3f mon: CEPH_MON_FEATURE_INCOMPAT_LUMINOUS
- set this once we have a luminous quorum
- require luminous if we have this set locally
- include this on mkfs

Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-30 15:15:49 -04:00
Sage Weil
9d9c4bcbba Merge pull request #17247 from liewegas/wip-post-luminous-cleanup
osd: clean up pre-luminous compat cruft (part 1 of many)

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-08-30 14:15:23 -05:00
Sage Weil
39e5efbad2 qa/suites/rados/singleton/diverget_priors*: broaden whitelist
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-30 15:13:08 -04:00
Sage Weil
996e48af5d Merge pull request #17071 from ivancich/wip-dup-ops-perf-regression
osd: speed up get_key_name

Reviewed-by: Adam Emerson <aemerson@redhat.com>
2017-08-30 13:35:06 -05:00
Yuri Weinstein
8c8d38cf2c Merge pull request #17206 from rzarzynski/wip-rgw-21085
rgw: fix accessing expired memory in PrefixableSignatureHelper.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-08-30 08:36:22 -07:00
Yuri Weinstein
c9894590a9 Merge pull request #17250 from shashalu/fix-get-bucket-location
rgw: return bucket's location no matter which zonegroup it located in.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-08-30 08:35:44 -07:00
Yuri Weinstein
43e8ce55a6 Merge pull request #17294 from tchaikov/wip-clang-warnings
rgw,unittest_bit_alloc: silence clang analyzer warning

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-30 08:34:34 -07:00
Yuri Weinstein
ee39eafd44 Merge pull request #17343 from yaozongyou/rgw-admin-check-parameters-for-friendly-prompt
rgw-admin: check input parameters for friendly prompt.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-08-30 08:33:25 -07:00
Jason Dillaman
b0abab17e3 doc: tweaks for the RBD iSCSI configuration documentation
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-08-30 10:16:26 -04:00
Casey Bodley
605c37ad17 Merge pull request #15994 from chuang-he/fix_decrypt
rgw: Data encryption is not follow the AWS agreement

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-08-30 10:15:41 -04:00
Aron Gunn
f109031cb5 doc/rbd: Replaced numbered steps with a # for dynamic numbering
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:53:00 -04:00
Aron Gunn
2a59c82b3d doc/rbd: Updated the content based on engineering feedback
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:57 -04:00
Aron Gunn
1d4f5b458d doc/rbd: Updated the content based on engineering feedback
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:54 -04:00
Aron Gunn
441820d958 doc/rbd: Updated the content based on engineering feedback
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:50 -04:00
Aron Gunn
c57266bf82 doc/rbd: Updated the requirements based on engineering feedback
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:47 -04:00
Aron Gunn
9335742140 doc/rbd: Added the iSCSI gateway requirements content
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:41 -04:00
Aron Gunn
d022034bb3 doc/rbd: Added the iSCSI gateway overview content
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:09 -04:00
Aron Gunn
7e8233429b doc/rbd: Added the iSCSI gateway 'gwtop' monitoring content
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:52:03 -04:00
Aron Gunn
cbf654c702 doc/rbd: Added the iSCSI targets, Ansible and CLI docs
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:51:57 -04:00
Aron Gunn
f0e177fa3d doc/rbd: Added the iSCSI initiators, RHEL, Windows, and ESX docs
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:51:50 -04:00
Aron Gunn
4ef8426bff doc/rbd: Updated the "toctree" adding the iSCSI gateway overview doc
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:51:44 -04:00
Aron Gunn
2fd61f8de1 doc/rbd: Added the unmodified iSCSI initiator images for ESX and Windows 2016
Fixes: http://tracker.ceph.com/issues/20437

Signed-off-by: Aron Gunn <agunn@redhat.com>
2017-08-30 09:51:32 -04:00
John Spray
5dea164a01 doc/cephfs: add info on using EC pools with CephFS
Signed-off-by: John Spray <john.spray@redhat.com>
2017-08-30 14:23:27 +01:00
Douglas Fuller
6af2ae80d3 qa/cephfs: test CephFS recovery pools
Test recovering metadata in to a separate RADOS pool with
cephfs_data_scan and friends.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-08-30 09:02:44 -04:00
Douglas Fuller
8f9a252020 qa/cephfs: support CephFS recovery pools
Add support for testing recovery of CephFS metadata into an alternate
RADOS pool, useful as a disaster recovery mechanism that avoids
modifying the metadata in-place.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-08-30 09:02:44 -04:00
Douglas Fuller
c85562c94a qa/ceph_test_case: support CephFS recovery pools
Add support for testing recovery of CephFS metadata into an alternate
RADOS pool, useful as a disaster recovery mechanism that avoids
modifying the metadata in-place.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-08-30 09:02:44 -04:00