]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agocrushtool: print error message to stderr not dout(1) 18242/head
Kefu Chai [Wed, 11 Oct 2017 09:45:19 +0000 (17:45 +0800)]
crushtool: print error message to stderr not dout(1)

in hope to fix the mysterious test failure where cli/crushtool/build.t
prints nothing when error message is expected.

Fixes: http://tracker.ceph.com/issues/21758
Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #18218 from tchaikov/wip-21609
Kefu Chai [Wed, 11 Oct 2017 03:05:08 +0000 (11:05 +0800)]
Merge pull request #18218 from tchaikov/wip-21609

mon/PGMap: let pg_string_state() return boost::optional<>

Reviewed-by: Yan Jun <yan.jun8@zte.com.cn>
Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18213 from tchaikov/wip-log-on-osx
Kefu Chai [Wed, 11 Oct 2017 03:03:29 +0000 (11:03 +0800)]
Merge pull request #18213 from tchaikov/wip-log-on-osx

log: fix build on osx

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
7 years agoMerge pull request #18216 from tchaikov/wip-cmake-cleanup
Kefu Chai [Wed, 11 Oct 2017 03:02:29 +0000 (11:02 +0800)]
Merge pull request #18216 from tchaikov/wip-cmake-cleanup

cmake: set supported language the right way

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18228 from ktdreyer/doc-mds-blacklist-interval-manual
Xie Xingguo [Wed, 11 Oct 2017 00:37:08 +0000 (08:37 +0800)]
Merge pull request #18228 from ktdreyer/doc-mds-blacklist-interval-manual

doc: rm stray ")" character from mds config ref

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #17900 from markhpc/wip-filestore-rocksdb-compaction-readahead...
Josh Durgin [Tue, 10 Oct 2017 23:52:18 +0000 (16:52 -0700)]
Merge pull request #17900 from markhpc/wip-filestore-rocksdb-compaction-readahead-master

common/options.cc: Set Filestore rocksdb compaction readahead option.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge PR #18223 into master
Patrick Donnelly [Tue, 10 Oct 2017 21:33:59 +0000 (14:33 -0700)]
Merge PR #18223 into master

* refs/pull/18223/head:
githubmap: define merge conflict resolution

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agodoc: rm stray ")" character from mds config ref 18228/head
Ken Dreyer [Tue, 10 Oct 2017 21:11:11 +0000 (15:11 -0600)]
doc: rm stray ")" character from mds config ref

I accidentally introduced this in
4fb89a63172d2dc6ce8f4702fe90904f9a8fd7bd

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
7 years agogithubmap: define merge conflict resolution 18223/head
Patrick Donnelly [Tue, 10 Oct 2017 19:05:41 +0000 (12:05 -0700)]
githubmap: define merge conflict resolution

Use "union" merge to automatically resolve trivial append merge conflicts from
using ptl-tool.py.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #17882 from ZVampirEM77/wip-rgw-encryption
Matt Benjamin [Tue, 10 Oct 2017 18:56:08 +0000 (14:56 -0400)]
Merge pull request #17882 from ZVampirEM77/wip-rgw-encryption

rgw: clean up and fix some bugs for encryption

7 years agoMerge pull request #17759 from liewegas/wip-21407
Sage Weil [Tue, 10 Oct 2017 18:17:01 +0000 (13:17 -0500)]
Merge pull request #17759 from liewegas/wip-21407

osd: fix waiting_for_peered vs flushing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #18208 from jan--f/mgr-prometheus-fix-undef-metrics
Dan Mick [Tue, 10 Oct 2017 17:38:49 +0000 (10:38 -0700)]
Merge pull request #18208 from jan--f/mgr-prometheus-fix-undef-metrics

pybind/mgr/prometheus: fix metric type undef -> untyped

Reviewed-by: Dan Mick <dmick@redhat.com>
Reviewed-by: John Spray <jspray@redhat.com>
7 years agoMerge pull request #18136 from dillaman/wip-21561
Mykola Golub [Tue, 10 Oct 2017 15:01:44 +0000 (18:01 +0300)]
Merge pull request #18136 from dillaman/wip-21561

rbd-mirror: primary image should register in remote, non-primary image's journal

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
7 years agoMerge pull request #18158 from dillaman/wip-21711
Mykola Golub [Tue, 10 Oct 2017 15:00:52 +0000 (18:00 +0300)]
Merge pull request #18158 from dillaman/wip-21711

