Patrick Donnelly [Tue, 14 May 2019 20:07:49 +0000 (13:07 -0700)]
Merge PR #27594 into master
* refs/pull/27594/head:
mgr/volumes: allow creation/deletion of FS subvolume group snapshots
mgr/volumes: allow creation/deletion of FS subvolume groups
mgr/volumes: allow creation/deletion of snapshots of FS subvolumes
mgr/volumes: allow fetching path of FS subvolumes
mgr/volumes: use the fs_subvolume module
mgr/volumes: add fs_subvolume module
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Ramana Raja [Mon, 29 Apr 2019 12:31:49 +0000 (18:01 +0530)]
mgr/volumes: allow creation/deletion of FS subvolume groups
... using `ceph fs subvolumegroup create/rm` commands.
FS subvolume groups are parent directories of FS subvolumes. They
can be directly mapped to OpenStack Manila share groups.
Ramana Raja [Sat, 13 Apr 2019 16:06:05 +0000 (21:36 +0530)]
mgr/volumes: add fs_subvolume module
fs_subvolume module provisions and manages CephFS subvolumes, which are
CephFS subdirectories with a desired layout and quota. Its code is
heavily borrowed from, src/pybind/ceph_volume_client.py
Fixes: http://tracker.ceph.com/issues/39610 Signed-off-by: Ramana Raja <rraja@redhat.com>
Sage Weil [Fri, 10 May 2019 21:22:40 +0000 (16:22 -0500)]
Merge PR #27928 into master
* refs/pull/27928/head:
mon/OSDMonitor: require nautilus to set pg_autoscale_mode
mon/OSDMonitor: allow pg_num to increase when require_osd_release < N
Sage Weil [Thu, 2 May 2019 16:18:17 +0000 (11:18 -0500)]
mon/OSDMonitor: allow pg_num to increase when require_osd_release < N
Setting pg_num_target has no effect when we encode our OSDMap with mimic
or luminous features. Fall back to the pre-nautilus behavior of directly
setting pg_num.
Fixes: http://tracker.ceph.com/issues/39570 Signed-off-by: Sage Weil <sage@redhat.com>
David Zafman [Thu, 2 May 2019 02:47:55 +0000 (19:47 -0700)]
osd: Include dups in copy_after() and copy_up_to()
Client saw out of order results in a test with a very small
pg_log because a backfill/recovery sent a small number of
log entries for duplicate checks.
Since these copy operations are equivalent to both a copy
and trim (an argument controls how many log entries
transfer), we need to include any new dups with enough
existing dups up to the configured maximum.
Fixes: http://tracker.ceph.com/issues/39304 Signed-off-by: David Zafman <dzafman@redhat.com>
Samuel Just [Fri, 3 May 2019 18:48:06 +0000 (11:48 -0700)]
src/osd: Clean up PeeringCtx ownership semantics and pointer/ref usage
PeeringCtx was a bit of a mess in terms of tracking down where the
resources were cleaned up. This patch:
- Reworks PeeringCtx to directly own its maps/transaction
- Introduces PeeringCtxWrapper to deal with the message buffering
internally
- Cleans up users to avoid passing pointers through the PeeringState
interface unnecessarily.
This'll allow the PeeringCtx destructor to do its job vastly
simplifying usage in crimson.
Samuel Just [Mon, 29 Apr 2019 17:09:39 +0000 (10:09 -0700)]
src/osd: refactor to use ostream_temp
The concept of emitting log lines to a central mon log is likely
to be useful for both crimson and classic, but the mechanism is
likely to be different. Break out OstreamTemp for use in interface.
rgw: beast: bind both v4 and v6 ports when using a port argument
This commit adds binding to both v4 and v6 port when specifying a port argument,
endpoint *only* binds to v4 or v6 depending on the address specified. Failure to
bind when the protocol is not supported is not treated as an error and we warn
and continue then.
Jason Dillaman [Thu, 9 May 2019 18:50:12 +0000 (14:50 -0400)]
msg/async: reduce verbosity of connection timeout failures
Long running clients connected to thrashing OSDs could result in a
"see no progress in more than <timeout>" message printed to stderr.
This is not an error but can result in test failures when console
output is compared against expected output.
Fixes: http://tracker.ceph.com/issues/39448 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Igor Fedotov [Thu, 9 May 2019 16:23:30 +0000 (19:23 +0300)]
os/bluestore: protect BlueFS::FileReader::buf
Now this buffer might be accessed from BlueRocksRandomAccessFile
which is intended for multi-threading access. Hence we need a
proper protection for the buffer.
rgw: allow radosgw-admin to list bucket w --allow-unordered
Presently the `radosgw-admin bucket list --bucket=<bucket>` lists the
objects in lexical order. This can be an expensive operation since
objects are not stored in bucket index shards in order and a selection
sort process is done across all bucket index shards.
By allowing the user to add the "--allow-unordered" command-line flag,
a more efficient bucket listing is enabled. This is particularly
important for buckets with a large number of objects.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Sebastian Krah [Wed, 8 May 2019 10:03:50 +0000 (12:03 +0200)]
mgr/dashboard: Remove messages.xlf
Removes the messages.xlf file from the git repository, due to a lot of merge conflicts.
It won't cause any problems, because the file is not important for building or the translation during runtime.
Fixes: https://tracker.ceph.com/issues/38003 Signed-off-by: Sebastian Krah <skrah@suse.com>
Kefu Chai [Thu, 9 May 2019 09:51:33 +0000 (17:51 +0800)]
crimson/mon: fix the v1 auth
* initialize mon::Connection::global_id to `0` in the ctor.
global_id is assigned by monitor, a zero global_id implies
that "allocate me a new global_id please". so we should
never use a random number on stack for the global_id.
* do not use a magic number for initializing MAuth::protocol,
use `CEPH_AUTH_UNKNOWN` instead.
* do not try to dereference `auth` before creating it. `auth`
is created by `create_auth()`. in which, the global_id
is always assigned to `auth->global_id`, as it's a new session.
so we should just call `create_auth()`.
* restructure the code to finish the authentication. to remove
the find_if(), and use the `parallel_for_each()` loop for
both set the active_con and closing the other pending connections.
* ask for the rotating keyring once gets authenticated.
Zhi Zhang [Thu, 9 May 2019 09:07:24 +0000 (17:07 +0800)]
mds: output lock state in format dump
dump cache in plain text will print lock state. But in json format dump,
it won't. It is not convenient to debug some MDS lock issues without
such information.