]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agomgr/dashboard: no side-effects on failed user creation 24200/head
Joao Eduardo Luis [Thu, 20 Sep 2018 14:20:50 +0000 (15:20 +0100)]
mgr/dashboard: no side-effects on failed user creation

Read operations go first, operations with side-effects go last.
Otherwise, something like

1) create user A with non-existent role R1; fails due to R1 DNE
2) create user B with existent role R2; success

will result in both A and B being created; B will have a R2 assigned, A
will have no roles.

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
6 years agoMerge pull request #24076 from ifed01/wip-ifed-fix-repairer
Kefu Chai [Wed, 19 Sep 2018 10:03:21 +0000 (18:03 +0800)]
Merge pull request #24076 from ifed01/wip-ifed-fix-repairer

os/bluestore: fix bloom filter num entry miscalculation in repairer

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24085 from liewegas/wip-32731
Kefu Chai [Wed, 19 Sep 2018 10:02:13 +0000 (18:02 +0800)]
Merge pull request #24085 from liewegas/wip-32731

osd/osd_types: fix pg_t::contains() to check pool id too

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #23721 from batrick/log-entry-stack
Kefu Chai [Wed, 19 Sep 2018 10:01:06 +0000 (18:01 +0800)]
Merge pull request #23721 from batrick/log-entry-stack

log: avoid heap allocations for most log entries

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24111 from gregsfortytwo/wip-35987-connection-buffers
Kefu Chai [Wed, 19 Sep 2018 09:56:58 +0000 (17:56 +0800)]
Merge pull request #24111 from gregsfortytwo/wip-35987-connection-buffers

msg/async: clean up local buffers on dispatch

Reviewed-by: Haomai Wang <haomai@xsky.com>
6 years agoMerge pull request #24124 from tchaikov/wip-35969
Kefu Chai [Wed, 19 Sep 2018 09:55:51 +0000 (17:55 +0800)]
Merge pull request #24124 from tchaikov/wip-35969

rpm: use updated gperftools

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
6 years agoMerge pull request #23754 from p-na/down-osd-raises-error 24174/head
Laura Paduano [Wed, 19 Sep 2018 06:56:33 +0000 (08:56 +0200)]
Merge pull request #23754 from p-na/down-osd-raises-error

mgr/dashboard: Fix OSD down error display

Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
6 years agoMerge PR #24098 into master
Sage Weil [Tue, 18 Sep 2018 22:24:12 +0000 (17:24 -0500)]
Merge PR #24098 into master

* refs/pull/24098/head:
Rename "include/assert.h"

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #24112 into master
Sage Weil [Tue, 18 Sep 2018 16:57:27 +0000 (11:57 -0500)]
Merge PR #24112 into master

* refs/pull/24112/head:
osd: avoid unncecessary ref-counting in OSD::enqueue_op.

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24090 from cbodley/wip-crimson-concurrent-dispatch
Kefu Chai [Tue, 18 Sep 2018 13:21:41 +0000 (21:21 +0800)]
Merge pull request #24090 from cbodley/wip-crimson-concurrent-dispatch

crimson/net: concurrent dispatch for SocketMessenger

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #24092 into master
Sage Weil [Tue, 18 Sep 2018 12:10:40 +0000 (07:10 -0500)]
Merge PR #24092 into master

* refs/pull/24092/head:
mgr: Change signature of PyString_AsString to match return

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #24057 into master
Sage Weil [Tue, 18 Sep 2018 12:10:21 +0000 (07:10 -0500)]
Merge PR #24057 into master

* refs/pull/24057/head:
src/common: add a unit test (bufferlist.sha1())
osd, src/common: return sha1 value if zero-length buffer.
src/common/buffer.cc: remove unnecessary copy in sha1()

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #24072 into master
Sage Weil [Tue, 18 Sep 2018 12:09:52 +0000 (07:09 -0500)]
Merge PR #24072 into master

* refs/pull/24072/head:
osd/PG: kill __queue_query__
osd/OSD: deprecate __project_pg_history__

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #24104 into master
Sage Weil [Tue, 18 Sep 2018 12:08:05 +0000 (07:08 -0500)]
Merge PR #24104 into master

* refs/pull/24104/head:
mgr/diskprediction: add prototype diskprediction module

Reviewed-by: John Spray <john.spray@redhat.com>
6 years agoMerge pull request #24103 from b-ranto/wip-dashboard-http
Lenz Grimmer [Tue, 18 Sep 2018 11:40:54 +0000 (13:40 +0200)]
Merge pull request #24103 from b-ranto/wip-dashboard-http

mgr/dashboard: Do not require cert for http

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agoMerge pull request #24015 from ricardoasmarques/wip-update-selection-on-refresh
Lenz Grimmer [Tue, 18 Sep 2018 09:02:43 +0000 (11:02 +0200)]
Merge pull request #24015 from ricardoasmarques/wip-update-selection-on-refresh

mgr/dashboard: More configs for table `updateSelectionOnRefresh`

Reviewed-by: Kanika Murarka <kmurarka@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agomgr/dashboard: Rename SSLCherryPyConfig 24103/head
Boris Ranto [Tue, 18 Sep 2018 07:33:22 +0000 (09:33 +0200)]
mgr/dashboard: Rename SSLCherryPyConfig

The class does not always set up SSL, dropping the SSL bit.

Fixes: http://tracker.ceph.com/issues/36069
Signed-off-by: Boris Ranto <branto@redhat.com>
6 years agomgr/dashboard: Do not require cert for http
Boris Ranto [Fri, 14 Sep 2018 10:03:23 +0000 (12:03 +0200)]
mgr/dashboard: Do not require cert for http

The ceph dashboard currently requires a SSL certificate even if it is
not running in the SSL mode since it is always querying for the
certificate file/key pair.

This patch fixes the behaviour by querying for the certificate file/key
only if it is running in the SSL mode.

Fixes: http://tracker.ceph.com/issues/36069
Signed-off-by: Boris Ranto <branto@redhat.com>
6 years agoMerge pull request #24031 from rzarzynski/wip-common-bl-drop-0c
Josh Durgin [Mon, 17 Sep 2018 20:48:41 +0000 (13:48 -0700)]
Merge pull request #24031 from rzarzynski/wip-common-bl-drop-0c

common: drop the unused zero-copy facilities in ceph::bufferlist

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #24120 into master
Patrick Donnelly [Mon, 17 Sep 2018 18:10:15 +0000 (11:10 -0700)]
Merge PR #24120 into master