librbd: refresh image after applying new metadata

Reviewed-by: Mykola Golub <to.my.trociny@gmail.com>
7 years agolibrbd: refresh image after applying new/removing old metadata 18158/head
Jason Dillaman [Fri, 6 Oct 2017 19:03:34 +0000 (15:03 -0400)]
librbd: refresh image after applying new/removing old metadata

Fixes: http://tracker.ceph.com/issues/21711
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agomon/PGMap: let pg_string_state() return boost::optional<> 18218/head
Kefu Chai [Tue, 10 Oct 2017 12:32:08 +0000 (20:32 +0800)]
mon/PGMap: let pg_string_state() return boost::optional<>

better to be specific, so we don't run into the same problem even we
are using the MSB of uint64_t for a pg state bit in future. we could,
however use uint64_t(-1) to indicate the pg_string_state()'s failure to
parse the state string, because pg_string_state() only translate a
single state a time. but it's always better to be explicit than
implicit.

Fixes: http://tracker.ceph.com/issues/21609
Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agomon/PGMap: use uint64_t for pg state
Kefu Chai [Tue, 10 Oct 2017 12:40:24 +0000 (20:40 +0800)]
mon/PGMap: use uint64_t for pg state

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agocmake: set supported language the right way 18216/head
Kefu Chai [Tue, 10 Oct 2017 11:30:42 +0000 (19:30 +0800)]
cmake: set supported language the right way

the second param of enable_launage() is not used, we should call it
multiple times to enable more than one language. switch to project()
command for simplicity.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agolog: fix build on osx 18213/head
Kefu Chai [Tue, 10 Oct 2017 07:37:50 +0000 (15:37 +0800)]
log: fix build on osx

we can not assume that the the `rep` type is identical to `time_t` and
`susecond_t`, on osx they are `int`, not `int64_t`. so cast they as
necessary.

this fixes the error and warning of

