]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agomgr: mark stale PGs 13207/head
Sage Weil [Fri, 10 Feb 2017 15:12:29 +0000 (10:12 -0500)]
mgr: mark stale PGs

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/PGMonitor: move check_down_pgs into PGMapUpdater; use latest map
Sage Weil [Wed, 8 Feb 2017 14:50:28 +0000 (09:50 -0500)]
mon/PGMonitor: move check_down_pgs into PGMapUpdater; use latest map

Two big changes here:

1) Move the updating into PGMapUpdater along with the other related
checks.  Cleaner!

2) We use the current OSDMap to mark things stale.  Before, we had
a weird two stage process: first we would apply the OSDMap to the
PGMap, and then the *next* time the OSDMap updated we would look
for stale PGs.  This was silly.  Instead, we mark the PGs stale
when we process the OSDMap that made them stale.

We have a be slightly careful because the PGMap stats primaries
might be a bit old and, for example, might have a smaller max_osd
than what we have now.

This change is motivated right now because the new prime_pg_temp
code is smarter about a failed OSD.  While previously failing
an OSD would install a pg_temp mapping to the old and new OSDs,
even though the old OSD is now down, the new code does not.  And
previously failing both OSDs for a PG would always result in a
subsequent OSDMap update removing those bad pg_temp values, giving
check_down_pgs() a change to mark the PGs stale, while the new code
has not subsequent OSDMap update, which would leave the PG unstale,
causing the dump_stuck.py test to fail.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMapMapping: put mappings in a mempool
Sage Weil [Mon, 6 Feb 2017 18:03:52 +0000 (13:03 -0500)]
osd/OSDMapMapping: put mappings in a mempool

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: use parallel work queue for prime_pg_temp (all)
Sage Weil [Tue, 31 Jan 2017 20:00:28 +0000 (15:00 -0500)]
mon/OSDMonitor: use parallel work queue for prime_pg_temp (all)

Do the prime_pg_temp work in parallel using the mapper.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMapMapping: restructure mapper as generic PG work running
Sage Weil [Tue, 31 Jan 2017 19:59:51 +0000 (14:59 -0500)]
osd/OSDMapMapping: restructure mapper as generic PG work running

Make Job a parent class that can be specialized for any per-PG batch work.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: prime all pgs if we estimate we're approaching that anyway
Sage Weil [Tue, 31 Jan 2017 20:04:31 +0000 (15:04 -0500)]
mon/OSDMonitor: prime all pgs if we estimate we're approaching that anyway

If we have enough noteworthy OSDs it is likely we will touch all or most
PGs anyway, at which point it is faster and simpler to check all pgs.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMapMapper: count total pgs
Sage Weil [Tue, 31 Jan 2017 20:03:17 +0000 (15:03 -0500)]
osd/OSDMapMapper: count total pgs

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: avoid priming same pgs more than once
Sage Weil [Tue, 31 Jan 2017 19:08:10 +0000 (14:08 -0500)]
mon/OSDMonitor: avoid priming same pgs more than once

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMapMapping: disable up_rmap
Sage Weil [Tue, 31 Jan 2017 19:03:04 +0000 (14:03 -0500)]
osd/OSDMapMapping: disable up_rmap

The reverse mapping from up osds to pgs is not used; disable it for now.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: run mapping job in background; skip prime if it didn't finish
Sage Weil [Tue, 31 Jan 2017 19:00:07 +0000 (14:00 -0500)]
mon/OSDMonitor: run mapping job in background; skip prime if it didn't finish