* refs/pull/24120/head:
doc: Fix Typos of Developer Guide

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge pull request #24105 from dillaman/wip-24516
Mykola Golub [Mon, 17 Sep 2018 17:31:36 +0000 (20:31 +0300)]
Merge pull request #24105 from dillaman/wip-24516

librbd: object map improperly flagged as invalidated

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #23981 from cbodley/wip-35830
Matt Benjamin [Mon, 17 Sep 2018 15:26:50 +0000 (11:26 -0400)]
Merge pull request #23981 from cbodley/wip-35830

rgw: raise debug level on redundant data sync error messages

6 years agoMerge pull request #24088 from dzafman/wip-35982
Kefu Chai [Mon, 17 Sep 2018 14:35:43 +0000 (22:35 +0800)]
Merge pull request #24088 from dzafman/wip-35982

qa/standalone: Standalone test corrections

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agocommon: get_data() of buffer_raw isn't virtual anymore. 24031/head
Radoslaw Zarzynski [Thu, 13 Sep 2018 17:14:23 +0000 (19:14 +0200)]
common: get_data() of buffer_raw isn't virtual anymore.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon: make the get_data() of buffer_raw interface final.
Radoslaw Zarzynski [Tue, 11 Sep 2018 11:37:11 +0000 (13:37 +0200)]
common: make the get_data() of buffer_raw interface final.

This is just to ensure the just dropped buffer::raw_pipe
was the solely user of this facility. After successful
validation, we can drop `virtual` on the method entirely.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon: drop can_zero_copy() from ceph::buffer interfaces.
Radoslaw Zarzynski [Tue, 11 Sep 2018 11:21:50 +0000 (13:21 +0200)]
common: drop can_zero_copy() from ceph::buffer interfaces.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon: drop zero_copy_to_fd() from ceph::buffer interfaces.
Radoslaw Zarzynski [Tue, 11 Sep 2018 11:20:23 +0000 (13:20 +0200)]
common: drop zero_copy_to_fd() from ceph::buffer interfaces.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon: drop write_fd_zero_copy() from bufferlist.
Radoslaw Zarzynski [Tue, 11 Sep 2018 11:16:28 +0000 (13:16 +0200)]
common: drop write_fd_zero_copy() from bufferlist.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon: drop buffer::raw_pipe altogether with its factory method.
Radoslaw Zarzynski [Tue, 11 Sep 2018 10:11:24 +0000 (12:11 +0200)]
common: drop buffer::raw_pipe altogether with its factory method.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon: drop buffer::list::read_fd_zero_copy.
Radoslaw Zarzynski [Tue, 11 Sep 2018 10:04:35 +0000 (12:04 +0200)]
common: drop buffer::list::read_fd_zero_copy.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocommon, test: drop unit tests for 0c in ceph::bufferlist.
Radoslaw Zarzynski [Tue, 11 Sep 2018 09:59:54 +0000 (11:59 +0200)]
common, test: drop unit tests for 0c in ceph::bufferlist.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomgr/diskprediction: add prototype diskprediction module 24104/head
Rick Chen [Fri, 14 Sep 2018 17:42:27 +0000 (12:42 -0500)]
mgr/diskprediction: add prototype diskprediction module

This module is written by Rick Chen <rick.chen@prophetstor.com> and
provides both a built-in local predictor and a cloud mode that queries
a cloud service (provided by ProphetStor) to predict device failures.

Signed-off-by: Rick Chen <rick.chen@prophetstor.com>
Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24087 from rzarzynski/wip-common-buffer_raw-drop-page-align-getters
Kefu Chai [Mon, 17 Sep 2018 07:55:10 +0000 (15:55 +0800)]
Merge pull request #24087 from rzarzynski/wip-common-buffer_raw-drop-page-align-getters

common: drop/mark-as-final getters of buffer::raw for palign.

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24061 from liewegas/wip-35923
Kefu Chai [Mon, 17 Sep 2018 07:52:49 +0000 (15:52 +0800)]
Merge pull request #24061 from liewegas/wip-35923

osd/PG: write pg epoch when resurrecting pg after delete vs merge race

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoMerge pull request #23306 from penglaiyxy/msg_branch
Kefu Chai [Mon, 17 Sep 2018 07:50:57 +0000 (15:50 +0800)]
Merge pull request #23306 from penglaiyxy/msg_branch

msg: ceph_abort() when there are enough accepter errors in msg server

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #23955 from wjwithagen/wjw-fix-ceph-helpers.sh
Kefu Chai [Mon, 17 Sep 2018 07:44:06 +0000 (15:44 +0800)]
Merge pull request #23955 from wjwithagen/wjw-fix-ceph-helpers.sh

test: Start using GNU awk and fix archiving directory

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agorpm: use updated gperftools 24124/head
Kefu Chai [Mon, 17 Sep 2018 06:09:17 +0000 (14:09 +0800)]
rpm: use updated gperftools

make sure we only build with the higher version of gperftools on
distros where both 2.4 and 2.6.1 are packaged. see
https://git.centos.org/summary/rpms!gperftools.git . at the time of
writing, gperftools 2.6.1 is packaged for CentOS/RHEL 7, if gperftools
(>= 2.4) is required by Ceph, and user already has this version
installed, when new Ceph packages are installed, the updated gperftools
2.6.1 version won't be installed as a dependency. when launching
Ceph compiled with tcmalloc enabled, we will have

symbol lookup error: ceph-osd: undefined symbol: _ZdaPvm

so, by bumping up the required version of gperftools, the updated
gperftools will be installed.

see https://software.opensuse.org/package/gperftools, openSUSE/SLE offer
2.5. so they are safe at this moment.

Fixes: http://tracker.ceph.com/issues/35969
Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agodoc: Fix Typos of Developer Guide 24120/head
李丙洋 10208981 [Mon, 17 Sep 2018 01:59:24 +0000 (09:59 +0800)]
doc: Fix Typos of Developer Guide

Signed-off-by: Li Bingyang <li.bingyang1@zte.com.cn>
6 years agoMerge PR #24023 into master
Patrick Donnelly [Sun, 16 Sep 2018 22:01:01 +0000 (15:01 -0700)]
Merge PR #24023 into master

* refs/pull/24023/head:
mds: prevent rctime from going back

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #24022 into master
Patrick Donnelly [Sun, 16 Sep 2018 21:58:38 +0000 (14:58 -0700)]
Merge PR #24022 into master

* refs/pull/24022/head:
client: update ctime when modifying file content

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #24048 into master
Patrick Donnelly [Sun, 16 Sep 2018 21:51:17 +0000 (14:51 -0700)]
Merge PR #24048 into master