LogClock.h:112:7: error: non-constant-expression cannot be narrowed from type 'rep' (aka 'long long') to '__darwin_suseconds_t' (aka 'int') in initializer list [-Wc++11-narrowing]
             std::chrono::duration_cast<std::chrono::microseconds>(
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/kefu/dev/ceph/src/log/LogClock.h:112:7: note: insert an explicit cast to silence this issue
             std::chrono::duration_cast<std::chrono::microseconds>(
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LogClock.h:139:46: warning: format specifies type 'long' but the argument has type 'int' [-Wformat]
                      bdt.tm_hour, bdt.tm_min, bdt.tm_sec, tv.tv_usec / 1000);
                                                           ^~~~~~~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agopybind/mgr/prometheus: fix metric type undef -> untyped 18208/head
Jan Fajerski [Tue, 10 Oct 2017 06:40:31 +0000 (08:40 +0200)]
pybind/mgr/prometheus: fix metric type undef -> untyped

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
7 years agoMerge pull request #18205 from yaozongyou/fix-bluestore-cache-kv-max-type
Kefu Chai [Tue, 10 Oct 2017 04:49:19 +0000 (12:49 +0800)]
Merge pull request #18205 from yaozongyou/fix-bluestore-cache-kv-max-type

doc: correct wrong bluestore config types

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agodoc: fix bluestore config type error. 18205/head
Yao Zongyou [Tue, 10 Oct 2017 03:34:26 +0000 (11:34 +0800)]
doc: fix bluestore config type error.

Signed-off-by: Yao Zongyou <yaozongyou@vip.qq.com>
7 years agoMerge pull request #18161 from Liuchang0812/wip-bluestore-ebusy
Kefu Chai [Tue, 10 Oct 2017 02:55:07 +0000 (10:55 +0800)]
Merge pull request #18161 from Liuchang0812/wip-bluestore-ebusy

os/bluestore: do not core dump when we try to open kvstore twice

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18149 from tchaikov/wip-cleanups
Kefu Chai [Tue, 10 Oct 2017 02:53:52 +0000 (10:53 +0800)]
Merge pull request #18149 from tchaikov/wip-cleanups

common, osd: various cleanups

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
7 years agoMerge pull request #18177 from tchaikov/wip-kv-kill-warning
Kefu Chai [Tue, 10 Oct 2017 02:52:53 +0000 (10:52 +0800)]
Merge pull request #18177 from tchaikov/wip-kv-kill-warning

kv: unify {create_and_,}open() methods

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agorbd-mirror: removed duplicate client registration logic 18136/head
Jason Dillaman [Thu, 5 Oct 2017 20:38:32 +0000 (16:38 -0400)]
rbd-mirror: removed duplicate client registration logic

The client will now be registered before the bootstrap state machine
is invoked.

Fixes: http://tracker.ceph.com/issues/21561
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agorbd-mirror: local primary images should still register to remote images
Jason Dillaman [Thu, 5 Oct 2017 19:56:19 +0000 (15:56 -0400)]
rbd-mirror: local primary images should still register to remote images

Fixes: http://tracker.ceph.com/issues/21561
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #18195 from ktdreyer/doc-mds-blacklist-interval-manual
John Spray [Mon, 9 Oct 2017 22:31:09 +0000 (23:31 +0100)]
Merge pull request #18195 from ktdreyer/doc-mds-blacklist-interval-manual

doc: "mds blacklist interval" vs manually blacklisting

7 years agoosd: fix waiting_for_peered vs flushing 17759/head
Sage Weil [Fri, 15 Sep 2017 20:03:38 +0000 (16:03 -0400)]
osd: fix waiting_for_peered vs flushing

on_flush() requeues waiting_for_peered, but we flush twice on the
primary during peering, and we don't want to requeue the first one
(when we have the master pg log merged).

Fix by moving waiting_for_peered to waiting_for_flush if we aren't
already flush on _activate_committed.  If we get an op and are
peered but not flushed, queue ops there.  (We can simplify this
check a bit since pgbackend inactive message handling doesn't care
about flushed or not flushed.)  When flushed, we requeue
waiting_for_flush.

The waiting_for_flush, waiting_for_peered, and waiting_for_active
lists are all mutually exclusive, so this mostly serves to
clarify what we are waiting for (not to keep items separate). And
it means that on_flushed() will only requeue things that were
waiting for it specifically.

Fixes: http://tracker.ceph.com/issues/21407
Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18188 from jschmid1/wip-man-osd-config-ref-syntax
Kefu Chai [Mon, 9 Oct 2017 17:01:00 +0000 (01:01 +0800)]
Merge pull request #18188 from jschmid1/wip-man-osd-config-ref-syntax

doc: fixes syntax in osd-config-ref

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agodoc: fix syntax in rst 18188/head
Joshua Schmid [Mon, 9 Oct 2017 15:31:45 +0000 (17:31 +0200)]
doc: fix syntax in rst

* Fix syntax in osd max object size section.

Fixes: http://tracker.ceph.com/issues/21733
Signed-off-by: Joshua Schmid <jschmid@suse.de>
7 years agodoc: "mds blacklist interval" vs manually blacklisting 18195/head
Ken Dreyer [Mon, 9 Oct 2017 15:20:35 +0000 (09:20 -0600)]
doc: "mds blacklist interval" vs manually blacklisting

The "mds blacklist interval" setting has no effect on the time that
the "ceph osd blacklist" command will use by default. Clarify this in
the docs.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
7 years agokv: unify {create_and_,}open() methods 18177/head
Kefu Chai [Mon, 9 Oct 2017 08:52:20 +0000 (16:52 +0800)]
kv: unify {create_and_,}open() methods

this silences the warning of "-Woverloaded-virtual" where create() and
create_and_open() from KeyValueDB are hidden from the ones defined in
derived classes.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #18190 from JustL/master
Haomai Wang [Mon, 9 Oct 2017 13:48:19 +0000 (08:48 -0500)]
Merge pull request #18190 from JustL/master

msg/async/rdma: unnecessary reinitiliazation of an iterator

Reviewed-by: Haomai Wang <haomai@xsky.com>
7 years agoMerge pull request #18058 from Yan-waller/wip-walle-0927pgstatexpandstate
Sage Weil [Mon, 9 Oct 2017 13:22:42 +0000 (08:22 -0500)]
Merge pull request #18058 from Yan-waller/wip-walle-0927pgstatexpandstate

osd/PG:  extend pg state bits to fix pg ls commands error

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agomsg/async/rdma: unnecessary reinitiliazation of an iterator 18190/head
JustL [Mon, 9 Oct 2017 12:37:43 +0000 (20:37 +0800)]
msg/async/rdma: unnecessary reinitiliazation of an iterator

current_buffer iterator does not need to be reinitalized as no changes
occur between the initialization and iteration steps.

Signed-off-by: Justinas Lingys jlingys@connect.ust.hk
7 years agoMerge pull request #18178 from joscollin/wip-radosgw-admin-reshard-fix
Orit Wasserman [Mon, 9 Oct 2017 12:19:05 +0000 (15:19 +0300)]
Merge pull request #18178 from joscollin/wip-radosgw-admin-reshard-fix

rgw: update usage() with status
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18180 from oritwas/wip-rgw-21617
Jos Collin [Mon, 9 Oct 2017 12:03:57 +0000 (12:03 +0000)]
Merge pull request #18180 from oritwas/wip-rgw-21617

rgw: add reshard commands

Reviewed-by: Jos Collin <jcollin@redhat.com>
7 years agorgw: Fixed typos and status in help.t 18178/head
Jos Collin [Mon, 9 Oct 2017 11:28:29 +0000 (16:58 +0530)]
rgw: Fixed typos and status in help.t

Fixed typos and status in help.t

Signed-off-by: Jos Collin <jcollin@redhat.com>
7 years agorgw: add reshard commands to the man pages 18180/head
Orit Wasserman [Mon, 9 Oct 2017 09:35:42 +0000 (12:35 +0300)]
rgw: add reshard commands to the man pages

Fixes: http://tracker.ceph.com/issues/21617
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #18162 from tchaikov/wip-ceph-disk-retry-on-dev-not-ready
Kefu Chai [Mon, 9 Oct 2017 10:25:45 +0000 (18:25 +0800)]
Merge pull request #18162 from tchaikov/wip-ceph-disk-retry-on-dev-not-ready

ceph-disk: retry on OSError

Reviewed-by: Loic Dachary <ldachary@redhat.com>
7 years agorgw: update usage() with status
Jos Collin [Mon, 9 Oct 2017 09:14:29 +0000 (14:44 +0530)]
rgw: update usage() with status

Fixed the missing 'status' in usage().

Signed-off-by: Jos Collin <jcollin@redhat.com>
7 years agoosd/PG: extend pg state to 64 bits 18058/head
Yan Jun [Wed, 27 Sep 2017 08:35:14 +0000 (16:35 +0800)]
osd/PG: extend pg state to 64 bits

Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
7 years agoos/bluestore: drop unused class FreelistManager
Yan Jun [Wed, 27 Sep 2017 11:02:36 +0000 (19:02 +0800)]
os/bluestore: drop unused class FreelistManager

Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
7 years agoMerge pull request #18157 from batrick/ptl-tool-branch-checkout
Jos Collin [Mon, 9 Oct 2017 03:27:27 +0000 (03:27 +0000)]
Merge pull request #18157 from batrick/ptl-tool-branch-checkout

ptl-tool: checkout branch after creation

Reviewed-by: Jos Collin <jcollin@redhat.com>
7 years agoMerge pull request #17708 from liewegas/wip-pg
Sage Weil [Mon, 9 Oct 2017 02:47:49 +0000 (21:47 -0500)]
Merge pull request #17708 from liewegas/wip-pg

osd: initial minimal efforts to clean up PG interface

7 years agoMerge pull request #18125 from cernceph/dvanders_conf
Sage Weil [Mon, 9 Oct 2017 02:47:26 +0000 (21:47 -0500)]
Merge pull request #18125 from cernceph/dvanders_conf

mon: mark mon_allow_pool_delete as observed

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18144 from hjwsm1989/wip-21425-part2
Sage Weil [Mon, 9 Oct 2017 02:47:02 +0000 (21:47 -0500)]
Merge pull request #18144 from hjwsm1989/wip-21425-part2

qa/suites/rest/basic/tasks/rest_test: whiltelist OSD_DOWN

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #18159 from liewegas/wip-21712-b
Sage Weil [Mon, 9 Oct 2017 02:46:27 +0000 (21:46 -0500)]
Merge pull request #18159 from liewegas/wip-21712-b

os: fix 0-length zero semantics, add tests

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoos/bluestore: 0-length zero should not change object size 18159/head
Sage Weil [Fri, 6 Oct 2017 20:29:32 +0000 (15:29 -0500)]
os/bluestore: 0-length zero should not change object size

Fixes: http://tracker.ceph.com/issues/21712
Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/filestore: make 0-length zero avoid touching object length
Sage Weil [Fri, 6 Oct 2017 20:29:15 +0000 (15:29 -0500)]
os/filestore: make 0-length zero avoid touching object length

Fixes: http://tracker.ceph.com/issues/21712
Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoos/ObjectStore: 0-length zero does not change length of object
Sage Weil [Fri, 6 Oct 2017 20:28:49 +0000 (15:28 -0500)]
os/ObjectStore: 0-length zero does not change length of object

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agomon/OSDMonitor: s/g_ceph_context/cct/ 18149/head
Kefu Chai [Tue, 26 Sep 2017 09:19:23 +0000 (17:19 +0800)]
mon/OSDMonitor: s/g_ceph_context/cct/

use this->cct if possible, yet another step to remove the dependency on
global `g_ceph_context`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agocommon/config: return const reference instead of a copy
Kefu Chai [Fri, 6 Oct 2017 10:27:51 +0000 (18:27 +0800)]
common/config: return const reference instead of a copy

avoid creating temporary Option::value_t instances if possible

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agocommon/config: use boost::get<> instead of visitor
Kefu Chai [Sun, 8 Oct 2017 16:32:54 +0000 (00:32 +0800)]
common/config: use boost::get<> instead of visitor

simpler this way with caveat of less developer friendly assertion
failure.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoosd,common: avoid casting useless casts
Kefu Chai [Fri, 6 Oct 2017 10:11:46 +0000 (18:11 +0800)]
osd,common: avoid casting useless casts

no need to cast a variable of type `Foo` to `Foo`, for example, 2.000 is
of type `double`, so (double)2.000 does not make sense.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoinclude/types.h: silence "-Wdouble-promotion" warnings
Kefu Chai [Fri, 6 Oct 2017 09:49:04 +0000 (17:49 +0800)]
include/types.h: silence "-Wdouble-promotion" warnings

avoid implicit promotion from float to double.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agocommon/config: s/_get_val/_get_val_generic/
Kefu Chai [Mon, 9 Oct 2017 01:45:57 +0000 (09:45 +0800)]
common/config: s/_get_val/_get_val_generic/

avoid distinguish two methods with their return types and non-templated
versus templated. also, this follows the convention of md_config_t.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #18141 from adamemerson/wip-log-time
Kefu Chai [Mon, 9 Oct 2017 01:35:46 +0000 (09:35 +0800)]
Merge pull request #18141 from adamemerson/wip-log-time

log: Use the coarse real time clock in log timestamps

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #17976 from adamemerson/wip-warning-sign
Kefu Chai [Mon, 9 Oct 2017 01:34:50 +0000 (09:34 +0800)]
Merge pull request #17976 from adamemerson/wip-warning-sign

mgr,osd,kv: Fix various warnings for Clang and GCC7

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoceph-disk: retry on OSError 18162/head
Kefu Chai [Sat, 7 Oct 2017 14:15:11 +0000 (22:15 +0800)]
ceph-disk: retry on OSError

we are likely to
1) create partition, for instance, sdc1
2) partprobe sdc
3) udevadm settle
4) check the device by its path: /dev/sdc1

