]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>