* refs/pull/24048/head:
mds: use common send message mechanisms
mds: remove dead code

Reviewed-by: Zheng Yan <zyan@redhat.com>
6 years agoMerge PR #24053 into master
Patrick Donnelly [Sun, 16 Sep 2018 21:33:55 +0000 (14:33 -0700)]
Merge PR #24053 into master

* refs/pull/24053/head:
mds: translate CEPH_MDS_STATE_NULL state name as null

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #21992 into master
Patrick Donnelly [Sun, 16 Sep 2018 21:30:28 +0000 (14:30 -0700)]
Merge PR #21992 into master

* refs/pull/21992/head:
qa: extend timeout for SessionMap flush

Reviewed-by: John Spray <john.spray@redhat.com>
6 years agolibrbd: do not invalidate object map when attempting to delete non-existent snapshot 24105/head
Jason Dillaman [Fri, 14 Sep 2018 15:46:13 +0000 (11:46 -0400)]
librbd: do not invalidate object map when attempting to delete non-existent snapshot

If duplicate snapshot remove requests are received by the lock owner from a peer
client, the first request will remove the object map. If the second request
arrives while the first is in-progress, it will again attempt to remove the
object map but fail to load it since it's already been deleted. This incorrectly
results in the next object map being flagged as invalid.

Fixes: http://tracker.ceph.com/issues/24516
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agolibrbd: converted object map snapshot remove state machine to new style
Jason Dillaman [Fri, 14 Sep 2018 15:21:28 +0000 (11:21 -0400)]
librbd: converted object map snapshot remove state machine to new style

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #24029 from smithfarm/wip-35922
Kefu Chai [Sun, 16 Sep 2018 16:04:03 +0000 (00:04 +0800)]
Merge pull request #24029 from smithfarm/wip-35922

cmake: no libradosstriper headers if WITH_LIBRADOSSTRIPER=OFF

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jesse Williamson <jwilliamson@suse.de>
6 years agoMerge pull request #24036 from dillaman/wip-24688
Mykola Golub [Sun, 16 Sep 2018 08:53:04 +0000 (11:53 +0300)]
Merge pull request #24036 from dillaman/wip-24688

rbd-mirror: optionally extract peer secrets from config-key

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #24063 from dillaman/wip-24140
Mykola Golub [Sun, 16 Sep 2018 08:52:32 +0000 (11:52 +0300)]
Merge pull request #24063 from dillaman/wip-24140

rbd-mirror: prevent creation of clones when parents are syncing

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agolog: use smaller buffer for ConcreteEntry 23721/head
Patrick Donnelly [Thu, 6 Sep 2018 15:52:25 +0000 (08:52 -0700)]
log: use smaller buffer for ConcreteEntry

This brings down the static size of the memory used by the logging infrastructure:

    If we used 1024, we'd have 1088*10000 = 10880000 = 10MB in use by the ring
    buffer and 2*1088*100 = 2*108800 = 2*106KB for the m_new and m_flush
    vectors.

In my testing, 1024 covers most log entries.

Note, I've kept 4096 for the StackStringStream via MutableEntry as these are
already allocated on the heap and cached in a thread local vector. Generally
there should only be about a dozen of these allocated so it's worth keeping a
larger buffer.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agocommon: remove obsolete buffer classes
Patrick Donnelly [Mon, 27 Aug 2018 16:17:44 +0000 (09:17 -0700)]
common: remove obsolete buffer classes

In favor of the simpler StackStreamBuffer.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agolog: avoid heap allocations for most log entries
Patrick Donnelly [Thu, 23 Aug 2018 17:40:20 +0000 (10:40 -0700)]
log: avoid heap allocations for most log entries

Each log Entry now exists on the stack and uses a large (4k) buffer for its log
stream. This Entry is std::move'd to the queues (std::vector and
boost::circular_buffer) in the Log, involving only memory copies in the general
case. There are two memory copies (std::move) for any given Entry, once in
Log::submit_entry and again in Log::_flush

In practice, this eliminates 100% of allocations outside of startup
allocations

I've run a simple experiment with the MDS that copies /usr/bin to CephFS. I got
measurements for the number of allocations from the heap profiler and the
profile of CPU usage in the MDS.

** Before this patch **

    == Heap profile: ==

    $ google-pprof --alloc_objects --text bin/ceph-mds out/mds.a.profile.0001.heap
    Total: 1105048 objects
      433329  39.2%  39.2%   433329  39.2% ceph::logging::Log::create_entry
      209311  18.9%  58.2%   209311  18.9% __gnu_cxx::__aligned_membuf::_M_addr (inline)
      192963  17.5%  75.6%   192963  17.5% __gnu_cxx::new_allocator::allocate (inline)
       61774   5.6%  81.2%    61774   5.6% std::__cxx11::basic_string::_M_mutate
       37689   3.4%  84.6%    37689   3.4% ceph::buffer::raw_combined::create (inline)
       22773   2.1%  86.7%    22773   2.1% mempool::pool_allocator::allocate (inline)
       17761   1.6%  88.3%    20523   1.9% std::pair::pair (inline)
       15795   1.4%  89.7%    15797   1.4% std::swap (inline)
       11011   1.0%  90.7%   130061  11.8% std::__cxx11::list::_M_insert (inline)
       10822   1.0%  91.7%    10822   1.0% std::__cxx11::basic_string::reserve
        9108   0.8%  92.5%    32721   3.0% __gnu_cxx::new_allocator::construct (inline)
        8608   0.8%  93.3%     8610   0.8% std::_Deque_base::_M_initialize_map (inline)
        7694   0.7%  94.0%     7694   0.7% std::__cxx11::basic_string::_M_capacity (inline)
        6160   0.6%  94.5%     6160   0.6% Journaler::wrap_finisher
        6084   0.6%  95.1%    70892   6.4% std::map::operator[] (inline)
        5347   0.5%  95.6%     5347   0.5% MutationImpl::add_projected_fnode
        4381   0.4%  96.0%     7706   0.7% mempool::pool_allocator::construct (inline)
        3588   0.3%  96.3%   182966  16.6% Locker::_do_cap_update
        3049   0.3%  96.6%     5280   0.5% std::__shared_count::__shared_count (inline)
        3043   0.3%  96.9%     3043   0.3% MDSLogContextBase::MDSLogContextBase (inline)
        3038   0.3%  97.1%    14763   1.3% std::__uninitialized_copy::__uninit_copy (inline)

   So approximately 430k heap allocations for Entry were created! The
   basic_string::_M_mutate is also another allocation via PrebufferedStreambuf