but there is chance that the uevent sent from kernel fails to reach udev
before we call "udevadm", hence "/dev/sdc1" does not exist even after
"udevadm settle" returns. so we retry in case of OSError here.

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoceph-disk: factor out the retry logic into a decorator
Kefu Chai [Sat, 7 Oct 2017 13:13:47 +0000 (21:13 +0800)]
ceph-disk: factor out the retry logic into a decorator

Signed-off-by: Kefu Chai <kchai@redhat.com>
7 years agoos/bluestore: do not core dump when we try to open kvstore twice 18161/head
Chang Liu [Sat, 7 Oct 2017 08:46:46 +0000 (16:46 +0800)]
os/bluestore: do not core dump when we try to open kvstore twice

Signed-off-by: Chang Liu <liuchang0812@gmail.com>
7 years agolog: Mark timestamps for coarseness and print appropriately 18141/head
Adam C. Emerson [Fri, 6 Oct 2017 21:15:43 +0000 (17:15 -0400)]
log: Mark timestamps for coarseness and print appropriately

Have each timestamp know whether it's coarse or fine. Print six figures
for fine stamps and three for coarse.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agolog: Add log_coarse_timestamps option
Adam C. Emerson [Thu, 5 Oct 2017 22:34:06 +0000 (18:34 -0400)]
log: Add log_coarse_timestamps option