Start the background mapping job when we go active.  If it has finished
by the time we need to prime, use it.  If not, skip prime_pg_temp.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: simplify prime_pg_temp slightly
Sage Weil [Mon, 30 Jan 2017 22:30:14 +0000 (17:30 -0500)]
mon/OSDMonitor: simplify prime_pg_temp slightly

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: calculate new mapping in parallel
Sage Weil [Mon, 30 Jan 2017 21:51:51 +0000 (16:51 -0500)]
mon/OSDMonitor: calculate new mapping in parallel

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon: add a threadpool (cpu_tp)
Sage Weil [Mon, 30 Jan 2017 21:51:32 +0000 (16:51 -0500)]
mon: add a threadpool (cpu_tp)

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMapMapping: add ParallelMapper
Sage Weil [Mon, 30 Jan 2017 21:51:01 +0000 (16:51 -0500)]
osd/OSDMapMapping: add ParallelMapper

Calculate a mapping in parallel over a workqueue + threadpool.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: prime_pg_temp based on OSDMapMapping
Sage Weil [Mon, 30 Jan 2017 20:24:47 +0000 (15:24 -0500)]
mon/OSDMonitor: prime_pg_temp based on OSDMapMapping

Simplify the code and remove most of the dependency on PGMap.  We still
need PGMap for the creating_pgs to ignore; that can be dropped later.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomon/OSDMonitor: maintain full mapping, synchronously
Sage Weil [Mon, 30 Jan 2017 19:57:46 +0000 (14:57 -0500)]
mon/OSDMonitor: maintain full mapping, synchronously

This is temporarily; we'll put this in an async, parallelized thread
shortly.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMap: add OSDMapMapping class
Sage Weil [Wed, 18 Jan 2017 23:45:55 +0000 (17:45 -0600)]
osd/OSDMap: add OSDMapMapping class

This is a precalculated table of all pg mappings.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #12144 from ifed01/wip-bluestore-no-blobdepth
Sage Weil [Thu, 16 Feb 2017 03:51:57 +0000 (21:51 -0600)]
Merge pull request #12144 from ifed01/wip-bluestore-no-blobdepth

os/bluestore: add new garbage collector

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13390 from Liuchang0812/remove-header
Sage Weil [Thu, 16 Feb 2017 03:51:37 +0000 (21:51 -0600)]
Merge pull request #13390 from Liuchang0812/remove-header

os/bluestore: some cleanup

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13398 from liewegas/wip-pgnls-snaps
Sage Weil [Thu, 16 Feb 2017 03:51:16 +0000 (21:51 -0600)]
Merge pull request #13398 from liewegas/wip-pgnls-snaps

osd: drop support for listing objects at a given snap

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
8 years agoMerge pull request #13407 from liewegas/wip-osd-msgs
Sage Weil [Thu, 16 Feb 2017 03:50:55 +0000 (21:50 -0600)]
Merge pull request #13407 from liewegas/wip-osd-msgs

osd: change a few messages at level 0 and 1; change default level to 1/5

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13235 from liewegas/wip-pg-split-interval
Sage Weil [Wed, 15 Feb 2017 22:20:18 +0000 (16:20 -0600)]
Merge pull request #13235 from liewegas/wip-pg-split-interval

osd: have clients resend ops on pg split

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
8 years agoMerge pull request #13445 from liewegas/wip-rgw-thrash
Sage Weil [Wed, 15 Feb 2017 21:03:48 +0000 (15:03 -0600)]
Merge pull request #13445 from liewegas/wip-rgw-thrash

qa/suites/rgw/thrash: add osd thrashing tests

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
8 years agoMerge pull request #13434 from mikulely/cleanup-rgw-auth
Casey Bodley [Wed, 15 Feb 2017 19:25:43 +0000 (14:25 -0500)]
Merge pull request #13434 from mikulely/cleanup-rgw-auth

rgw: cleanup unused var in rgw/rgw_rest_s3.cc

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #13412 from yuyuyu101/wip-rdma-log
Sage Weil [Wed, 15 Feb 2017 18:09:03 +0000 (12:09 -0600)]
Merge pull request #13412 from yuyuyu101/wip-rdma-log

