Jason Dillaman [Mon, 26 Oct 2020 12:11:12 +0000 (08:11 -0400)]
librbd/migration: native format should not issue a new read request
Tweak the format interface's 'read' call to just let the existing
read request continue passed the migration layer if the native
format is in use. Otherwise, the provided AioCompletion would need to
be wrapped with another AioCompletion to prevent the original
image dispatch spec from getting lost.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 19 Oct 2020 22:28:21 +0000 (18:28 -0400)]
librbd: migration file stream source
The file stream helper will translate byte-extent IO read requests
to ASIO file read requests on the specified backing file. This can be
layered with file format helpers to translate image IO extents down
to the backing file.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Tue, 20 Oct 2020 06:55:36 +0000 (02:55 -0400)]
librbd: migration should attempt to open destination image first
With the exception of the 'prepare' command, always attempt to open
the destination image first. This will better align with the
ability for read-only, non-native images to be used as a source
image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Patrick Donnelly [Sun, 25 Oct 2020 23:26:36 +0000 (16:26 -0700)]
Merge PR #37629 into master
* refs/pull/37629/head:
qa/cephfs: add session_timeout option support
qa/cephfs: move the cephfs's opertions setting to create()
qa/cephfs: add 'cephfs:' section support
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Sun, 25 Oct 2020 23:25:24 +0000 (16:25 -0700)]
Merge PR #37652 into master
* refs/pull/37652/head:
qa/tasks: tear down the background process before unmounting
qa/tasks: switch to _kill_background() helper to terminate the daemons
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
Jason Dillaman [Fri, 16 Oct 2020 01:07:07 +0000 (21:07 -0400)]
librbd: new helper API method to retrieving the migration source spec
When using advanced, non-legacy migration sources like a remote Ceph
cluster or a flat file, this API will return the JSON-encoded description
of the migration source.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Fri, 16 Oct 2020 00:31:02 +0000 (20:31 -0400)]
librbd: helper method for constructing source-spec for legacy migration
The legacy migration source format has explicit pool, namespace, and image
parameters. This helper method will convert it into the JSON format that
will be used for the new-style migration source-spec.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
cephfs: Fix variable declartion in capture list in lambda
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:529:33: error: 'mirror_action' in capture list does not name a variable
m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
^
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:529:57: error: reference to local binding 'mirror_action' declared in enclosing function 'cephfs::mirror::Mirror::run'
m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
^
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:526:27: note: 'mirror_action' declared here
for (auto &[filesystem, mirror_action] : m_mirror_actions) {
^
/home/jenkins/workspace/ceph-master-compile/src/tools/cephfs_mirror/Mirror.cc:529:26: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
m_cond.wait(locker, [this, &mirror_action] {return !mirror_action.action_in_progress;});
^~~~
1 warning and 2 errors generated.
Tracker: https://tracker.ceph.com/issues/47973 Fixes: https://github.com/ceph/ceph/pull/37313 Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
Xiubo Li [Tue, 20 Oct 2020 05:26:33 +0000 (01:26 -0400)]
qa/cephfs: add session_timeout option support
When the mds revoking the Fwbl caps, the clients need to flush
the dirty data back to the OSDs, but the flush may make the OSDs
to be overloaded and slow, which may take more than 60 seconds to
finish. Then the MDS daemons will report the WRN messages.
For the teuthology test cases, let's just increase the timeout
value to make it work.
Fixes: https://tracker.ceph.com/issues/47565 Signed-off-by: Xiubo Li <xiubli@redhat.com>
haoyixing [Sun, 18 Oct 2020 01:23:48 +0000 (09:23 +0800)]
msg: move DispatchStrategy into test/
Since commit cc9a914, xio related code were all removed, which made
direct_messenger become the only user of DispatchStraegy. So move
these code there.
Patrick Donnelly [Fri, 23 Oct 2020 00:17:37 +0000 (17:17 -0700)]
Merge PR #36204 into master
* refs/pull/36204/head:
client: add command_lock support
client: defer swapping the newmap to mdsmap
client: try to grab the client_lock when needed
client: clean up the client code
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Samuel Just [Thu, 22 Oct 2020 23:07:06 +0000 (16:07 -0700)]
test/crimson/seastore/test_btree_lba_manager: test mutate_mapping on more split/merge states
incref_mapping has a slightly different relationship with merge than
decref_mapping, update split/merge test to ensure that we call into
mutate_mapping at each step as the nodes fill, split, empty, and merge.
Patrick Donnelly [Thu, 22 Oct 2020 19:52:01 +0000 (12:52 -0700)]
Merge PR #36544 into master
* refs/pull/36544/head:
vstart_runner: omit result line only when testcases are run one by one
vstart_runner: don't quit running testsuite on a test failure
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Jason Dillaman [Thu, 15 Oct 2020 14:21:22 +0000 (10:21 -0400)]
librbd: refresh parent now utilizes migration open source request
The migration open source image state machine will handle how to
initialize the source ImageCtx depending on the format and
protocol utilized for the source image.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Wed, 14 Oct 2020 20:03:47 +0000 (16:03 -0400)]
librbd: new migration IO image dispatch layer
The initial hooks merely abstract the standard RBD parent/child
clone relationship. The basic interface, however, is abstract
enough to allow third party data formats and streams to be eventually
integrated with RBD live-migration.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Nizamudeen A [Thu, 22 Oct 2020 13:28:19 +0000 (18:58 +0530)]
mgr/dashboard: Adding more style to the notification sidebar
This commit improves the notification sidebar styling by adding a border on the left side and the color of the border aligns with the type of the warning (succes, info or danger).
Fixes: https://tracker.ceph.com/issues/47950 Signed-off-by: Nizamudeen A <nia@redhat.com>
Nizamudeen A [Wed, 16 Sep 2020 13:54:31 +0000 (19:24 +0530)]
mgr/dashboard: Created a Download and Copy-to-Clipboard option for the logs
Created Download Button Component.
Added a Download and Copy-to-Clipboard button for the Cluster and Audit Logs in the Log section. Also added a flag in the current Copy2ClipboardButton directive to indicate the incoming string is actually a log.
Fixes: https://tracker.ceph.com/issues/47498 Signed-off-by: Nizamudeen A <nia@redhat.com>
jinmyeonglee [Thu, 22 Oct 2020 08:25:51 +0000 (17:25 +0900)]
vstart.sh: fix fs set max_mds bug
Fix a bug where the name used when creating a volume and the name used when setting max_mds were different. Fixes: https://tracker.ceph.com/issues/47946 Signed-off-by: Jinmyeong Lee <jinmyeong.lee@linecorp.com>
Jos Collin [Thu, 15 Oct 2020 11:30:50 +0000 (17:00 +0530)]
mds: detect mds-mds messages not of type MMDSOp
* Detect mds-mds messages not of type MMDSOp.
* Return true from MetricAggregator::ms_dispatch2 only when the peer is an MDS and the metrics is handled.
Fixes: https://tracker.ceph.com/issues/46426 Signed-off-by: Jos Collin <jcollin@redhat.com>
Kefu Chai [Thu, 22 Oct 2020 04:40:37 +0000 (12:40 +0800)]
crimson/osd: add more privacy
* reorder the member variable and member function definitions so the
private members are listed at the end of class. as requested by
the CodingStyle
* mark some member variables and member functions private, as long as
they are not used by other classes or non-friend classes.
* document UrgentRecovery
* refactor BackgroundRecovery::get_scheduler_params() to dedup
the comments