And set up an observer in CephContext to coarsen/refine time stamps as
requested.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agoconfig: Add templated _get_val for use in observers
Adam C. Emerson [Thu, 5 Oct 2017 22:32:32 +0000 (18:32 -0400)]
config: Add templated _get_val for use in observers

When notified by a config observer, the config lock is already held,
create a _get_val template to manipulate newstyle options when
notified.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agolog: Use log_clock, defaulting to coarse time
Adam C. Emerson [Thu, 5 Oct 2017 22:30:56 +0000 (18:30 -0400)]
log: Use log_clock, defaulting to coarse time

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agolog: Add optional msg parameter to create_entry and test with it
Adam C. Emerson [Thu, 5 Oct 2017 22:27:37 +0000 (18:27 -0400)]
log: Add optional msg parameter to create_entry and test with it

The tests should, really, get their time from the same source as the
log, and also probably use the same interface to creating entries that
other people do. So add an optional message argument and have the
tests use that rather than using the new operator directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agolog: Create log_clock to replace use of utime_t
Adam C. Emerson [Thu, 5 Oct 2017 22:17:16 +0000 (18:17 -0400)]
log: Create log_clock to replace use of utime_t

We create a new time type to support using coarse timestamps (for
performance) by default while still allowing the user to switch to
fine timestamps.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
7 years agoosd/PGLog: drop old compat coll/oid args to read_log_and_missing 17708/head
Sage Weil [Fri, 6 Oct 2017 19:34:41 +0000 (14:34 -0500)]
osd/PGLog: drop old compat coll/oid args to read_log_and_missing