msg/async/rdma: add log to show correct destruct queuepair

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoqa/suites/rgw/thrash: add rgw with osd trashing test 13445/head
Sage Weil [Wed, 15 Feb 2017 17:07:20 +0000 (12:07 -0500)]
qa/suites/rgw/thrash: add rgw with osd trashing test

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoqa/suites/rgw/multifs: drop redundant civetweb override
Sage Weil [Wed, 15 Feb 2017 17:00:13 +0000 (12:00 -0500)]
qa/suites/rgw/multifs: drop redundant civetweb override

This probably breaks the frontend/apache.yaml case.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13441 from Liuchang0812/cleanup-rgw
Matt Benjamin [Wed, 15 Feb 2017 15:53:05 +0000 (10:53 -0500)]
Merge pull request #13441 from Liuchang0812/cleanup-rgw

rgw: add override in rgw subsystem

8 years agoMerge pull request #13438 from Liuchang0812/cleanup-mds
John Spray [Wed, 15 Feb 2017 15:25:26 +0000 (15:25 +0000)]
Merge pull request #13438 from Liuchang0812/cleanup-mds

mds: add override in mds subsystem

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #13431 from tchaikov/wip-cython-cephfs-without-librados
Kefu Chai [Wed, 15 Feb 2017 15:22:59 +0000 (23:22 +0800)]
Merge pull request #13431 from tchaikov/wip-cython-cephfs-without-librados

pybind: cephfs should be built without librados / python-rados

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
8 years agoMerge pull request #13439 from Liuchang0812/cleanup-osd
Sage Weil [Wed, 15 Feb 2017 15:03:13 +0000 (09:03 -0600)]
Merge pull request #13439 from Liuchang0812/cleanup-osd

osd: add override in osd subsystem

Reviewed-by: Sage Weil <sage@redhat.com.
8 years agoMerge pull request #13436 from Liuchang0812/cleanup-mgr
Sage Weil [Wed, 15 Feb 2017 15:01:37 +0000 (09:01 -0600)]
Merge pull request #13436 from Liuchang0812/cleanup-mgr

mgr: add override in mgr subsystem

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13440 from Liuchang0812/cleanup-mon
Sage Weil [Wed, 15 Feb 2017 15:01:02 +0000 (09:01 -0600)]
Merge pull request #13440 from Liuchang0812/cleanup-mon

mon: add override in mon subsystem

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13442 from Liuchang0812/cleanup-librados
Sage Weil [Wed, 15 Feb 2017 14:58:35 +0000 (08:58 -0600)]
Merge pull request #13442 from Liuchang0812/cleanup-librados

librados: add override for librados

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13421 from dillaman/wip-18935
Mykola Golub [Wed, 15 Feb 2017 14:00:45 +0000 (16:00 +0200)]
Merge pull request #13421 from dillaman/wip-18935

qa/workunits/rbd: resolve potential rbd-mirror race conditions

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
8 years agolibrados: add override for librados 13442/head
liuchang0812 [Wed, 15 Feb 2017 13:42:02 +0000 (21:42 +0800)]
librados: add override for librados

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agomgr: add override in mgr subsystem 13436/head
liuchang0812 [Wed, 15 Feb 2017 13:39:38 +0000 (21:39 +0800)]
mgr: add override in mgr subsystem

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agomds: add override in mds subsystem 13438/head
liuchang0812 [Wed, 15 Feb 2017 13:26:08 +0000 (21:26 +0800)]
mds: add override in mds subsystem

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agoosd: add override in osd subsystem 13439/head
liuchang0812 [Wed, 15 Feb 2017 13:22:01 +0000 (21:22 +0800)]
osd: add override in osd subsystem

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agomon: add override in mon subsystem 13440/head
liuchang0812 [Wed, 15 Feb 2017 13:18:22 +0000 (21:18 +0800)]
mon: add override in mon subsystem

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agorgw: add override in rgw subsystem 13441/head
liuchang0812 [Wed, 15 Feb 2017 13:15:38 +0000 (21:15 +0800)]
rgw: add override in rgw subsystem

