]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agomon/MonClient: interpret numeric mon target name as rank
Sage Weil [Mon, 30 Sep 2019 15:58:40 +0000 (10:58 -0500)]
mon/MonClient: interpret numeric mon target name as rank

This allows us to behave when a rank is passed to mon_command(..., target=),
which will call rados_mon_command_target() -> MonClient::start_mon_command
with a (string) target name.

We could make an integer variant of rados_mon_command_target, and do the
int vs string differentiation in python, but this is much easier.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr,mgr/MgrClient: use fsid to signal mon-mgr vs cli MCommands
Sage Weil [Fri, 27 Sep 2019 21:01:44 +0000 (16:01 -0500)]
mgr,mgr/MgrClient: use fsid to signal mon-mgr vs cli MCommands

We can't use the feature bit for the MCommand connection to tell whether
it is a tell or CLI command because new clients may have to send CLI
commands via MCommand for old clusters, and they don't always know whether
this mgr is new or old yet.

Prior to octopus, MCommand contained a mon/mgr CLI command, and did not
have the fsid field set.  Start populating the fsid field, and use this
to signal whether a client is a new MgrClient that knows MCommand vs
MMgrCommand.  If we get an MCommand with the fsid set, that means it is
a tell command; otherwise, it's an old client sending a CLI command.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/workunits/cephtool: fix errpr checks for 'ceph daemon' commands
Sage Weil [Tue, 24 Sep 2019 18:34:21 +0000 (13:34 -0500)]
qa/workunits/cephtool: fix errpr checks for 'ceph daemon' commands

Error output has changed slightly.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/ceph_context: make 'config unset' idempotent
Sage Weil [Sun, 22 Sep 2019 18:39:15 +0000 (13:39 -0500)]
common/ceph_context: make 'config unset' idempotent

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/tasks/dump_stuck: mon.a, not mon.0
Sage Weil [Sun, 22 Sep 2019 18:35:27 +0000 (13:35 -0500)]
qa/tasks/dump_stuck: mon.a, not mon.0

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/suites/rados/singleton/all/admin-socket: fix test
Sage Weil [Sun, 22 Sep 2019 18:32:37 +0000 (13:32 -0500)]
qa/suites/rados/singleton/all/admin-socket: fix test

We can't set the filestore setting because filestore isn't active and so
the option isn't observed, so it isn't changeable.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/config: EPERM setting config option after startup
Sage Weil [Sun, 22 Sep 2019 18:29:18 +0000 (13:29 -0500)]
common/config: EPERM setting config option after startup

Not sure why ENOSYS was chosen before...

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/workunits/cephtool/test.sh: fix tell output error check
Sage Weil [Fri, 20 Sep 2019 19:51:26 +0000 (14:51 -0500)]
qa/workunits/cephtool/test.sh: fix tell output error check

It goes to stderr instead of stdout now.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: pass Formatter from generic infrastructure
Sage Weil [Thu, 19 Sep 2019 16:11:55 +0000 (11:11 -0500)]
common/admin_socket: pass Formatter from generic infrastructure

The implementation can choose to either use the provided Formatter, or
put something directly into outbl.  The implementation may choose to
flush the formatter to the output buffer|stream, or let the caller do it
for them (usually the latter).

Lots of fiddling/cleanup in the implementations to make this build,
including dropping the (seeminlyg unused?) ostream& output mode for
the librbd asok implementations.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: pass ostream to call() for error output
Sage Weil [Fri, 13 Sep 2019 19:13:50 +0000 (14:13 -0500)]
common/admin_socket: pass ostream to call() for error output

This separates the error stream from the output stream for the synchronous
hook.

This patch includes misc cleanup in the various implementations to make
use of the new stream for errors.

Add a test to unittest_context to ensure we're getting the error stream.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoos/bluestore: fix asok hook return value
Sage Weil [Fri, 13 Sep 2019 15:22:14 +0000 (10:22 -0500)]
os/bluestore: fix asok hook return value

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agorgw: fix asok return value
Sage Weil [Fri, 13 Sep 2019 15:21:35 +0000 (10:21 -0500)]
rgw: fix asok return value

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/ceph_context: return error code from asok commands
Sage Weil [Fri, 13 Sep 2019 13:45:13 +0000 (08:45 -0500)]
common/ceph_context: return error code from asok commands