The oldest version we care about is 10, and these were for <8.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18122 from liewegas/wip-monthrash-peering
Sage Weil [Fri, 6 Oct 2017 20:32:45 +0000 (15:32 -0500)]
Merge pull request #18122 from liewegas/wip-monthrash-peering

qa/suites/rados/monthrash: tolerate PG_AVAILABILITY during mon thrashing

7 years agoMerge pull request #18047 from gregsfortytwo/wip-20416-bitwise-assert
Yuri Weinstein [Fri, 6 Oct 2017 19:48:35 +0000 (12:48 -0700)]
Merge pull request #18047 from gregsfortytwo/wip-20416-bitwise-assert

osd: make the PG's SORTBITWISE assert a more generous shutdown

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: bring past_intervals up to date on import
Sage Weil [Fri, 6 Oct 2017 19:21:43 +0000 (14:21 -0500)]
ceph-objectstore-tool: bring past_intervals up to date on import

We can't blinding fast-forward the pg epoch to the latest map without
also updating the pg history and PastIntervals.  Do that at import time.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: hide DIAGNOSTIC stuff behind debug/verbose mode
Sage Weil [Fri, 6 Oct 2017 18:58:22 +0000 (13:58 -0500)]
ceph-objectstore-tool: hide DIAGNOSTIC stuff behind debug/verbose mode

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: drop unused biginfo_oid
Sage Weil [Fri, 6 Oct 2017 18:57:59 +0000 (13:57 -0500)]
ceph-objectstore-tool: drop unused biginfo_oid

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: refuse to import PG older that OSD's oldest_epoch
Sage Weil [Fri, 6 Oct 2017 18:43:57 +0000 (13:43 -0500)]
ceph-objectstore-tool: refuse to import PG older that OSD's oldest_epoch

We don't have a way to construct a valid PastIntervals history.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoptl-tool: checkout branch after creation 18157/head
Patrick Donnelly [Fri, 6 Oct 2017 18:52:04 +0000 (11:52 -0700)]
ptl-tool: checkout branch after creation

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoceph-objectstore-tool: remove rm-past-intervals op
Sage Weil [Thu, 5 Oct 2017 02:31:12 +0000 (21:31 -0500)]
ceph-objectstore-tool: remove rm-past-intervals op

The OSD doesn't rebuild this on demand anymore.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: do not clear same_interval_since and PastIntervals
Sage Weil [Tue, 3 Oct 2017 18:32:37 +0000 (13:32 -0500)]
ceph-objectstore-tool: do not clear same_interval_since and PastIntervals

We dropped the OSD recalculation code for this.  Import it.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoceph-objectstore-tool: print pg_info_t to stdoutt
Sage Weil [Sun, 17 Sep 2017 23:27:44 +0000 (18:27 -0500)]
ceph-objectstore-tool: print pg_info_t to stdoutt