Fixes: http://tracker.ceph.com/issues/18922
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
8 years agoMerge pull request #13317 from ktdreyer/wip-doc-ms-bind-ipv6-exclusive
Kefu Chai [Wed, 15 Feb 2017 09:45:54 +0000 (17:45 +0800)]
Merge pull request #13317 from ktdreyer/wip-doc-ms-bind-ipv6-exclusive

doc: clarify that "ms bind ipv6" disables IPv4

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kefu@redhat.com>
8 years agorgw: cleanup unused var in rgw/rgw_rest_s3.cc 13434/head
Jiaying Ren [Wed, 15 Feb 2017 09:33:08 +0000 (17:33 +0800)]
rgw: cleanup unused var in rgw/rgw_rest_s3.cc

Signed-off-by: Jiaying Ren <jiaying.ren@umcloud.com>
8 years agoMerge pull request #13424 from dachary/wip-crush-dprintk
Loic Dachary [Wed, 15 Feb 2017 08:56:22 +0000 (09:56 +0100)]
Merge pull request #13424 from dachary/wip-crush-dprintk

crush: fix dprintk compilation

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agopybind: cephfs: do not link against librados 13431/head
Kefu Chai [Wed, 15 Feb 2017 06:10:34 +0000 (14:10 +0800)]
pybind: cephfs: do not link against librados

otherwise python-cephfs might fail to build with followin error:

Scanning dependencies of target cython3_cephfs
/usr/bin/ld: cannot find -lrados
collect2: error: ld returned 1 exit status

Link Error: Ceph FS library not found

and apparently, cephfs *can* be built without librados. it's only
dependency is libcephfs.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agopybind: cephfs: add docstring for LibCephFS's __init__()
Kefu Chai [Wed, 15 Feb 2017 06:12:29 +0000 (14:12 +0800)]
pybind: cephfs: add docstring for LibCephFS's __init__()

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agopybind: fix the cstr(auth_id, ..) call
Kefu Chai [Wed, 15 Feb 2017 06:11:10 +0000 (14:11 +0800)]
pybind: fix the cstr(auth_id, ..) call

so cstr() prints the right error message if auth_id does not look right.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoceph.spec: python-cephfs no longer depends on python-rados
Kefu Chai [Wed, 15 Feb 2017 06:22:25 +0000 (14:22 +0800)]
ceph.spec: python-cephfs no longer depends on python-rados

instead, it "Recommends" python-rados. as "Recommends:" is not supported on
older distros, only enable this on SuSE.

because python-cephfs *can* be used without python-rados. the
constructor of LibCephFS accepts a ceph.conf *or* a rados.Rados
instance.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agocrush: fix dprintk compilation 13424/head
Loic Dachary [Tue, 14 Feb 2017 22:49:16 +0000 (23:49 +0100)]
crush: fix dprintk compilation

The syntax error was not noticed because dprintk is a macro
and the code is discarded by default.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
8 years agoMerge pull request #13089 from jcsp/wip-18600
John Spray [Tue, 14 Feb 2017 22:28:06 +0000 (22:28 +0000)]
Merge pull request #13089 from jcsp/wip-18600

#18600: Clear out tasks that don't make sense from multimds suite

Reviewed-by: Yan, Zheng <zyan@redhat.com>
8 years agoMerge pull request #13093 from batrick/client-deadcode
John Spray [Tue, 14 Feb 2017 22:25:31 +0000 (22:25 +0000)]
Merge pull request #13093 from batrick/client-deadcode

client: remove dead log code

Reviewed-by: Yan, Zheng <zyan@redhat.com>
8 years agoMerge pull request #13272 from jcsp/wip-18830
John Spray [Tue, 14 Feb 2017 22:24:53 +0000 (22:24 +0000)]
Merge pull request #13272 from jcsp/wip-18830

mds: fix bad iterator dereference reported by coverity