Several of these commands (config set, injectargs, etc.) can return errors.
Do so.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agotest/pybind/test_rados: fix accidental mon tell test
Sage Weil [Wed, 11 Sep 2019 15:47:03 +0000 (10:47 -0500)]
test/pybind/test_rados: fix accidental mon tell test

This test assumed 'mon dump' (a CLI command) would work when targetted at
a specific mon (i.e., a tell command).

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomon: print entity_name along with caps to debug log
Sage Weil [Wed, 11 Sep 2019 15:43:03 +0000 (10:43 -0500)]
mon: print entity_name along with caps to debug log

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoPendingReleaseNotes: notes about asok changes
Sage Weil [Tue, 10 Sep 2019 22:31:14 +0000 (17:31 -0500)]
PendingReleaseNotes: notes about asok changes

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/MgrClient: empty target string for 'tell' means active mgr
Sage Weil [Tue, 10 Sep 2019 18:51:25 +0000 (13:51 -0500)]
mgr/MgrClient: empty target string for 'tell' means active mgr

This lets the caller say "tell the active mgr", whoever it may be.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: report error code as part of output string
Sage Weil [Tue, 10 Sep 2019 15:21:39 +0000 (10:21 -0500)]
common/admin_socket: report error code as part of output string

This isn't ideal, but it's better than nothing.

Net behavior change here is that calling an non-existant command now
succeeds with an error message instead of exiting with an error code
and no informative output.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosd: change trigger_[deep_]scrub tommands to a pg tell command
Sage Weil [Tue, 10 Sep 2019 15:14:41 +0000 (10:14 -0500)]
osd: change trigger_[deep_]scrub tommands to a pg tell command

This is cleaner.  All users are currently standalone tests; updated.

It also means that *all* commands that have a name=pgid arg are pg tell
commands.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosd: remove old command workqueue, threadpool
Sage Weil [Tue, 10 Sep 2019 03:09:50 +0000 (22:09 -0500)]
osd: remove old command workqueue, threadpool

These are now sent to the asok handler.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosd: drop MMonCommand handling
Sage Weil [Tue, 10 Sep 2019 03:08:15 +0000 (22:08 -0500)]
osd: drop MMonCommand handling

Nothing sends these.. or has in a very very long time, AFAICS.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosdc/Objecter: resend OSD tell commands on EAGAIN
Sage Weil [Tue, 10 Sep 2019 21:41:18 +0000 (16:41 -0500)]
osdc/Objecter: resend OSD tell commands on EAGAIN

Request map *and* resend.  We don't have map epoch info about when the
reply was sent, and the OSD isn't ordering with respect to epochs anyway.
So, resend now, just in case we already saw a map change, or because we
were suffering from a peering vs command race on the OSD side, and then
also request a new map from the mon, in case we are missing a map update.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosd: route tell commands to asok; migrate commands
Sage Weil [Tue, 10 Sep 2019 03:07:03 +0000 (22:07 -0500)]
osd: route tell commands to asok; migrate commands