Helpful for debugging

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: print summary for forced backfill/recovery to debug
Sage Weil [Mon, 18 Sep 2017 21:53:31 +0000 (16:53 -0500)]
osd: print summary for forced backfill/recovery to debug

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: drop OSD friend, finally!
Sage Weil [Mon, 18 Sep 2017 19:53:47 +0000 (14:53 -0500)]
osd/PG: drop OSD friend, finally!

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: drop redundant is_active() check before scrub_sched()
Sage Weil [Mon, 18 Sep 2017 19:51:36 +0000 (14:51 -0500)]
osd: drop redundant is_active() check before scrub_sched()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make update_snap_mapper_bits public
Sage Weil [Mon, 18 Sep 2017 19:14:11 +0000 (14:14 -0500)]
osd/PG: make update_snap_mapper_bits public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make on_removal() public
Sage Weil [Mon, 18 Sep 2017 19:12:08 +0000 (14:12 -0500)]
osd/PG: make on_removal() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make get_primary() public
Sage Weil [Mon, 18 Sep 2017 19:11:49 +0000 (14:11 -0500)]
osd/PG: make get_primary() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: add get_pool()
Sage Weil [Mon, 18 Sep 2017 19:05:00 +0000 (14:05 -0500)]
osd/PG: add get_pool()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use pg_id.pool() for pg pool id
Sage Weil [Mon, 18 Sep 2017 19:04:44 +0000 (14:04 -0500)]
osd: use pg_id.pool() for pg pool id

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: make sched_scrub() public
Sage Weil [Mon, 18 Sep 2017 19:04:14 +0000 (14:04 -0500)]
osd/PG: make sched_scrub() public

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: get_must_scrub()
Sage Weil [Mon, 18 Sep 2017 19:01:00 +0000 (14:01 -0500)]
osd/PG: get_must_scrub()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PGBackend: remove scrub_supported()
Sage Weil [Mon, 18 Sep 2017 19:00:37 +0000 (14:00 -0500)]
osd/PGBackend: remove scrub_supported()

Everybody supports scrub.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: change 'debug dump_missing'
Sage Weil [Mon, 18 Sep 2017 18:59:33 +0000 (13:59 -0500)]
osd/PG: change 'debug dump_missing'

- json
- move into PG class

No users in the qa suite.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move bits of delete_dir (pg removal) into PG
Sage Weil [Mon, 18 Sep 2017 02:55:27 +0000 (21:55 -0500)]
osd/PG: move bits of delete_dir (pg removal) into PG

We don't want to expose things like SnapMapper, OSDriver.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: define public interface for heartbeat peers
Sage Weil [Mon, 18 Sep 2017 02:32:44 +0000 (21:32 -0500)]
osd/PG: define public interface for heartbeat peers

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd: use accessors for pg resurrection
Sage Weil [Mon, 18 Sep 2017 02:17:36 +0000 (21:17 -0500)]
osd: use accessors for pg resurrection

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: simplify start_recovery_ops return value meaning
Sage Weil [Sun, 17 Sep 2017 23:32:45 +0000 (18:32 -0500)]
osd/PG: simplify start_recovery_ops return value meaning

Instead of complex check in caller, return simple bool indicating whether
find_unfound() should be called with a rctx.

There is one remaining condition that can probably be simplified:

  if (!recovering.empty() ||
      work_in_progress || recovery_ops_active > 0 || deferred_backfill)
    return !work_in_progress && have_unfound();

but we will leave it for now.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: simplify unfound recovery case; rename method
Sage Weil [Sun, 17 Sep 2017 23:29:38 +0000 (18:29 -0500)]
osd/PG: simplify unfound recovery case; rename method

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: drop unneeded write_if_dirty
Sage Weil [Sun, 17 Sep 2017 23:27:44 +0000 (18:27 -0500)]
osd/PG: drop unneeded write_if_dirty

Nothing in start_recovery_ops or stuck_on_unfound dirties state.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move a few assertions, flag change into start_recovery_ops()
Sage Weil [Sun, 17 Sep 2017 23:11:35 +0000 (18:11 -0500)]
osd/PG: move a few assertions, flag change into start_recovery_ops()

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoosd/PG: move some more split machinery into PG
Sage Weil [Sun, 17 Sep 2017 22:55:29 +0000 (17:55 -0500)]
osd/PG: move some more split machinery into PG

and move other split pieces into the public interface.

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