Reviewed by: Yan, Zheng <zyan@redhat.com>

8 years agoMerge pull request #13347 from david-z/wip-straymanager-reuse-deleted-inode
John Spray [Tue, 14 Feb 2017 22:23:33 +0000 (22:23 +0000)]
Merge pull request #13347 from david-z/wip-straymanager-reuse-deleted-inode

mds/StrayManager: avoid reusing deleted inode in StrayManager::_purge_stray_logged

Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #13417 from liewegas/wip-find-dups
Josh Durgin [Tue, 14 Feb 2017 22:01:16 +0000 (14:01 -0800)]
Merge pull request #13417 from liewegas/wip-find-dups

script/find_dups_in_pg_log: scrip to find dup requests due to short pg logs

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #13419 from dmick/wip-17826
Josh Durgin [Tue, 14 Feb 2017 21:03:03 +0000 (13:03 -0800)]
Merge pull request #13419 from dmick/wip-17826

ceph_common.sh: fix syntax error

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoqa/workunits/rbd: resolve potential rbd-mirror race conditions 13421/head
Jason Dillaman [Mon, 21 Nov 2016 20:31:43 +0000 (15:31 -0500)]
qa/workunits/rbd: resolve potential rbd-mirror race conditions

Fixes: http://tracker.ceph.com/issues/18935
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
8 years agoceph_common.sh: fix syntax error 13419/head
Dan Mick [Tue, 14 Feb 2017 18:44:36 +0000 (10:44 -0800)]
ceph_common.sh: fix syntax error

Introduced by 299b7d06ac18c5cd30b8b65c7d25df9fc00287db
Fixes: http://tracker.ceph.com/issues/17826
Signed-off-by: Dan Mick <dan.mick@redhat.com>
8 years agoMerge pull request #13311 from asheplyakov/master-18820
Yuri Weinstein [Tue, 14 Feb 2017 17:59:53 +0000 (09:59 -0800)]
Merge pull request #13311 from asheplyakov/master-18820

ceph-osd: --flush-journal: sporadic segfaults on exit

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13307 from songbaisen/s12
Yuri Weinstein [Tue, 14 Feb 2017 17:57:52 +0000 (09:57 -0800)]
Merge pull request #13307 from songbaisen/s12

osd:  add is_split check before _start_split

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13326 from xiexingguo/wip-firstn
Yuri Weinstein [Tue, 14 Feb 2017 17:56:02 +0000 (09:56 -0800)]
Merge pull request #13326 from xiexingguo/wip-firstn

crush: do is_out test only if we do not collide

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
8 years agoMerge pull request #13328 from wonzhq/fix-rec-stat
Yuri Weinstein [Tue, 14 Feb 2017 17:54:10 +0000 (09:54 -0800)]
Merge pull request #13328 from wonzhq/fix-rec-stat

osd: fix stat sum update of recovery pushing

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13353 from wonzhq/wip-failed-push
Yuri Weinstein [Tue, 14 Feb 2017 17:52:42 +0000 (09:52 -0800)]
Merge pull request #13353 from wonzhq/wip-failed-push

osd: fix the setting of soid in sub_op_push

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoscript/find_dups_in_pg_log: scrip to find dup requests due to short pg logs 13417/head
Sage Weil [Tue, 14 Feb 2017 17:45:29 +0000 (12:45 -0500)]
script/find_dups_in_pg_log: scrip to find dup requests due to short pg logs

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #13389 from trociny/wip-rbd-nbd-unused_old_format
Jason Dillaman [Tue, 14 Feb 2017 16:42:22 +0000 (11:42 -0500)]
Merge pull request #13389 from trociny/wip-rbd-nbd-unused_old_format

rbd-nbd: no need to check image format any more

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoMerge pull request #13248 from rzarzynski/wip-rgw-18796
Casey Bodley [Tue, 14 Feb 2017 16:37:04 +0000 (11:37 -0500)]
Merge pull request #13248 from rzarzynski/wip-rgw-18796