- move items from _do_command to asok_command in OSD.cc
- update PG::do_command to take a std::function on_finish
- sprinkle in some osd_lock locking (_do_command implicitly locks osd_lock,
  asok_command() does not; most commands don't need it)

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosd: use unique_ptr<Formatter> for asok_command
Sage Weil [Mon, 9 Sep 2019 19:55:13 +0000 (14:55 -0500)]
osd: use unique_ptr<Formatter> for asok_command

Simpify lifecycle.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/ceph_context: add generic asok 'injectargs'
Sage Weil [Tue, 10 Sep 2019 12:06:11 +0000 (07:06 -0500)]
common/ceph_context: add generic asok 'injectargs'

Lots of scripts and users expect this, even though 'config set' is
generally nicer to use.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: allow dup prefixes
Sage Weil [Tue, 10 Sep 2019 15:10:12 +0000 (10:10 -0500)]
common/admin_socket: allow dup prefixes

Allow multiple commands to register with the same prefix (but different
commands description strings).

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: refactor with sync and async execute_command variants
Sage Weil [Tue, 10 Sep 2019 21:39:37 +0000 (16:39 -0500)]
common/admin_socket: refactor with sync and async execute_command variants

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: pass input bufferlist
Sage Weil [Mon, 9 Sep 2019 19:52:01 +0000 (14:52 -0500)]
common/admin_socket: pass input bufferlist

Pass this to the async handler only for now, since the sync implementations
don't currently use it.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoosd: transition to call_async() for asok
Sage Weil [Mon, 9 Sep 2019 18:31:34 +0000 (13:31 -0500)]
osd: transition to call_async() for asok

And some variable renames, error path fixup.

No other significant functional change.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: support alternative call_async()
Sage Weil [Fri, 6 Sep 2019 21:45:05 +0000 (16:45 -0500)]
common/admin_socket: support alternative call_async()

Some tell commands reply asynchronously.  Support that through the generic
infrastructure.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomon/MonClient: send tell commands out of band via MCommand
Sage Weil [Fri, 6 Sep 2019 20:18:12 +0000 (15:18 -0500)]
mon/MonClient: send tell commands out of band via MCommand

The current tell mon command handling is pretty fragile and semi-broken:
we force the client to (exclusively) connect to the target mon, disrupting
other monclient business, and the retry logic is fragile.

Instead, use entirely independent connections for each tell command, and
tear them down when we get a reply. Implement independent and simple
error handling and timeouts.

Keep most of the old behavior alive so that we can still use tell against
pre-octopus mons.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomon: accept tell commands via MCommand and send them to asok handler
Sage Weil [Fri, 6 Sep 2019 20:06:37 +0000 (15:06 -0500)]
mon: accept tell commands via MCommand and send them to asok handler

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: return int from hook call()
Sage Weil [Fri, 6 Sep 2019 15:36:31 +0000 (10:36 -0500)]
common/admin_socket: return int from hook call()

Previously, call() returned a bool.  Return an int instead so we can
wire this up to tell command return values.

The admin socket 'ceph daemon ...' unix domain socket protocol does not
pass a return code, only data, so we cannot pass these errors that way.
We have two choices: make error codes silently succeed when accessed via
asok (so that we get an error string etc), or make them fail without any
specific error code or string.

Unfortunately, there are several cases where an exception was caught and
what() returned as a string, or where error strings are returned.  These
would "blindly" fail if we took the latter approach.

So, for the asok interface, -ENOSYS means a "hard" error that gives the
user no data and makes the 'ceph daemon ...' command return an error code.
Other error codes are interpreted as a success.  This is ONLY for the
asok interface; the tell interface has full fidelity with error codes and
error strings.

Note that this means that 'net new' tell-style commands that we move over
to this handler will also appear to succeed via the 'ceph daemon'
interface when they return error codes.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/DaemonServer: route MCommand (for octopus+) to asok commands
Sage Weil [Fri, 6 Sep 2019 14:44:23 +0000 (09:44 -0500)]
mgr/DaemonServer: route MCommand (for octopus+) to asok commands

Send mgr 'tell' commands (if they originate from a octopus+ client that
knows the difference between MCommand and MMgrCommand) to the asok
comand queue.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agodo not use 'ceph tell mgr'
Sage Weil [Tue, 10 Sep 2019 15:56:54 +0000 (10:56 -0500)]
do not use 'ceph tell mgr'

This is now for a daemon/asok command, not a module command.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agopybind/ceph_argparse: disambiguate mgr tell and CLI commands
Sage Weil [Tue, 10 Sep 2019 18:53:54 +0000 (13:53 -0500)]
pybind/ceph_argparse: disambiguate mgr tell and CLI commands

The mgr tell commands are somewhat special in that you can tell the mgr
with an empty id ('ceph tell mgr' or target ('mgr', '')) to get the
currently active mgr.  This makes it hard to disabiguate between a tell
command and a CLI command.

Fix that by explicitly setting the target to 'mon-mgr' when a CLI command
is flagged as a mgr command.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoceph: make 'ceph tell mgr.*' send to the active mgr
Sage Weil [Tue, 10 Sep 2019 18:50:50 +0000 (13:50 -0500)]
ceph: make 'ceph tell mgr.*' send to the active mgr

We can only send tell commands to the active mgr.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoceph: send 'ceph tell mgr.X' to the right mgr
Sage Weil [Fri, 6 Sep 2019 14:43:35 +0000 (09:43 -0500)]
ceph: send 'ceph tell mgr.X' to the right mgr

Previously this would go to the active mgr, whoever that was.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agolibrados: add rados_mgr_command_target
Sage Weil [Fri, 6 Sep 2019 14:42:28 +0000 (09:42 -0500)]
librados: add rados_mgr_command_target

This variant lets you specify which mgr to talk to.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/MgrClient: add start_command variant that takes a target
Sage Weil [Fri, 6 Sep 2019 14:43:01 +0000 (09:43 -0500)]
mgr/MgrClient: add start_command variant that takes a target

Note that the initial implementation can only target the active mgr!

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: drop unregister_command(); use per-hook variant
Sage Weil [Thu, 5 Sep 2019 22:24:55 +0000 (17:24 -0500)]
common/admin_socket: drop unregister_command(); use per-hook variant

There's never a need to unregister individual commands; doing it by hook
is sufficient for all users.  Simpler and faster.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: drop explicit prefix arg to register_command
Sage Weil [Thu, 5 Sep 2019 22:19:50 +0000 (17:19 -0500)]
common/admin_socket: drop explicit prefix arg to register_command

This is always the cmddesc prefix.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: simplify command routing
Sage Weil [Thu, 5 Sep 2019 22:11:26 +0000 (17:11 -0500)]
common/admin_socket: simplify command routing

Back in e30e937c8962249af283a7571eb106ef444b79e3 we made it possible to
route a command via any prefix. This worked when we wanted to pass
arguments but were just dealing with a vector<string>.  These days we have
an actual prefix followed by named arguments, so we don't need this
ad hoc routing.

Derive the prefix from the cmddesc at registration time, and match that
explicitly against the prefix at execution time.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: add ability to process MCommand via asok queue
Sage Weil [Thu, 5 Sep 2019 19:24:30 +0000 (14:24 -0500)]
common/admin_socket: add ability to process MCommand via asok queue

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: pass cmdvec to execute_command
Sage Weil [Thu, 5 Sep 2019 19:24:02 +0000 (14:24 -0500)]
common/admin_socket: pass cmdvec to execute_command

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: use pipe for general wakeup
Sage Weil [Thu, 5 Sep 2019 19:23:27 +0000 (14:23 -0500)]
common/admin_socket: use pipe for general wakeup

Use the pipe to wake up the thread.  Use a separate bool to signal a
shutdown.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoinclude/compat: add flags arg to pipe_cloexec
Sage Weil [Thu, 5 Sep 2019 19:18:15 +0000 (14:18 -0500)]
include/compat: add flags arg to pipe_cloexec

This matches pipe(2).

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/admin_socket: drop unused args
Sage Weil [Thu, 5 Sep 2019 17:57:40 +0000 (12:57 -0500)]
common/admin_socket: drop unused args

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #28569 from alimaredia/wip-rgw-ioctx-operate-replace
Ali Maredia [Tue, 1 Oct 2019 20:48:11 +0000 (16:48 -0400)]
Merge pull request #28569 from alimaredia/wip-rgw-ioctx-operate-replace

rgw: replace direct calls to ioctx.operate()

5 years agoMerge pull request #30655 from tchaikov/wip-cmake/crimson/pass-args
Kefu Chai [Tue, 1 Oct 2019 14:28:58 +0000 (22:28 +0800)]
Merge pull request #30655 from tchaikov/wip-cmake/crimson/pass-args

cmake: pass arguments to crimson tests

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agoMerge pull request #30613 from joke-lee/rgw-ceph-dencoder-add-RGWPeriodLatestEpochInfo
Casey Bodley [Tue, 1 Oct 2019 13:59:30 +0000 (09:59 -0400)]
Merge pull request #30613 from joke-lee/rgw-ceph-dencoder-add-RGWPeriodLatestEpochInfo

ceph-dencoder: add RGWPeriodLatestEpochInfo support.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agocmake: pass arguments to crimson tests 30655/head
Kefu Chai [Tue, 1 Oct 2019 09:29:16 +0000 (17:29 +0800)]
cmake: pass arguments to crimson tests

otherwise they will take all CPU cores and all memory

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #30587 from sebastian-philipp/python-common-readme
Sebastian Wagner [Tue, 1 Oct 2019 10:05:00 +0000 (12:05 +0200)]
Merge pull request #30587 from sebastian-philipp/python-common-readme

python-common: Add small Readme

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agoMerge PR #30341 into master
Patrick Donnelly [Tue, 1 Oct 2019 08:21:16 +0000 (01:21 -0700)]
Merge PR #30341 into master

* refs/pull/30341/head:
cephfs-shell: better complain info, when deleting non-empty directory

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Varsha Rao <varao@redhat.com>
5 years agoMerge PR #30559 into master
Patrick Donnelly [Tue, 1 Oct 2019 08:17:53 +0000 (01:17 -0700)]
Merge PR #30559 into master

* refs/pull/30559/head:
mds: Reorganize class members in MDBalancer header

Reviewed-by: Jos Collin <jcollin@redhat.com>
5 years agoMerge PR #30580 into master
Patrick Donnelly [Tue, 1 Oct 2019 08:15:54 +0000 (01:15 -0700)]
Merge PR #30580 into master

* refs/pull/30580/head:
client: don't ceph_abort on bad llseek whence value
client: remove Inode dir_contacts field

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #30407 from joscollin/wip-B41841-yes-really-mean-it
Ramana Raja [Tue, 1 Oct 2019 07:35:33 +0000 (13:05 +0530)]
Merge pull request #30407 from joscollin/wip-B41841-yes-really-mean-it

mgr/volumes: protection for `fs volume rm` command

5 years agoMerge PR #30552 into master
Patrick Donnelly [Tue, 1 Oct 2019 03:46:14 +0000 (20:46 -0700)]
Merge PR #30552 into master

* refs/pull/30552/head:
cmake: fix libtsan detection
test: librados startup/shutdown racer test

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agoMerge pull request #30630 from tchaikov/wip-build-on-centos8
Kefu Chai [Tue, 1 Oct 2019 02:57:16 +0000 (10:57 +0800)]
Merge pull request #30630 from tchaikov/wip-build-on-centos8

install-deps,rpm,do_cmake: build on RHEL/CentOS 8

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
5 years agoMerge pull request #30531 from alimaredia/wip-rgw-maven-version-update
Kefu Chai [Tue, 1 Oct 2019 02:45:23 +0000 (10:45 +0800)]
Merge pull request #30531 from alimaredia/wip-rgw-maven-version-update

qa: bump maven repo version in s3a_hadoop.py

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #30615 from xiexingguo/wip-progress-time-remaining
Xie Xingguo [Tue, 1 Oct 2019 01:07:29 +0000 (09:07 +0800)]
Merge pull request #30615 from xiexingguo/wip-progress-time-remaining

mgr/progress: estimated remaining time for events

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #30591 from xiexingguo/wip-balancer-throttler
Xie Xingguo [Mon, 30 Sep 2019 23:42:25 +0000 (07:42 +0800)]
Merge pull request #30591 from xiexingguo/wip-balancer-throttler

mgr/balancer: upmap_max_iterations -> upmap_max_optimizations; behave as it is per pool

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #29674 from athanatos/sjust/wip-fio-trace
Samuel Just [Mon, 30 Sep 2019 21:15:31 +0000 (14:15 -0700)]
Merge pull request #29674 from athanatos/sjust/wip-fio-trace

os/bluestore: expand lttng tracepoints, improve fio_ceph_objectstore backend

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agocls: CLS_CLIET_HIDE_IOCTX changes in cls headers 28569/head
Ali Maredia [Fri, 30 Aug 2019 21:13:47 +0000 (17:13 -0400)]
cls: CLS_CLIET_HIDE_IOCTX changes in cls headers

Signed-off-by: Ali Maredia <amaredia@redhat.com>
5 years agorgw: various ioctx.operate refactoring changes
Ali Maredia [Thu, 29 Aug 2019 19:27:43 +0000 (15:27 -0400)]
rgw: various ioctx.operate refactoring changes

- remove unused #include for cls_client headers
- refactor cls_timeindex_trim call in
rgw_object_expirer_core.cc
- add more CLS_CLIENT_HIDE_IOCTX in header files
- move target_compile_definitions to rgw_a target
- make repeat cls helper functions static

Signed-off-by: Ali Maredia <amaredia@redhat.com>
5 years agorgw: overload cls_rgw functions that do io_ctx.operate()
Ali Maredia [Wed, 12 Jun 2019 22:36:27 +0000 (18:36 -0400)]
rgw: overload cls_rgw functions that do io_ctx.operate()

Call the new overloaded functions and call
rgw_rados_operate after them.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
5 years agocls: remove unused cls_rgw_reshard_get_head()
Ali Maredia [Wed, 12 Jun 2019 15:40:26 +0000 (11:40 -0400)]
cls: remove unused cls_rgw_reshard_get_head()

Signed-off-by: Ali Maredia <amaredia@redhat.com>
5 years agorgw: replace ioctx.operate() with rgw_rados_operate()
Ali Maredia [Fri, 7 Jun 2019 12:54:23 +0000 (08:54 -0400)]
rgw: replace ioctx.operate() with rgw_rados_operate()

For all operate calls in:
rgw_op.cc
rgw_orphan.cc
rgw_reshard.cc
rgw_rados.cc

Signed-off-by: Ali Maredia <amaredia@redhat.com>
5 years agocmake: fix libtsan detection 30552/head
Jeff Layton [Mon, 30 Sep 2019 17:54:13 +0000 (13:54 -0400)]
cmake: fix libtsan detection

This variable is case-sensitive.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
5 years agoMerge pull request #30620 from votdev/issue_42069_validate_bucket_name
Lenz Grimmer [Mon, 30 Sep 2019 13:51:44 +0000 (13:51 +0000)]
Merge pull request #30620 from votdev/issue_42069_validate_bucket_name

mgr/dashboard: Bucket names cannot be formatted as IP address

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Kai Wagner <kwagner@suse.com>
5 years agoMerge pull request #30647 from s0nea/wip-dashboard-fix-typo
Lenz Grimmer [Mon, 30 Sep 2019 13:44:40 +0000 (13:44 +0000)]
Merge pull request #30647 from s0nea/wip-dashboard-fix-typo

mgr/dashboard: fix small typos in description message

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #29925 from sebastian-philipp/run_tox-overwrite-build-dir
Kefu Chai [Mon, 30 Sep 2019 13:18:43 +0000 (21:18 +0800)]
Merge pull request #29925 from sebastian-philipp/run_tox-overwrite-build-dir

script/run_tox.sh: Don't overwrite the build dir

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agomgr/dashboard: fix two small typos 30647/head
Tatjana Dehler [Mon, 30 Sep 2019 11:59:48 +0000 (13:59 +0200)]
mgr/dashboard: fix two small typos

Remove unnecessary blanks.

Signed-off-by: Tatjana Dehler <tdehler@suse.com>
5 years agoscript/run_tox.sh: Don't overwrite the Ceph's bulid dir 29925/head
Sebastian Wagner [Tue, 27 Aug 2019 08:36:43 +0000 (10:36 +0200)]
script/run_tox.sh: Don't overwrite the Ceph's bulid dir

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #30639 from tchaikov/wip-crimson-readable
Kefu Chai [Mon, 30 Sep 2019 09:51:04 +0000 (17:51 +0800)]
Merge pull request #30639 from tchaikov/wip-crimson-readable

crimson/osd: implement readable/lease related methods

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #30644 from majianpeng/osd-remove-unused-func
Xie Xingguo [Mon, 30 Sep 2019 09:01:44 +0000 (17:01 +0800)]
Merge pull request #30644 from majianpeng/osd-remove-unused-func

osd: remove unused function

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoMerge pull request #30632 from xiexingguo/wip-kick-recovery-pri
Xie Xingguo [Mon, 30 Sep 2019 08:59:55 +0000 (16:59 +0800)]
Merge pull request #30632 from xiexingguo/wip-kick-recovery-pri

osd/PrimaryLogPG: always use strict priority ordering for kicked recovery ops

Reviewed-by: Yan Jun <yan.jun8@zte.com.cn>
Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #30642 from Rjerk/wip-fix-doc
Kefu Chai [Mon, 30 Sep 2019 08:53:51 +0000 (16:53 +0800)]
Merge pull request #30642 from Rjerk/wip-fix-doc

doc/radosgw: fix typos

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoosd/PrimaryLogPG: add closing ")" in log 30639/head
Kefu Chai [Sun, 29 Sep 2019 17:19:43 +0000 (01:19 +0800)]
osd/PrimaryLogPG: add closing ")" in log

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocrimson/osd/pg: implement schedule_renew_lease()
Kefu Chai [Sun, 29 Sep 2019 17:19:07 +0000 (01:19 +0800)]
crimson/osd/pg: implement schedule_renew_lease()

see also d883db70282c406edaceb72a90ecddccd97a0161

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocrimson/osd: implement ShardServices::get_hb_stamps()
Kefu Chai [Mon, 30 Sep 2019 08:20:37 +0000 (16:20 +0800)]
crimson/osd: implement ShardServices::get_hb_stamps()

PeeringState::proc_lease() requires a valid hb_stamps[0], which is in
turned maintained by `pl`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocrimson/osd/pg: implement queue_check_readable() and recheck_readable()
Kefu Chai [Sun, 29 Sep 2019 17:11:42 +0000 (01:11 +0800)]
crimson/osd/pg: implement queue_check_readable() and recheck_readable()

see also 7aec060e0aff4588ff51f744dd194d1c0f7793c2

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocommon/ceph_time: do not handle negative case
Kefu Chai [Sun, 29 Sep 2019 17:08:52 +0000 (01:08 +0800)]
common/ceph_time: do not handle negative case

this change partially reverts 353a0e5f, unlike `signedspan`,
`timespan::rep` is unsigned. so no need to handle negative case.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agomgr/dashboard: Bucket names cannot be formatted as IP address 30620/head
Volker Theile [Fri, 27 Sep 2019 11:04:48 +0000 (13:04 +0200)]
mgr/dashboard: Bucket names cannot be formatted as IP address

In general, bucket names should follow domain name constraints:
- Bucket names must be unique.
- Bucket names cannot be formatted as IP address.
- Bucket names can be between 3 and 63 characters long.
- Bucket names must not contain uppercase characters or underscores.
- Bucket names must start with a lowercase letter or number.
- Bucket names must be a series of one or more labels. Adjacent labels are separated by a single period (.). Bucket names can contain lowercase letters, numbers, and hyphens. Each label must start and end with a lowercase letter or a number.

Fixes: https://tracker.ceph.com/issues/42069
Signed-off-by: Volker Theile <vtheile@suse.com>
5 years agoosd: remove unused function 30644/head
Jianpeng Ma [Mon, 30 Sep 2019 05:38:27 +0000 (13:38 +0800)]
osd: remove unused function

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
5 years agoMerge PR #30396 into master
Patrick Donnelly [Mon, 30 Sep 2019 04:05:02 +0000 (21:05 -0700)]
Merge PR #30396 into master

* refs/pull/30396/head:
doc: document mds journaling

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #30463 into master
Patrick Donnelly [Mon, 30 Sep 2019 04:02:56 +0000 (21:02 -0700)]
Merge PR #30463 into master

* refs/pull/30463/head:
vstart_runner: allow the use of it with kernel mounts

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agodoc/radosgw: fix typo 30642/head
Liu Lan [Mon, 30 Sep 2019 03:16:40 +0000 (11:16 +0800)]
doc/radosgw: fix typo

Signed-off-by: Liu Lan <liulan@umcloud.com>
5 years agomgr/progress: estimated remaining time for events 30615/head
xie xingguo [Fri, 27 Sep 2019 08:04:05 +0000 (16:04 +0800)]
mgr/progress: estimated remaining time for events

Fixes: https://tracker.ceph.com/issues/40419
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoMerge pull request #30638 from uweigand/cmake-atomic-16byte
Kefu Chai [Sun, 29 Sep 2019 17:26:09 +0000 (01:26 +0800)]
Merge pull request #30638 from uweigand/cmake-atomic-16byte

cmake: Test for 16-byte atomic support on IBM Z

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agocmake: Test for 16-byte atomic support on IBM Z 30638/head
Ulrich Weigand [Sun, 29 Sep 2019 14:22:52 +0000 (16:22 +0200)]
cmake: Test for 16-byte atomic support on IBM Z

On IBM Z the Boost tagged pointer implementation cannot use
"pointer compression" as there are no unused bits in an address;
the whole 64-bit address space is available to user space code.

Instead, Boost uses 16-byte atomics.  This is always supported
on IBM Z, but depending on the particular compiler (version)
it may require linking against libatomic.  The existing checks
in CheckCxxAtomic.cmake do not catch this, however, as they only
test for (up to) 8-byte atomic support.

Fixed by adding a test for 16-byte atomic support on IBM Z.

Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
5 years agoMerge pull request #30617 from xiexingguo/wip-weird-daemon-key
Kefu Chai [Sun, 29 Sep 2019 10:11:40 +0000 (18:11 +0800)]
Merge pull request #30617 from xiexingguo/wip-weird-daemon-key

mgr: fix weird health-alert daemon key

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agomgr: fix weird health-alert daemon key 30617/head
xie xingguo [Sun, 29 Sep 2019 06:15:07 +0000 (14:15 +0800)]
mgr: fix weird health-alert daemon key

Was:
  19 slow ops, oldest one blocked for 34 sec, daemons [osd,2,osd,4] have slow ops.

Now:
  153 slow ops, oldest one blocked for 38 sec, daemons [osd.3,osd.4,osd.5] have slow ops.

Fixes: https://tracker.ceph.com/issues/42079
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoMerge pull request #29236 from liewegas/wip-read-hole-bypg
Kefu Chai [Sun, 29 Sep 2019 06:39:32 +0000 (14:39 +0800)]
Merge pull request #29236 from liewegas/wip-read-hole-bypg

osd: implement per-pg leases to avoid stale reads

Reviewed-by: Samuel Just <sjust@redhat.com>
5 years agoosd/PrimaryLogPG: always use strict priority ordering for kicked recovery ops 30632/head
xie xingguo [Sun, 29 Sep 2019 05:50:37 +0000 (13:50 +0800)]
osd/PrimaryLogPG: always use strict priority ordering for kicked recovery ops

See 590c4979d40ea2073da8180140303ac067d87cc4 for the background of
this change.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoMerge pull request #30527 from uweigand/bloom-filter-endian
Kefu Chai [Sun, 29 Sep 2019 06:04:19 +0000 (14:04 +0800)]
Merge pull request #30527 from uweigand/bloom-filter-endian

common/bloom_filter: Fix endian issues

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #30616 from ifed01/wip-ifed-fix-fsck
Kefu Chai [Sun, 29 Sep 2019 05:41:11 +0000 (13:41 +0800)]
Merge pull request #30616 from ifed01/wip-ifed-fix-fsck

os/bluestore: fix invalid stray shared blob detection in fsck.

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoMerge pull request #30625 from tchaikov/wip-42087
Kefu Chai [Sun, 29 Sep 2019 05:38:27 +0000 (13:38 +0800)]
Merge pull request #30625 from tchaikov/wip-42087

mgr/BaseMgrStandbyModule: drop GIL in ceph_get_module_option()

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoRevert "osd: give recovery ops initialized by client op a higher priority"
xie xingguo [Sun, 29 Sep 2019 01:57:22 +0000 (09:57 +0800)]
Revert "osd: give recovery ops initialized by client op a higher priority"

This reverts commit c0f87e0f91539d4d12dad5bddf95a97457a21c67.

The 'osd_op_queue_cut_off' config option determines which level of
high priority ops should use strict priority ordering and may change
from time to time. Since the main strategy of 'osd_kick_recovery_op_priority'
is to simply follow up 'osd_op_queue_cut_off', we can instead make a direct
use of 'osd_op_queue_cut_off' to achieve the same thing explicitly.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoceph-dencoder: add RGWPeriodLatestEpochInfo support. 30613/head
yuliyang [Fri, 27 Sep 2019 07:39:15 +0000 (15:39 +0800)]
ceph-dencoder: add RGWPeriodLatestEpochInfo support.

Signed-off-by: yuliyang <yuliyang@cmss.chinamobile.com>