Commit Graph

74500 Commits

Author SHA1 Message Date
Casey Bodley
e3d59601ef Merge pull request #15569 from aclamk/compress_crash_bug_refactor
rgw: Compress crash bug refactor

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-26 14:14:20 -04:00
Zack Cerza
5442b5ff25 Merge pull request #15859 from smithfarm/wip-swift-task-move-master
tests: move swift.py task from teuthology to ceph, phase one (master)
2017-06-26 10:16:42 -06:00
Kefu Chai
0780f9e678 Merge pull request #15555 from liewegas/wip-19023
osd/PG: set clean when last_epoch_clean is updated

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-06-27 00:08:04 +08:00
Kefu Chai
203ee0e25c Merge pull request #15862 from yuyuyu101/wip-omap-enoent
kv/RocksDBStore: abort if rocksdb EIO, don't return incorrect result

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-26 23:56:28 +08:00
Kefu Chai
d9e428884f Merge pull request #15866 from tchaikov/wip-set-secrets
auth/RotatingKeyRing: use std::move() to set secrets

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-26 23:56:02 +08:00
Kefu Chai
e34a37999a Merge pull request #15905 from tchaikov/wip-kill-clang-warnings
test, ceph-osdomap-tool: kill clang warnings

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-26 23:53:21 +08:00
Casey Bodley
5977372715 Merge pull request #13753 from theanalyst/wip/f/rgw/tagging
rgw: implement get/put object tags for S3

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-26 09:14:05 -04:00
Jason Dillaman
f43c5fa055 Merge pull request #15889 from joscollin/wip-1412614-uninitialized-scalar-field
tools/rbd_mirror: initialize non-static class member m_do_resync in ImageReplayer

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-06-26 09:08:08 -04:00
Adam Kupczyk
9187c773d7 radosgw: refactor compression code
Signed-off-by: Adam Kupczyk <akupczyk@mirantis.com>
2017-06-26 05:00:43 -04:00
Adam Kupczyk
90971552b2 radosgw, compression: added unit test
Signed-off-by: Adam Kupczyk <akupczyk@mirantis.com>
2017-06-26 04:55:57 -04:00
fang.yuxiang
5da8e92469 rgw: connection reset/crashed when download large zero object with compression enable
large zero object has a large compression rate,
even 4M compressed data can decompress several GB data.
Handle so much data in single process lead strange issue.

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

Signed-off-by: fang yuxiang fang.yuxiang@eisoo.com
2017-06-26 04:55:57 -04:00
Kefu Chai
9638fdb15b Merge pull request #15445 from wjwithagen/wip-wjw-freebsd-osd-scrub-repair-2
test/osd/osd-scrub-repair.sh: disable ec_overwrite tests on FreeBSD

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-26 10:14:10 +08:00
Jos Collin
0d1e19722e Merge pull request #15902 from joscollin/wip-1411820-Division-or-modulo-by-zero
test: Division by zero in Legacy::encode_n()

Reviewed By: Brad Hubbard <bhubbard@redhat.com>
2017-06-26 01:30:57 +00:00
Kefu Chai
4bcc03721a ceph-osdomap-tool: early return and remove never-read store statement
* silence clang analyzer's warning of: "Value stored to 'r' is never
  read"
* replace the "goto" statement with early return to improve the
  readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-25 23:00:05 +08:00
Haomai Wang
bad5908dfe Merge pull request #15903 from Adirl/data_path_fixes
msg/async/rdma: Data path fixes

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-06-25 22:52:02 +08:00
Kefu Chai
9cc0cf4979 test/test_async_driver: silence clang static analyzer warning
* silence the warning of: Value stored to 'r' is never read
* update the gtest assertions to be semantically more correct.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-25 22:51:09 +08:00
Nathan Cutler
2bc0c7c617 tests: swift.py: tweak imports
The ".." form only works within the teuthology repo. With swift.py now in the
Ceph repo, we have to be explicit.