rgw: improve handling of illformed Swift's container ACLs.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #12810 from zhangsw/fix-rgw-datasync-errorlog
Casey Bodley [Tue, 14 Feb 2017 16:36:04 +0000 (11:36 -0500)]
Merge pull request #12810 from zhangsw/fix-rgw-datasync-errorlog

rgw: error_code in error log is not right when data sync fails.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
8 years agoMerge pull request #13394 from tchaikov/wip-18838
John Spray [Tue, 14 Feb 2017 11:09:26 +0000 (11:09 +0000)]
Merge pull request #13394 from tchaikov/wip-18838

cmake: link consumers of libclient with libcommon

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #11128 from tchaikov/wip-16091
Josh Durgin [Tue, 14 Feb 2017 08:00:36 +0000 (00:00 -0800)]
Merge pull request #11128 from tchaikov/wip-16091

mon/MonClient: hunt monitors in parallel

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agomsg/async/rdma: add log to show correct destruct queuepair 13412/head
Haomai Wang [Tue, 14 Feb 2017 06:30:38 +0000 (14:30 +0800)]
msg/async/rdma: add log to show correct destruct queuepair

Signed-off-by: Haomai Wang <haomai@xsky.com>
8 years agomon/MonClient: remove unnecessary helper functions 11128/head
Kefu Chai [Wed, 12 Oct 2016 09:07:15 +0000 (17:07 +0800)]
mon/MonClient: remove unnecessary helper functions

refactor _reopen_session() by removing wrapper around it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agomon/MonClient: remove unnecessary include
Kefu Chai [Sun, 9 Oct 2016 07:06:26 +0000 (15:06 +0800)]
mon/MonClient: remove unnecessary include

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agomon/monclient: hunt for multiple monitor in parallel
Kefu Chai [Wed, 14 Sep 2016 13:39:04 +0000 (21:39 +0800)]
mon/monclient: hunt for multiple monitor in parallel

* add an option "mon_client_hunt_parallel" for the maxmimum number of parallel
  hunting sessions.

Fixes: http://tracker.ceph.com/issues/16091
Signed-off-by: Steven Dieffenbach <sdieffen@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agomon/MonClient: mark monc_lock a mutable
Kefu Chai [Tue, 14 Feb 2017 02:58:17 +0000 (10:58 +0800)]
mon/MonClient: mark monc_lock a mutable

so we can label the getters of MonClient with the `const` specifier.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agomon/MonClient: use __func__ for function names
Kefu Chai [Mon, 19 Sep 2016 09:54:27 +0000 (17:54 +0800)]
mon/MonClient: use __func__ for function names

Signed-off-by: Steven Dieffenbach <sdieffen@redhat.com>
8 years agoclient: move monc->set_want_keys() before monc->init()
Kefu Chai [Thu, 1 Dec 2016 14:27:30 +0000 (06:27 -0800)]
client: move monc->set_want_keys() before monc->init()

if monc's tick connect to the mon before monc.set_want_keys() is called,
monc won't ask for the key for MDS service, and hence will fail to
build_authorizer() for MDS service. this change ready us for the
feature of monc-connect-to-mon-in-parallel.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoauth: AuthClientHandler::init() pass parameter by const ref
Kefu Chai [Wed, 14 Sep 2016 13:38:46 +0000 (21:38 +0800)]
auth: AuthClientHandler::init() pass parameter by const ref

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #13149 from liewegas/wip-list-objects
Sage Weil [Tue, 14 Feb 2017 04:20:20 +0000 (22:20 -0600)]
Merge pull request #13149 from liewegas/wip-list-objects

librados: remove legacy object listing API, clean up newer api

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
8 years agoMerge pull request #13409 from xiexingguo/wip-fix-throttler-name
Sage Weil [Tue, 14 Feb 2017 04:16:52 +0000 (22:16 -0600)]
Merge pull request #13409 from xiexingguo/wip-fix-throttler-name