== Profile data ==

Selecting interesting functions

Samples: 798K of event 'cycles:pp', Event count (approx
  Children      Self  Com  Shared Object        Symbol
+    1.04%     1.04%  log  libceph-common.so.0  [.] ceph::logging::Log::_flush
+    0.05%     0.05%  log  libceph-common.so.0  [.] ceph::logging::Log::flush
+    0.00%     0.00%  log  libceph-common.so.0  [.] ceph::logging::Log::_log_safe_write
+    0.00%     0.00%  log  libceph-common.so.0  [.] ceph::logging::Log::entry
+    0.00%     0.00%  log  libceph-common.so.0  [.] ceph::logging::Log::_flush_logbuf
...

  Children      Self  Command         Shared Object        Symbol
+    3.69%     0.00%  safe_timer      libceph-common.so.0  [.] CachedPrebufferedStreambuf::~CachedPrebufferedStreambuf
+    0.53%     0.00%  ms_dispatch     libceph-common.so.0  [.] CachedPrebufferedStreambuf::~CachedPrebufferedStreambuf
+    0.13%     0.00%  fn_anonymous    libceph-common.so.0  [.] CachedPrebufferedStreambuf::~CachedPrebufferedStreambuf
+    0.00%     0.00%  ms_dispatch     libceph-common.so.0  [.] CachedPrebufferedStreambuf::create
+    0.00%     0.00%  fn_anonymous    libceph-common.so.0  [.] CachedPrebufferedStreambuf::create

  Children      Self  Command         Shared Object        Symbol
+    0.07%     0.07%  fn_anonymous    libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  ms_dispatch     libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  ms_dispatch     ceph-mds             [.] _ZN4ceph7logging3Log12create_entryEiiPm@plt
+    0.00%     0.00%  md_submit       libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  fn_anonymous    ceph-mds             [.] _ZN4ceph7logging3Log12create_entryEiiPm@plt
+    0.00%     0.00%  safe_timer      libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  mds_rank_progr  libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  mds_rank_progr  ceph-mds             [.] _ZN4ceph7logging3Log12create_entryEiiPm@plt
+    0.00%     0.00%  msgr-worker-0   libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  msgr-worker-2   libceph-common.so.0  [.] ceph::logging::Log::create_entry
+    0.00%     0.00%  md_submit       ceph-mds             [.] _ZN4ceph7logging3Log12create_entryEiiPm@plt
+    0.00%     0.00%  msgr-worker-1   libceph-common.so.0  [.] ceph::logging::Log::create_entry

  Children      Self  Command         Shared Object        Symbol
+    8.29%     0.00%  ms_dispatch     libstdc++.so.6.0.24  [.] virtual thunk to std::basic_ostream<char, std::char_traits<char> >::~basic_ostream
+    7.55%     1.46%  ms_dispatch     libstdc++.so.6.0.24  [.] std::ostream::_M_insert<long>
+    3.87%     0.00%  fn_anonymous    libstdc++.so.6.0.24  [.] std::basic_ostream<char, std::char_traits<char> >::~basic_ostream
+    2.92%     0.00%  md_submit       libstdc++.so.6.0.24  [.] virtual thunk to std::basic_ostream<char, std::char_traits<char> >::~basic_ostream
+    2.38%     0.00%  fn_anonymous    libstdc++.so.6.0.24  [.] virtual thunk to std::basic_ostream<char, std::char_traits<char> >::~basic_ostream
+    2.22%     2.22%  fn_anonymous    libstdc++.so.6.0.24  [.] std::ostream::sentry::sentry
+    1.89%     0.13%  fn_anonymous    libstdc++.so.6.0.24  [.] std::__ostream_insert<char, std::char_traits<char> >
+    0.71%     0.00%  ms_dispatch     libstdc++.so.6.0.24  [.] std::basic_ostream<char, std::char_traits<char> >::~basic_ostream
+    0.39%     0.06%  fn_anonymous    libstdc++.so.6.0.24  [.] std::ostream::_M_insert<long>
+    0.29%     0.21%  ms_dispatch     libstdc++.so.6.0.24  [.] std::__ostream_insert<char, std::char_traits<char> >
+    0.27%     0.27%  ms_dispatch     libstdc++.so.6.0.24  [.] std::ostream::sentry::~sentry
+    0.27%     0.27%  fn_anonymous    libstdc++.so.6.0.24  [.] std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long>
+    0.22%     0.22%  ms_dispatch     libstdc++.so.6.0.24  [.] std::basic_streambuf<char, std::char_traits<char> >::xsputn
+    0.20%     0.20%  ms_dispatch     libstdc++.so.6.0.24  [.] std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long>
+    0.15%     0.15%  fn_anonymous    libstdc++.so.6.0.24  [.] std::ostream::sentry::~sentry
+    0.14%     0.14%  ms_dispatch     libstdc++.so.6.0.24  [.] std::ostream::sentry::sentry
+    0.13%     0.00%  ms_dispatch     libstdc++.so.6.0.24  [.] std::ostream::_M_insert<unsigned long>
+    0.13%     0.13%  fn_anonymous    libstdc++.so.6.0.24  [.] std::basic_streambuf<char, std::char_traits<char> >::xsputn
+    0.00%     0.00%  fn_anonymous    libstdc++.so.6.0.24  [.] std::ostream::_M_insert<unsigned long>
+    0.00%     0.00%  ms_dispatch     libstdc++.so.6.0.24  [.] std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<unsigned long>

    And the unittest_log time:

    $ bin/unittest_log
    [==========] Running 15 tests from 1 test case
    [----------] Global test environment set-up
    [----------] 15 tests from Log
    [ RUN      ] Log.Simple
    [       OK ] Log.Simple (0 ms)
    [ RUN      ] Log.ReuseBad
    [       OK ] Log.ReuseBad (1 ms)
    [ RUN      ] Log.ManyNoGather
    [       OK ] Log.ManyNoGather (0 ms)
    [ RUN      ] Log.ManyGatherLog
    [       OK ] Log.ManyGatherLog (12 ms)
    [ RUN      ] Log.ManyGatherLogStringAssign
    [       OK ] Log.ManyGatherLogStringAssign (27 ms)
    [ RUN      ] Log.ManyGatherLogStringAssignWithReserve
    [       OK ] Log.ManyGatherLogStringAssignWithReserve (27 ms)
    [ RUN      ] Log.ManyGatherLogPrebuf
    [       OK ] Log.ManyGatherLogPrebuf (15 ms)
    [ RUN      ] Log.ManyGatherLogPrebufOverflow
    [       OK ] Log.ManyGatherLogPrebufOverflow (15 ms)
    [ RUN      ] Log.ManyGather
    [       OK ] Log.ManyGather (8 ms)
    [ RUN      ] Log.InternalSegv

    [WARNING] /home/pdonnell/cephfs-shell/src/googletest/googletest/src/gtest-death-test.cc:836:: Death tests use fork(), which is unsafe particularly in a threaded context. For this test, Google Test detected 3 threads
    [       OK ] Log.InternalSegv (8 ms)
    [ RUN      ] Log.LargeLog
    [       OK ] Log.LargeLog (43 ms)
    [ RUN      ] Log.TimeSwitch
    [       OK ] Log.TimeSwitch (1 ms)
    [ RUN      ] Log.TimeFormat
    [       OK ] Log.TimeFormat (0 ms)
    [ RUN      ] Log.Speed_gather
    [       OK ] Log.Speed_gather (1779 ms)
    [ RUN      ] Log.Speed_nogather
    [       OK ] Log.Speed_nogather (64 ms)
    [----------] 15 tests from Log (2000 ms total)

    [----------] Global test environment tear-down
    [==========] 15 tests from 1 test case ran. (2000 ms total)
    [  PASSED  ] 15 tests

** After Patch **

The StackStreamBuf uses 4k for its default buffer. This appears to be more than
reasonable for preventing allocations for logging

    == Heap profile: ==

$ google-pprof --alloc_objects --text bin/ceph-mds out/mds.a.profile.0001.heap
Total: 1052127 objects
      384957  36.6%  36.6%   384957  36.6% __gnu_cxx::new_allocator::allocate (inline)
      274720  26.1%  62.7%   274720  26.1% __gnu_cxx::__aligned_membuf::_M_addr (inline)
       68496   6.5%  69.2%    68496   6.5% std::__cxx11::basic_string::_M_mutate
       44140   4.2%  73.4%    51828   4.9% std::pair::pair (inline)
       43091   4.1%  77.5%    43091   4.1% ceph::buffer::raw_combined::create (inline)
       27706   2.6%  80.1%   236407  22.5% std::__cxx11::list::_M_insert (inline)
       25699   2.4%  82.6%    25699   2.4% std::__cxx11::basic_string::reserve
       23183   2.2%  84.8%    23183   2.2% mempool::pool_allocator::allocate (inline)
       19466   1.9%  86.6%    81716   7.8% __gnu_cxx::new_allocator::construct (inline)
       17606   1.7%  88.3%    17606   1.7% std::__cxx11::basic_string::_M_capacity (inline)
       16879   1.6%  89.9%    16881   1.6% std::swap (inline)
        8572   0.8%  90.7%     8574   0.8% std::_Deque_base::_M_initialize_map (inline)
        8477   0.8%  91.5%    11808   1.1% mempool::pool_allocator::construct (inline)
        6166   0.6%  92.1%     6166   0.6% Journaler::wrap_finisher
        6080   0.6%  92.7%   134975  12.8% std::map::operator[] (inline)
        6079   0.6%  93.3%     6079   0.6% MutationImpl::add_projected_fnode

== Profile data ==

    Samples: 62K of event 'cycles:u', Event count (approx.)
      Overhead  Command         Shared Object         Symbol
    +    5.91%  log             libc-2.23.so          [.] vfprintf
    +    5.75%  ms_dispatch     libstdc++.so.6.0.24   [.] std::__ostream_insert<char, std::char_traits<char> >
    +    4.59%  ms_dispatch     ceph-mds              [.] StackStringBuf<4096ul>::xsputn
    +    4.26%  ms_dispatch     libc-2.23.so          [.] __memmove_ssse3_back
    +    4.07%  log             libceph-common.so.0   [.] ceph::logging::Log::_flush
    +    2.48%  ms_dispatch     libstdc++.so.6.0.24   [.] std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<l
    +    2.13%  fn_anonymous    libstdc++.so.6.0.24   [.] std::__ostream_insert<char, std::char_traits<char> >
    +    2.09%  ms_dispatch     ceph-mds              [.] CDir::check_rstats
    +    2.06%  ms_dispatch     libstdc++.so.6.0.24   [.] std::ostream::sentry::sentry
    +    1.98%  ms_dispatch     libstdc++.so.6.0.24   [.] std::ostream::sentry::~sentry
    +    1.87%  log             libc-2.23.so          [.] __strcpy_sse2_unaligned
    +    1.60%  fn_anonymous    ceph-mds              [.] StackStringBuf<4096ul>::xsputn
    +    1.46%  log             libc-2.23.so          [.] _IO_default_xsputn
    +    1.45%  log             libc-2.23.so          [.] _itoa_word
    +    1.43%  fn_anonymous    libc-2.23.so          [.] __memmove_ssse3_back
    +    1.40%  ms_dispatch     libstdc++.so.6.0.24   [.] std::ostream::_M_insert<long>
    +    0.98%  fn_anonymous    libstdc++.so.6.0.24   [.] std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<l
    +    0.89%  ms_dispatch     libstdc++.so.6.0.24   [.] 0x
    +    0.88%  ms_dispatch     libstdc++.so.6.0.24   [.] std::_Rb_tree_increment

    And the unittest_log time:

    $ bin/unittest_log
    [==========] Running 13 tests from 1 test case.
    [----------] Global test environment set-up.
    [----------] 13 tests from Log
    [ RUN      ] Log.Simple
    [       OK ] Log.Simple (1 ms)
    [ RUN      ] Log.ReuseBad
    [       OK ] Log.ReuseBad (0 ms)
    [ RUN      ] Log.ManyNoGather
    [       OK ] Log.ManyNoGather (0 ms)
    [ RUN      ] Log.ManyGatherLog
    [       OK ] Log.ManyGatherLog (83 ms)
    [ RUN      ] Log.ManyGatherLogStringAssign
    [       OK ] Log.ManyGatherLogStringAssign (79 ms)
    [ RUN      ] Log.ManyGatherLogStackSpillover
    [       OK ] Log.ManyGatherLogStackSpillover (81 ms)
    [ RUN      ] Log.ManyGather
    [       OK ] Log.ManyGather (80 ms)
    [ RUN      ] Log.InternalSegv

    [WARNING] /home/pdonnell/ceph/src/googletest/googletest/src/gtest-death-test.cc:836:: Death tests use fork(), which is unsafe particularly in a threaded context. For this test, Google Test detected 3 threads.
    [       OK ] Log.InternalSegv (7 ms)
    [ RUN      ] Log.LargeLog
    [       OK ] Log.LargeLog (55 ms)
    [ RUN      ] Log.TimeSwitch
    [       OK ] Log.TimeSwitch (4 ms)
    [ RUN      ] Log.TimeFormat
    [       OK ] Log.TimeFormat (1 ms)
    [ RUN      ] Log.Speed_gather
    [       OK ] Log.Speed_gather (1441 ms)
    [ RUN      ] Log.Speed_nogather
    [       OK ] Log.Speed_nogather (63 ms)
    [----------] 13 tests from Log (1895 ms total)

    [----------] Global test environment tear-down
    [==========] 13 tests from 1 test case ran. (1895 ms total)
    [  PASSED  ] 13 tests.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge pull request #24108 from clebergnu/rm_qa_btrfs_binary
Kefu Chai [Sat, 15 Sep 2018 02:17:58 +0000 (10:17 +0800)]
Merge pull request #24108 from clebergnu/rm_qa_btrfs_binary

qa/btrfs/test_rmdir_async_snap: remove binary file

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #23989 from dzafman/wip-35846
Josh Durgin [Fri, 14 Sep 2018 23:07:09 +0000 (16:07 -0700)]
Merge pull request #23989 from dzafman/wip-35846

tools: ceph-objectstore-tool: Allow target level as first positional argument

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoosd: avoid unncecessary ref-counting in OSD::enqueue_op. 24112/head
Radoslaw Zarzynski [Tue, 15 May 2018 20:14:15 +0000 (22:14 +0200)]
osd: avoid unncecessary ref-counting in OSD::enqueue_op.

```
-    4,30%     0,32%  msgr-worker-0  ceph-osd  [.] OSD::enqueue_op
   - 3,98% OSD::enqueue_op
      + 2,40% OSD::ShardedOpWQ::_enqueue
      + 0,42% OpRequest::mark_flag_point
        0,37% operator new
        0,36% PerfCounters::tinc
      + 0,21% Mutex::Unlock
```

Annotate:
```
OSD::enqueue_op  /home/perf/src/ceph-rzarzynski3/build/bin/ceph-osd
       │93           if( px != 0 ) intrusive_ptr_add_ref( px );
       │       test   %rbx,%rbx
       │95   _ZN13PGOpQueueableC4E5spg_t():
       │175    explicit PGOpQueueable(spg_t pg) : pgid(pg) {}
  0,70 │       mov    %cl,0x18(%rax)
       │177  _ZN8PGOpItemC4E5spg_tN5boost13intrusive_ptrI9OpRequestEE():
       │204    PGOpItem(spg_t pg, OpRequestRef op) : PGOpQueueable(pg), op(op) {
       │       mov    %rdx,(%rax)
       │206  _ZN5boost13intrusive_ptrI9OpRequestEC4ERKS2_():
       │     ↓ je     166
       │94   _ZNSt13__atomic_baseIiEppEv():
 48,25 │       lock   addl   $0x1,0x30(%rbx)
       │166:   mov    0x158(%rbp),%ecx
       │       mov    0x15c(%rbp),%edx
       │299  _ZN17ShardedThreadPool9ShardedWQI11OpQueueItemE5queueEOS1_():
       │669        tp->set_wq(this);
       │670      }
       │671      ~ShardedWQ() override {}
       │
       │673      void queue(T&& item) {
       │674        _enqueue(std::move(item));
  2,80 │       mov    %r12,%rsi
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocrimson/net: messenger uses dispatch gate for authorizer callbacks 24090/head
Casey Bodley [Fri, 14 Sep 2018 18:43:21 +0000 (14:43 -0400)]
crimson/net: messenger uses dispatch gate for authorizer callbacks

this also removes the checks for null dispatcher - start() must be
called with a valid dispatcher before getting here

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agocrimson/net: messenger uses dispatch gate for accept/connect callbacks
Casey Bodley [Fri, 14 Sep 2018 18:41:30 +0000 (14:41 -0400)]
crimson/net: messenger uses dispatch gate for accept/connect callbacks

the dispatcher can throw to reject a new connection, so these callbacks
were moved ahead of the exception handling

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agocrimson/net: messenger uses dispatch gate for reset callbacks
Casey Bodley [Fri, 14 Sep 2018 18:40:03 +0000 (14:40 -0400)]
crimson/net: messenger uses dispatch gate for reset callbacks

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agocrimson/net: add unit test for concurrent dispatch
Casey Bodley [Thu, 13 Sep 2018 20:34:48 +0000 (16:34 -0400)]
crimson/net: add unit test for concurrent dispatch

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agocrimson/net: concurrent dispatch for SocketMessenger
Casey Bodley [Thu, 13 Sep 2018 18:33:03 +0000 (14:33 -0400)]
crimson/net: concurrent dispatch for SocketMessenger

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agocrimson/net: don't return null from Connection::read_message()
Casey Bodley [Thu, 13 Sep 2018 15:01:01 +0000 (11:01 -0400)]
crimson/net: don't return null from Connection::read_message()

SocketConnection::read_message() now loops until it has a message with
valid sequence number. this means SocketMessenger::dispatch() doesn't
have to handle the null message case

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agocrimson/net: use std::optional instead of boost
Casey Bodley [Fri, 14 Sep 2018 17:17:44 +0000 (13:17 -0400)]
crimson/net: use std::optional instead of boost

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agomsg/async: clean up local buffers on dispatch 24111/head
Greg Farnum [Fri, 14 Sep 2018 17:58:49 +0000 (10:58 -0700)]
msg/async: clean up local buffers on dispatch

The AsyncConnection keeps local (member variable) bufferlists of incoming
messages before they're placed into the Message's front/data/middle buffers.
Previously these were reset only when a new Message is being received, which
means in steady state we store a full Message for every Connection even if
it's inactive!

Instead we obviously want to drop our local references to Message state
once it's been dispatched, so that it can go away.

Fixes: http://tracker.ceph.com/issues/35987
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
6 years agoqa/btrfs/test_rmdir_async_snap: remove binary file 24108/head
Cleber Rosa [Fri, 14 Sep 2018 17:26:32 +0000 (13:26 -0400)]
qa/btrfs/test_rmdir_async_snap: remove binary file

On a quick look at the source code, I noticed this binary file, which
looks like was committed by mistake.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
6 years agoMerge pull request #23650 from tchaikov/wip-dpdk-cmake 24043/head
Kefu Chai [Fri, 14 Sep 2018 15:44:01 +0000 (23:44 +0800)]
Merge pull request #23650 from tchaikov/wip-dpdk-cmake

cmake: fix the build WITH_DPDK=ON

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agolibrbd: test_flags helper should require snap id parameter
Jason Dillaman [Fri, 14 Sep 2018 13:59:35 +0000 (09:59 -0400)]
librbd: test_flags helper should require snap id parameter

The HEAD and snapshots have potentially different flag states
since object maps get invalidated per revision.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocommon/hobject: add get_logical_pool() 24085/head
Sage Weil [Fri, 14 Sep 2018 13:44:37 +0000 (08:44 -0500)]
common/hobject: add get_logical_pool()

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/hobject: define get_temp_pool() etc helpers
Sage Weil [Fri, 14 Sep 2018 13:40:43 +0000 (08:40 -0500)]
common/hobject: define get_temp_pool() etc helpers

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24097 from cyx1231st/fix-seastar-msgr-read-racing
Kefu Chai [Fri, 14 Sep 2018 11:03:54 +0000 (19:03 +0800)]
Merge pull request #24097 from cyx1231st/fix-seastar-msgr-read-racing

crimson/net: Fix racing for promise on_message

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/net: Fix racing for promise on_message 24097/head
Yingxin [Fri, 14 Sep 2018 10:21:07 +0000 (18:21 +0800)]
crimson/net: Fix racing for promise on_message

read_tags_until_next_message() will forward the ready future and create
a new promise for on_message, which assumes there is already a
read_message() holding the previous promise, but it is not true.

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agoMerge pull request #23972 from badone/wip-documentation-add-12.2.8-release
Nathan Cutler [Fri, 14 Sep 2018 07:52:59 +0000 (09:52 +0200)]
Merge pull request #23972 from badone/wip-documentation-add-12.2.8-release

doc/releases/schedule: Add Luminous 12.2.8

Reviewed-by: Nathan Cutler <ncutler@suse.com>
6 years agoMerge pull request #24099 from badone/wip-mimic-13-2-0-date-correction
Nathan Cutler [Fri, 14 Sep 2018 07:52:19 +0000 (09:52 +0200)]
Merge pull request #24099 from badone/wip-mimic-13-2-0-date-correction

doc/releases: Mark Mimic first release as June

Reviewed-by: Nathan Cutler <ncutler@suse.com>
6 years agoosd/PG: kill __queue_query__ 24072/head
xie xingguo [Fri, 14 Sep 2018 05:33:47 +0000 (13:33 +0800)]
osd/PG: kill __queue_query__

which has no consumbers...

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoosd/OSD: deprecate __project_pg_history__
xie xingguo [Fri, 14 Sep 2018 05:30:55 +0000 (13:30 +0800)]
osd/OSD: deprecate __project_pg_history__

__project_pg_history__ does an inverse traverse of the series
of osdmaps passed in to get a pg's pg_history_t filled, which
can become super inefficient if the osdmap list to check is
very long.
E.g., in one of our clusters, we've observed it took approximate
10s for a PG to finish it's projecting:
```
2018-08-27 13:51:58.694823 7f1e1335a700 15 osd.9 823276 project_pg_history 34.6e9 from 821893 to 823276, start ec=380829/380829 l
is/c 820412/820412 les/c/f 820413/820413/0 821785/821785/821785
2018-08-27 13:52:08.634230 7f1e1335a700 15 osd.9 823276 project_pg_history 34.6e9 acting|up changed in 822265 from [57]/[57] 57/5
7 -> [58,57]/[58,57] 58/58
2018-08-27 13:52:08.634244 7f1e1335a700 15 osd.9 823276 project_pg_history 34.6e9 up changed in 822265 from [57] 57 -> [58,57] 58
2018-08-27 13:52:08.634248 7f1e1335a700 15 osd.9 823276 project_pg_history 34.6e9 primary changed in 822265
2018-08-27 13:52:08.634250 7f1e1335a700 15 osd.9 823276 project_pg_history end ec=380829/380829 lis/c 820412/820412 les/c/f 82041
3/820413/0 822265/822265/822265
```
Quote from Sage:
> let's just kill this off entirely, and make the handle_pg_query_nopg
reply unconditionally. Or, maybe, do a single sloppy check to see if
the primary has changed since the original epoch... if the osdmap
happens to be in cache... or not.
The querying end will discard the reply if it is out of date from it's
perspective, so it doesn't matter, and I suspect the overhead of doing
the check is larger than the overhead of sending a query reply that gets ignored.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Signed-off-by: yanjun <yan.jun8@zte.com.cn>
6 years agodoc/releases: Mark Mimic first release as June 24099/head
Brad Hubbard [Fri, 14 Sep 2018 05:05:52 +0000 (15:05 +1000)]
doc/releases: Mark Mimic first release as June

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
6 years agoRename "include/assert.h" 24098/head
Brad Hubbard [Fri, 14 Sep 2018 04:22:00 +0000 (14:22 +1000)]
Rename "include/assert.h"

This conflicts with the system assert.h so rename and change includes to
reflect the new name.

Fixes: http://tracker.ceph.com/issues/35682
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
6 years agoMerge pull request #24094 from libingyang-zte/master
Xie Xingguo [Fri, 14 Sep 2018 02:46:48 +0000 (10:46 +0800)]
Merge pull request #24094 from libingyang-zte/master

doc: Fix Typos of Developer Guide

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agodoc: Fix Typos of Developer Guide 24094/head
李丙洋 10208981 [Fri, 14 Sep 2018 01:23:15 +0000 (09:23 +0800)]
doc: Fix Typos of Developer Guide

Signed-off-by: Li Bingyang <li.bingyang1@zte.com.cn>
6 years agomgr: Change signature of PyString_AsString to match return 24092/head
Brad Hubbard [Thu, 13 Sep 2018 03:19:02 +0000 (13:19 +1000)]
mgr: Change signature of PyString_AsString to match return

PyUnicode_AsUTF8 now returns 'const char*'

Fixes: http://tracker.ceph.com/issues/35984
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
6 years agocommon: drop is_page_aligned() of buffer::raw entirely. 24087/head
Radoslaw Zarzynski [Thu, 13 Sep 2018 20:54:24 +0000 (22:54 +0200)]
common: drop is_page_aligned() of buffer::raw entirely.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agotest: osd-backfill-stats.sh: Fix subtests to get primary which can change 24088/head
David Zafman [Thu, 13 Sep 2018 20:15:09 +0000 (13:15 -0700)]
test: osd-backfill-stats.sh: Fix subtests to get primary which can change

Fixes: http://tracker.ceph.com/issues/35982
Signed-off-by: David Zafman <dzafman@redhat.com>
6 years agotest: Fix for error message changed in ceph-objectstore-tool
David Zafman [Thu, 13 Sep 2018 20:14:15 +0000 (13:14 -0700)]
test: Fix for error message changed in ceph-objectstore-tool

Fixes: http://tracker.ceph.com/issues/35982
Caused by: 6bd682f53dfe0b2f7c31b5c1ba081afb72f1dd6c

Signed-off-by: David Zafman <dzafman@redhat.com>
6 years agocommon: drop/mark-as-final getters of buffer::raw for palign.
Radoslaw Zarzynski [Thu, 13 Sep 2018 19:58:11 +0000 (21:58 +0200)]
common: drop/mark-as-final getters of buffer::raw for palign.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoosd/osd_types: fix pg_t::contains() to check pool id too
Sage Weil [Thu, 13 Sep 2018 18:31:40 +0000 (13:31 -0500)]
osd/osd_types: fix pg_t::contains() to check pool id too

This is used by bluestore fsck to ensure we're looking at the right
collection.  It needs to validate both that the pool id matches the
object (including the temp objects) and that the hash matches; we were
only checking the hash before.

Fixes: http://tracker.ceph.com/issues/32731
Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #23896 from Songweibin/wip-group-snap-rollback
Mykola Golub [Thu, 13 Sep 2018 16:35:10 +0000 (19:35 +0300)]
Merge pull request #23896 from Songweibin/wip-group-snap-rollback

rbd: add group snap rollback method

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #24077 from alfredodeza/wip-rm35970
Andrew Schoen [Thu, 13 Sep 2018 15:29:54 +0000 (10:29 -0500)]
Merge pull request #24077 from alfredodeza/wip-rm35970

ceph-volume  fix zap not working with LVs

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoos/bluestore: fix bloom filter num entry miscalculation in the repairer 24076/head
Igor Fedotov [Thu, 13 Sep 2018 13:22:39 +0000 (16:22 +0300)]
os/bluestore: fix bloom filter num entry miscalculation in the repairer

This could  cause an assertion due to an access to uninitialized bloom
filter. This happened  when detecting errors involving physical extents close to the end of a large partition.
E.g. it was observed in http://tracker.ceph.com/issues/25001 while trying to repair an OSD.

Fixes: https://tracker.ceph.com/issues/35971
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
6 years agoceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore 24077/head
Alfredo Deza [Thu, 13 Sep 2018 14:03:06 +0000 (10:03 -0400)]
ceph-volume tests.functional comment why not use --destroy when zapping lvs in filestore

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoceph-volume tests.functional use --destroy when zapping lvs in bluestore
Alfredo Deza [Thu, 13 Sep 2018 14:00:37 +0000 (10:00 -0400)]
ceph-volume tests.functional use --destroy when zapping lvs in bluestore

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoqa/workunits/rbd: new test for rbd-mirror peer config-key secrets 24036/head
Jason Dillaman [Tue, 11 Sep 2018 17:12:24 +0000 (13:12 -0400)]
qa/workunits/rbd: new test for rbd-mirror peer config-key secrets

Fixes: http://tracker.ceph.com/issues/24688
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agodoc/rbd: update mirroring to include new peer secret config-key actions
Jason Dillaman [Tue, 11 Sep 2018 16:01:28 +0000 (12:01 -0400)]
doc/rbd: update mirroring to include new peer secret config-key actions

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agomon: added bootstrap-rbd-mirror/rbd-mirror mon profiles
Jason Dillaman [Tue, 11 Sep 2018 15:55:52 +0000 (11:55 -0400)]
mon: added bootstrap-rbd-mirror/rbd-mirror mon profiles

The rbd-mirror daemon will require permission to read config-keys
from the "rbd/mirror/" prefix. These new profiles (and the new
associated bootstrap-rbd-mirror user) provide the required
permissions.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd: mirror pool peer commands now support mon_host/key overrides
Jason Dillaman [Tue, 11 Sep 2018 14:21:12 +0000 (10:21 -0400)]
rbd: mirror pool peer commands now support mon_host/key overrides

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #24024 from p-na/fix-flaky-qa-tests
Kefu Chai [Thu, 13 Sep 2018 13:52:35 +0000 (21:52 +0800)]
Merge pull request #24024 from p-na/fix-flaky-qa-tests

mgr/dashboard: Fix flaky QA tests

Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoceph-volume lvm.zap use remove_pv only for physical devices
Alfredo Deza [Thu, 13 Sep 2018 13:34:54 +0000 (09:34 -0400)]
ceph-volume lvm.zap use remove_pv only for physical devices

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoMerge pull request #23660 from falcon78921/wip-multisite-docs
Casey Bodley [Thu, 13 Sep 2018 12:53:59 +0000 (08:53 -0400)]
Merge pull request #23660 from falcon78921/wip-multisite-docs

doc: updated multisite documentation

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #23995 from tchaikov/wip-add-ceph-libboost-repo
Kefu Chai [Thu, 13 Sep 2018 11:40:26 +0000 (19:40 +0800)]
Merge pull request #23995 from tchaikov/wip-add-ceph-libboost-repo

install-deps,run-make-check: use ceph-libboost repo

Reviewed-by: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Erwan Velu <erwan@redhat.com>
6 years agosrc/common: add a unit test (bufferlist.sha1()) 24057/head
myoungwon oh [Thu, 13 Sep 2018 08:07:45 +0000 (17:07 +0900)]
src/common: add a unit test (bufferlist.sha1())

Signed-off-by: Myoungwon Oh <omwmw@sk.com>
6 years agoMerge pull request #24067 from libingyang-zte/master
Xie Xingguo [Thu, 13 Sep 2018 04:12:47 +0000 (12:12 +0800)]
Merge pull request #24067 from libingyang-zte/master

doc: Fix typos in Developer Guide

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoosd, src/common: return sha1 value if zero-length buffer.
myoungwon oh [Wed, 12 Sep 2018 12:25:24 +0000 (21:25 +0900)]
osd, src/common: return sha1 value if zero-length buffer.

Signed-off-by: Myoungwon Oh <omwmw@sk.com>
6 years agodoc: Fix Spelling Error in Developer Guide 24067/head
李丙洋 10208981 [Thu, 13 Sep 2018 01:17:34 +0000 (09:17 +0800)]
doc: Fix Spelling Error in Developer Guide

Signed-off-by: Li Bingyang <li.bingyang1@zte.com.cn>