Error message was: "ValueError: Attempted relative import beyond toplevel
package

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-06-25 12:42:36 +02:00
Jos Collin
28cf5ac8b0 test: Division by zero in Legacy::encode_n()
Fixes the Coverity Scan Report:
CID 1411820 (#1 of 1): Division or modulo by zero (DIVIDE_BY_ZERO)
9. divide_by_zero: In expression bl.length() * i / sum, division by expression sum which may be zero has undefined behavior.

Signed-off-by: Jos Collin <jcollin@redhat.com>
2017-06-25 11:47:41 +05:30
Sage Weil
c340b7166a Merge pull request #15826 from xiexingguo/wip-bluestore-20170622
os/bluestore: cleanup min_alloc_size; some formatting nits

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2017-06-24 23:21:50 -05:00
Sage Weil
cf206cc35c Merge pull request #15865 from tchaikov/wip-mgr-pg-command
mgr: enable ceph_send_command() to send pg command

Reviewed-by: John Spray <john.spray@redhat.com>
2017-06-24 23:21:27 -05:00
Sage Weil
4e9fd2ae8d Merge pull request #15875 from xiexingguo/wip-osdmon-20170623
mon/OSDMonitor: "osd crush class rename" support

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-24 23:21:02 -05:00
Sage Weil
82fcdd9175 Merge pull request #15890 from tchaikov/wip-19741
osdc/Objecter: release message if it's not handled

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-06-24 23:20:38 -05:00
Sage Weil
4e6af859a0 Merge pull request #15891 from minggr/wip-sdata_op_ordering_lock
osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid miss…

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-24 23:20:19 -05:00
Sage Weil
f0ceefbcc4 Merge pull request #15899 from theanalyst/doc/release-typo
doc: Luminous release notes typo fixes
2017-06-24 23:16:57 -05:00
Jos Collin
8ebb13e9e1 Merge pull request #15901 from joscollin/wip-CID1412577-Division-or-modulo-by-float-zero
mon: Division by zero in PGMapDigest::dump_pool_stats_full()

Reviewed By: Xie Xingguo <xie.xingguo@zte.com.cn>
2017-06-25 04:10:32 +00:00
Kefu Chai
9cca99c21e Merge pull request #15900 from smithfarm/wip-docdir-fix
build/ops: rpm: sane packaging of %{_docdir}/ceph directory

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-25 12:05:20 +08:00
Adir lev
c40c94e7bc msg/async/rdma: allocated reged mem can be greater than requires len
Change-Id: I3ec42afca39c2ad93fc66ed69b3609b68f315e34
Signed-off-by: Adir lev <adirl@mellanox.com>
2017-06-25 01:54:38 +03:00
Adir lev
87451fb25d msg/async/rdma: if failed to send push csi to the back
Change-Id: If6c72917b6e3a836279b86a4d5e9e54383d7b4bd
Signed-off-by: Adir lev <adirl@mellanox.com>
2017-06-25 01:54:32 +03:00
Jos Collin
45e23a3be9 mon: Division by zero in PGMapDigest::dump_pool_stats_full()
Fixes The Coverity Scan Report:
CID 1412577 (#1 of 1): Division or modulo by float zero (DIVIDE_BY_ZERO)
35. divide_by_zero: In expression (float)mk / k, division by expression k which may be zero has undefined behavior.

Signed-off-by: Jos Collin <jcollin@redhat.com>
2017-06-24 20:26:55 +05:30
Nathan Cutler
08b81c1500 build/ops: rpm: sane packaging of %{_docdir}/ceph directory
9164804416 introduced a build error:

ceph-common-12.1.0+git.1498286248.2fcedc7b3d-1.1.x86_64.rpm: directories not
owned by a package:
 - /usr/share/doc/packages/ceph

The %docdir directive is a way of flagging anything in that directory as being
documentation. It does not actually package the directory. And we don't need
it because we're not dumping a large number of files into this directory.
For more information, see the "Directory-related Directives" section of
http://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-06-24 14:49:08 +02:00
Abhishek Lekshmanan
8731b277bb doc: Luminous release notes typo fixes
Suggested-by: Roger Brown <rogerbrown@gmail.com>
Signed-off-by: Abhishek Lekshmanan <alekshmanan@suse.com>
2017-06-24 11:29:01 +02:00
Xie Xingguo
3abb692384 Merge pull request #15876 from gmayyyha/config-unused-opt
common/config_opts: drop unused opt

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-24 12:34:12 +08:00
Haomai Wang
8c60b55d7d kv/RocksDBStore: abort if rocksdb EIO, don't return incorrect result
If the underlying disk is missing, the current logic won't check the actual
reason why Get/Set failed, it will result to client get a empty key/value
pair which is not expected. The correct logic should be abort
right now. Otherwise, it will leads to undefined behavior.

Signed-off-by: Haomai Wang <haomai@xsky.com>
2017-06-24 11:33:42 +08:00
Matt Benjamin
e97210e70a Merge pull request #15108 from guihecheng/rgw_file-fix
rgw_file: fix misuse of make_key_name before make_fhk
2017-06-23 21:10:13 -04:00
Sage Weil
e0c060b393 Merge pull request #15893 from liewegas/wip-valgrind-everywhere
qa: do not restrict valgrind runs to centos
2017-06-23 15:25:54 -05:00
Greg Farnum
7d33e98bd3 qa: do not restrict valgrind runs to centos
This reverts 693bd23851, which was
added in response to http://tracker.ceph.com/issues/18126. But
we updated the Ubuntu packages in sepia so it should be good to go.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2017-06-23 16:25:16 -04:00
Casey Bodley
96edd985da Merge pull request #15572 from rzarzynski/wip-rgw-17779
rgw: external auth engines of S3 honor rgw_keystone_implicit_tenants.

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2017-06-23 14:38:09 -04:00
Casey Bodley
6b42352b70 Merge pull request #14624 from ceph/wip-s3a-hadoop
qa/tasks: S3A hadoop task to test s3a with Ceph

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-23 13:46:05 -04:00
Ming Lin
bc68338581 osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal
We are running mysql on top of rbd. sysbench qps occasionally drops to zero
with the INSERT benchmark.

Debug code captured >2s latency between PG::queue_op() and OSD::dequeue_op().
We finally found out that the latency came from below code in OSD::ShardedOpWQ::_process(),

sdata->sdata_cond.WaitInterval(sdata->sdata_lock,
      utime_t(osd->cct->_conf->threadpool_empty_queue_max_wait, 0));

"threadpool_empty_queue_max_wait" is 2s by default.

Normally, it should not sleep for 2s since the comming IO requests will wakeup it.
But there is a small timing window that it missed the wakeup signal actually.
For example,

     msgr-worker-0 thread                    tp_osd_tp thread
     OSD::ShardedOpWQ::_enqueue              OSD::ShardedOpWQ::_process
     ---------------------------             ---------------------------
T1:                                          sdata_op_ordering_lock.Lock()
T2:  sdata_op_ordering_lock.Lock()
                                             "queue empty"
                                             sdata_op_ordering_lock.Unlock()
     "insert op"
     sdata_op_ordering_lock.Unlock()

T3:  sdata_lock.Lock()
T4:                                          sdata_lock.Lock()
     "send wakeup signal"
     sdata_lock.Unock()
                                             // here the wakeup signal has no effect actually
                                             // becuase it has not slept yet.

                                             // then, it sleeps.
                                             WaitInterval(2s)

This patch unlocks sdata_op_ordering_lock with sdata_lock hold in OSD::ShardedOpWQ::_process(),
then the timeline becomes,

     msgr-worker-0 thread                    tp_osd_tp thread
     OSD::ShardedOpWQ::_enqueue              OSD::ShardedOpWQ::_process
     ---------------------------             ---------------------------
T1:                                          sdata_op_ordering_lock.Lock()
T2:  sdata_op_ordering_lock.Lock()
                                             "queue empty"
                                             sdata_lock.Lock()
T3:                                          sdata_op_ordering_lock.Unlock()
     "insert op"
     sdata_op_ordering_lock.Unlock()
     sdata_lock.Lock()

T4:                                          WaitInterval(2s) -> it actually unlocks sdata_lock
     "send wakeup signal"
     sdata_lock.Unock()
                                             //got signal, wakeup immediately

With this one line change, we can avoid occasional high latency.

Signed-off-by: Ming Lin <ming.lin@alibaba-inc.com>
2017-06-23 10:30:35 -07:00
Yehuda Sadeh
90b5efa171 Merge pull request #15665 from oritwas/wip-rgw-reshard-old-bucket
rgw: auto reshard old buckets

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-06-23 10:20:42 -07:00
Kefu Chai
5c2774234c osdc/Objecter: release message if it is not handled
Fixes: http://tracker.ceph.com/issues/19741
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-24 00:56:17 +08:00
Josh Durgin
9d1f4b68a3 Merge pull request #15821 from jdurgin/wip-20302
qa/suites/powercycle/osd/tasks/radosbench: consume less space

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-23 09:14:44 -07:00
John Spray
45b1a108cc Merge pull request #15154 from jcsp/wip-multimds-stable
Remove "experimental" warnings from multimds
2017-06-23 12:11:16 -04:00
Jos Collin
ef65e7aa53 tools/rbd_mirror: initialize Non-static class member m_do_resync in ImageReplayer
Fixes the Coverity Scan Report:
CID 1412614 (#2-1 of 2): Uninitialized scalar field (UNINIT_CTOR)
7. uninit_member: Non-static class member m_do_resync is not initialized in this constructor nor in any functions that it calls.

Signed-off-by: Jos Collin <jcollin@redhat.com>
2017-06-23 21:40:46 +05:30
John Spray
9e7a12b470 doc: multimds is no longer experimental
Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-23 17:07:34 +01:00
John Spray
6ec69a4547 qa: update cephtool test for multimds on by default
Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-23 17:07:34 +01:00
John Spray
b6cfa35458 qa: no longer need to explicitly enable multimds
Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-23 17:07:34 +01:00
John Spray
687b4e909f mds: enable multimds by default in new filesystems
Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-23 17:07:34 +01:00
John Spray
377e8efb6e mon: remove experimental warning on multimds
Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-23 17:07:33 +01:00
Yan, Zheng
7f5bd004b3 mds: don't call StrayManager::eval_stray() for undefined inode
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-06-23 17:07:33 +01:00