os/bluestore: add "_" prefix for internal methods

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoosd: fix backoff vs reset race 13235/head
Sage Weil [Mon, 13 Feb 2017 23:02:39 +0000 (18:02 -0500)]
osd: fix backoff vs reset race

In OSD::ms_handle_reset, we clear session->con before removing any
backoffs.  That means we have to check if con has been cleared after any
call to have_backoff, lest we race with ms_handle_reset and it removes the
backoffs but we don't realize our client session is disconnected.

Introduce a helper to do both these checks in a safe way, simplifying
callers while we're at it.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/Session: fix race between have_backoff() and clear_backoffs()
Sage Weil [Mon, 13 Feb 2017 20:26:24 +0000 (15:26 -0500)]
osd/Session: fix race between have_backoff() and clear_backoffs()

We may return a raw pointer that is about to get deallocated by
clear_backoffs().  Fix by returning a reference, preventing the free.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: rename backoff config options
Sage Weil [Mon, 13 Feb 2017 15:26:23 +0000 (10:26 -0500)]
osd: rename backoff config options

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: manage backoffs per-pg; drop special split logic
Sage Weil [Mon, 13 Feb 2017 14:13:04 +0000 (09:13 -0500)]
osd: manage backoffs per-pg; drop special split logic

Switch backoffs to be owned by a specific spg_t.  Instead of wonky split
logic, just clear them.  This is mostly just for convenience; we could
conceivably only clear the range belonging to children (just to stay
tidy--we'll never get a request in that range) but why bother.

The full pg backoffs are still defined by the range for the pg, although
it's a bit redundant--we could just as easily do [min,max).  This way we
get readable hobject ranges in the messages that go by without having to
map to/from pgids.

Add Session::add_backoff() helper to keep Session internals out of PG.h.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: manage backoffs per-spg_t
Sage Weil [Mon, 13 Feb 2017 03:58:04 +0000 (22:58 -0500)]
osdc/Objecter: manage backoffs per-spg_t

A backoff [range] is defined only within a specific spg_t; it does not
pass anything to children on split, or to another primary.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomessages/MOSDBackoff: add spg_t to message
Sage Weil [Mon, 13 Feb 2017 03:47:31 +0000 (22:47 -0500)]
messages/MOSDBackoff: add spg_t to message

and make it an MOSDFastDispatchOp.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: recalculate target_* on every _calc_target call
Sage Weil [Fri, 10 Feb 2017 14:37:36 +0000 (09:37 -0500)]
osdc/Objecter: recalculate target_* on every _calc_target call

Any time we are asked to calculate the target we should apply the
pool tiering parameters.  The previous logic of only doing so when the
target hadn't been calculated didn't make a whole lot of sense, and broke
our update of *pi that is needed to get the correct pg_num for the target
pool.  This didn't really matter for old clusters that take the raw pg,
but for luminous and beyond we need the exact spg_t which requires a
correct pg_num.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: simplify pgid translation
Sage Weil [Fri, 10 Feb 2017 04:03:10 +0000 (23:03 -0500)]
osdc/Objecter: simplify pgid translation

All callers now pass in an explicit pgid, including pg listing.  Since
we resend ops on split, there is not need to do any translation here,
even for the jewel and kraken osds that can handle a full hash value.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: use overlay pg_pool_t for subsequent calculations
Sage Weil [Fri, 10 Feb 2017 04:02:05 +0000 (23:02 -0500)]
osdc/Objecter: use overlay pg_pool_t for subsequent calculations

We use pi for pg_num and other values below; we need to update accordingly
if we follow the overlay.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: force pg_command ops to ignore overlay
Sage Weil [Mon, 13 Feb 2017 22:38:38 +0000 (17:38 -0500)]
osdc/Objecter: force pg_command ops to ignore overlay

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: force pg_read ops to ignore cache overlay
Sage Weil [Fri, 10 Feb 2017 04:01:14 +0000 (23:01 -0500)]
osdc/Objecter: force pg_read ops to ignore cache overlay

pg_read is only used for PG listing and hit_set_{list,get}; these
operations can't and shouldn't consider the tiering overlay.

This makes the _calc_target behavior with the explicit pgid make sense;
otherwise, what would it mean to try to read pg x.1 from pool x and get
redirected to pg y.1 in pool y?

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMap: make is_acting_osd_shard an explicit spg_t check
Sage Weil [Fri, 10 Feb 2017 04:08:19 +0000 (23:08 -0500)]
osd/OSDMap: make is_acting_osd_shard an explicit spg_t check

Ensure that the ps value is < the pool pg_num.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/OSDMap: is_acting_osd_shard
Sage Weil [Thu, 9 Feb 2017 23:25:41 +0000 (18:25 -0500)]
osd/OSDMap: is_acting_osd_shard

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: drop osd_debug_drop_op_probability
Sage Weil [Mon, 6 Feb 2017 21:14:19 +0000 (16:14 -0500)]
osd: drop osd_debug_drop_op_probability

This is unused and not terribly useful.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: move internal in-memory types to osd_internal_types.h
Sage Weil [Tue, 7 Feb 2017 04:19:39 +0000 (23:19 -0500)]
osd: move internal in-memory types to osd_internal_types.h

Things like ObjectContext and lock state that are internal to the OSD
do not need to be in osd_types and shared with other parts of the code
base.

Notably, this fixes the problem with OpRequest needing things from
osd_types.h (osd_reqid_t for starters).  Others to follow.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/PG: no need to split op waiting lists
Sage Weil [Wed, 8 Feb 2017 14:45:45 +0000 (09:45 -0500)]
osd/PG: no need to split op waiting lists

Clients are now expected to resend on split, and there is already an
interval change.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: explicitly enumerate ops we can dispatch
Sage Weil [Tue, 7 Feb 2017 04:25:15 +0000 (23:25 -0500)]
osd: explicitly enumerate ops we can dispatch

This prevents random messages from falling into and OpRequest and
dispatch_op().

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: remove MOSDPGMissing
Sage Weil [Tue, 7 Feb 2017 04:24:33 +0000 (23:24 -0500)]
osd: remove MOSDPGMissing

Removed 7c414c5dab318a9212fd09f9637f241b1a2943f6 (pre-bobtail).

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd: make all fast dispatch ops MOSDFastDispatchOp children
Sage Weil [Mon, 6 Feb 2017 22:39:58 +0000 (17:39 -0500)]
osd: make all fast dispatch ops MOSDFastDispatchOp children

Define common get_spg() and get_map_epoch() methods.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosdc/Objecter: populate both actual pgid and full has in MOSDOp
Sage Weil [Fri, 3 Feb 2017 21:06:28 +0000 (16:06 -0500)]
osdc/Objecter: populate both actual pgid and full has in MOSDOp

New clients need the actual pgid as well as the full hash (as part of the
target hobj).  Old clients only use the full hash value.  We need to pass
both to MOSDOp so it can encode based on the target features.

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomessages/MOSDOp: take spg_t, not pg_t, and drop old ctor
Sage Weil [Mon, 6 Feb 2017 03:21:47 +0000 (22:21 -0500)]
messages/MOSDOp: take spg_t, not pg_t, and drop old ctor

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agomessages/MOSDOp: new encoding w/ actual pgid separate from hobject hash
Sage Weil [Fri, 3 Feb 2017 21:05:11 +0000 (16:05 -0500)]
messages/MOSDOp: new encoding w/ actual pgid separate from hobject hash

New clients will see an actual pgid as well as a full has value in the
hobj.  Old clients will continue to see a single (full) hash value.

Signed-off-by: Sage Weil <sage@redhat.com>