]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoclient: fix inode ll_ref reference count leak 37735/head
sepia-liu [Tue, 20 Oct 2020 09:24:57 +0000 (09:24 +0000)]
client: fix inode ll_ref reference count leak

Fixes: https://tracker.ceph.com/issues/47918
Signed-off-by: sepia-liu <liuwei_coder@163.com>
4 years agoMerge pull request #37760 from athanatos/sjust/wip-fix-lba-leaf
Kefu Chai [Fri, 23 Oct 2020 00:33:48 +0000 (08:33 +0800)]
Merge pull request #37760 from athanatos/sjust/wip-fix-lba-leaf

crimson/seastore: remove invalid mutate_mapping assert

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #36204 into master
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>
4 years agocrimson/os/seastore/.../lba_btree_node_impl: remove invalid mutate_mapping assert 37760/head
Samuel Just [Thu, 22 Oct 2020 23:08:07 +0000 (16:08 -0700)]
crimson/os/seastore/.../lba_btree_node_impl: remove invalid mutate_mapping assert

A leaf node can have fewer than min_capacity items when it is the root.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/seastore/test_btree_lba_manager: test mutate_mapping on more split/merge...
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.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agoMerge pull request #37715 from anthonyeleven/rados-doc-improvements
zdover23 [Thu, 22 Oct 2020 23:00:51 +0000 (09:00 +1000)]
Merge pull request #37715 from anthonyeleven/rados-doc-improvements

doc/rados: operations.rst: clarity, detail, modernization

Reviewed-by: Zac Dover <zac.dover@gmail.com>
4 years agoMerge PR #37702 into master
Patrick Donnelly [Thu, 22 Oct 2020 19:58:15 +0000 (12:58 -0700)]
Merge PR #37702 into master

* refs/pull/37702/head:
mon/MDSMonitor: do not ignore mds's down:dne request

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #37663 into master
Patrick Donnelly [Thu, 22 Oct 2020 19:57:46 +0000 (12:57 -0700)]
Merge PR #37663 into master

* refs/pull/37663/head:
msg/MFSMap: remove unused variable

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #37313 into master
Patrick Donnelly [Thu, 22 Oct 2020 19:55:54 +0000 (12:55 -0700)]
Merge PR #37313 into master

* refs/pull/37313/head:
cephfs-mirror: restart mirroring on blocklist
cephfs-mirror: public method to fetch peer list
cephfs-mirror: dump rados address in "fs mirror status" asok command
cephfs-mirror: handle blocklist errors during rewatch
cephfs-mirror: periodically drive mirror enable, disable and peer updates
cephfs-mirror: identify a ceph filesystem using (id, name)
cephfs-mirror: introduce Filesystem type
cephfs-mirror: record failed FSMirror instances
cephfs-mirror: protect FSMirror::is_stopping() under lock
cephfs-mirror: unregister asok commands outside lock
cephfs-mirror: spawn peer replayers on peer changes
cephfs-mirror: s/blacklist/blocklist/i
cephfs-mirror: s/dir_name/dir_path/

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #36004 into master
Patrick Donnelly [Thu, 22 Oct 2020 19:53:44 +0000 (12:53 -0700)]
Merge PR #36004 into master

* refs/pull/36004/head:
mds: detect mds-mds messages not of type MMDSOp
messages: inherit MMDSPing and MMDSMetrics from MMDSOp

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #36544 into master
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>
4 years agoMerge pull request #35355 from ofriedma/wip-ofriedma-beast-timeout
Casey Bodley [Thu, 22 Oct 2020 14:37:05 +0000 (10:37 -0400)]
Merge pull request #35355 from ofriedma/wip-ofriedma-beast-timeout

rgw: Add request timeout to beast

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37666 from pritha-srivastava/wip-rgw-gc-list-loop
Casey Bodley [Thu, 22 Oct 2020 14:14:33 +0000 (10:14 -0400)]
Merge pull request #37666 from pritha-srivastava/wip-rgw-gc-list-loop

rgw/gc: fixing the condition when marker for a queue is

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
4 years agoMerge pull request #37409 from pritha-srivastava/wip-rgw-gc-perf-counter
Casey Bodley [Thu, 22 Oct 2020 14:13:18 +0000 (10:13 -0400)]
Merge pull request #37409 from pritha-srivastava/wip-rgw-gc-perf-counter

rgw/gc: fix for incrementing the perf counter 'gc_retire_object'

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
4 years agoMerge PR #37752 into master
Patrick Donnelly [Thu, 22 Oct 2020 13:55:02 +0000 (06:55 -0700)]
Merge PR #37752 into master

* refs/pull/37752/head:
vstart.sh: fix fs set max_mds bug

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #36199 from ofriedma/wip-ofriedma-lc-fixes-tags-and
Matt Benjamin [Thu, 22 Oct 2020 12:16:25 +0000 (08:16 -0400)]
Merge pull request #36199 from ofriedma/wip-ofriedma-lc-fixes-tags-and

rgw: fix expiration header returned even if there is only one tag in …

4 years agoMerge pull request #37745 from tchaikov/wip-crimson-recovery-cleanup
Kefu Chai [Thu, 22 Oct 2020 11:02:36 +0000 (19:02 +0800)]
Merge pull request #37745 from tchaikov/wip-crimson-recovery-cleanup

crimson/osd: add more privacy

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agovstart.sh: fix fs set max_mds bug 37752/head
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>
4 years agoMerge pull request #37557 from wjwithagen/wjw-fix-warnings-clang-iterators
Kefu Chai [Thu, 22 Oct 2020 05:45:56 +0000 (13:45 +0800)]
Merge pull request #37557 from wjwithagen/wjw-fix-warnings-clang-iterators

mds,osd: fix clang warnings to prevent unneeded copies

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agomds: detect mds-mds messages not of type MMDSOp 36004/head
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>
4 years agomessages: inherit MMDSPing and MMDSMetrics from MMDSOp
Jos Collin [Fri, 10 Jul 2020 07:38:43 +0000 (13:08 +0530)]
messages: inherit MMDSPing and MMDSMetrics from MMDSOp

The inter-MDS messages MMDSPing and MMDSMetrics should inherit from
MMDSOp before the MDS dispatch the message.

Fixes: https://tracker.ceph.com/issues/46426
Signed-off-by: Jos Collin <jcollin@redhat.com>
4 years agoMerge pull request #37709 from tchaikov/wip-common-pick-address
Kefu Chai [Thu, 22 Oct 2020 04:58:40 +0000 (12:58 +0800)]
Merge pull request #37709 from tchaikov/wip-common-pick-address

common/pick_address: fail if cannot bind with specified network family

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agocrimson/osd: add more privacy 37745/head
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

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #37739 from ivancich/wip-rados-ls-flush
J. Eric Ivancich [Wed, 21 Oct 2020 20:39:42 +0000 (16:39 -0400)]
Merge pull request #37739 from ivancich/wip-rados-ls-flush

tools/rados: flush formatter periodically during json output of `rados ls`

Reviewed-by: Adam Emerson <aemerson@redhat.com>
4 years agoMerge PR #37717 into master
Patrick Donnelly [Wed, 21 Oct 2020 20:33:21 +0000 (13:33 -0700)]
Merge PR #37717 into master

* refs/pull/37717/head:
doc/cephfs: add sample cephfs-shell.conf

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37622 from ivancich/wip-rgw-orphan-list-comma
J. Eric Ivancich [Wed, 21 Oct 2020 18:33:38 +0000 (14:33 -0400)]
Merge pull request #37622 from ivancich/wip-rgw-orphan-list-comma

rgw: rgw-orphan-list should use "plain" formatted `rados ls` output

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
4 years agotools/rados: flush formatter periodically during json output of `rados ls` 37739/head
J. Eric Ivancich [Wed, 21 Oct 2020 14:32:30 +0000 (10:32 -0400)]
tools/rados: flush formatter periodically during json output of `rados ls`

While `rados ls` is emitting object info through a json formatter,
flush the formatter after there are at least 4096 bytes are buffered
for output.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agodoc/rados/operations: clarity, detail, modernization 37715/head
Anthony D'Atri [Tue, 20 Oct 2020 07:51:44 +0000 (00:51 -0700)]
doc/rados/operations: clarity, detail, modernization

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
4 years agoMerge pull request #37615 from rhcs-dashboard/remove-last-change-column
Tatjana Dehler [Wed, 21 Oct 2020 16:32:55 +0000 (18:32 +0200)]
Merge pull request #37615 from rhcs-dashboard/remove-last-change-column

mgr/dashboard: Remove the "Last change" column in Pools table

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
4 years agoMerge pull request #37088 from Devp00l/wip-37408
Lenz Grimmer [Wed, 21 Oct 2020 13:06:52 +0000 (15:06 +0200)]
Merge pull request #37088 from Devp00l/wip-37408

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
4 years agoMerge pull request #37416 from tspmelo/wip-rbd-clone
Lenz Grimmer [Wed, 21 Oct 2020 13:06:27 +0000 (15:06 +0200)]
Merge pull request #37416 from tspmelo/wip-rbd-clone

mgr/dashboard: Disable RBD clone action when conditions are not met

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
4 years agoMerge pull request #37396 from SMIL-IT/fix-keycount
Daniel Gryniewicz [Wed, 21 Oct 2020 12:48:03 +0000 (08:48 -0400)]
Merge pull request #37396 from SMIL-IT/fix-keycount

rgw: fix: S3 API KeyCount incorrect return.

4 years agoMerge pull request #37727 from dillaman/wip-librbd-readresult-clip
Mykola Golub [Wed, 21 Oct 2020 08:14:24 +0000 (11:14 +0300)]
Merge pull request #37727 from dillaman/wip-librbd-readresult-clip

librbd: remove io::ReadResult::set_clip_length

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #37726 from dillaman/wip-librbd-remove-image-cache
Mykola Golub [Wed, 21 Oct 2020 08:13:35 +0000 (11:13 +0300)]
Merge pull request #37726 from dillaman/wip-librbd-remove-image-cache

librbd: remove remainder of ImageCache API hooks

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #37614 from smithfarm/wip-revert-suse-podman-requires
Kefu Chai [Wed, 21 Oct 2020 07:23:06 +0000 (15:23 +0800)]
Merge pull request #37614 from smithfarm/wip-revert-suse-podman-requires

Revert "rpm: on SUSE, podman is required for cephadm to work" and "spec: Podman (temporarily) requires apparmor-abstractions on suse"

Reviewed-by: Michael Fritch <mfritch@suse.com>
4 years agodoc/cephfs: add sample cephfs-shell.conf 37717/head
Rishabh Dave [Mon, 28 Sep 2020 05:38:16 +0000 (11:08 +0530)]
doc/cephfs: add sample cephfs-shell.conf

And elaborate the description about it.

Fixes: https://tracker.ceph.com/issues/43028
Signed-off-by: Rishabh Dave <ridave@redhat.com>
4 years agoMerge pull request #37403 from athanatos/sjust/wip-seastore-gc
Kefu Chai [Wed, 21 Oct 2020 03:01:42 +0000 (11:01 +0800)]
Merge pull request #37403 from athanatos/sjust/wip-seastore-gc

crimson/seastore: add online gc to seastore

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #37731 from adk3798/cephadm-logs
Sebastian Wagner [Tue, 20 Oct 2020 22:51:49 +0000 (00:51 +0200)]
Merge pull request #37731 from adk3798/cephadm-logs

doc: document additional journal args in cephadm logs command

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agodoc: document additional journal args in cephadm logs command 37731/head
Adam King [Tue, 20 Oct 2020 20:08:28 +0000 (16:08 -0400)]
doc: document additional journal args in cephadm logs command

Signed-off-by: Adam King <adking@redhat.com>
4 years agotest/crimson/seastore/test_btree_lba_manager: fix get_overlap 37403/head
Samuel Just [Mon, 19 Oct 2020 22:14:43 +0000 (15:14 -0700)]
test/crimson/seastore/test_btree_lba_manager: fix get_overlap

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/seastore/test_btree_lba_manager: add single transaction split/merge...
Samuel Just [Mon, 19 Oct 2020 22:14:28 +0000 (15:14 -0700)]
test/crimson/seastore/test_btree_lba_manager: add single transaction split/merge test

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/.../lba_btree_node_impl: always return absolute or record relativ...
Samuel Just [Mon, 19 Oct 2020 20:14:21 +0000 (13:14 -0700)]
crimson/os/seastore/.../lba_btree_node_impl: always return absolute or record relative addrs

insert and lookup_range should return absolute or record-relative addrs,
never block relative.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/.../lba_btree_node_impl: use node_[un]resolve_vals
Samuel Just [Mon, 19 Oct 2020 20:13:26 +0000 (13:13 -0700)]
crimson/os/seastore/.../lba_btree_node_impl: use node_[un]resolve_vals

Implement node_[un]resolve_vals to transform values to/from block relative
representations when copying out of/in to newly created blocks.  This can
happen when splitting a node which has had entries added during the
same transaction, or itself was created during the transaction.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/common/fixed_kv_node_layout: add support for node dependent values
Samuel Just [Mon, 19 Oct 2020 20:10:32 +0000 (13:10 -0700)]
crimson/common/fixed_kv_node_layout: add support for node dependent values

node_[un]resolve_vals can be used by implementations to transform vals
during split and merge.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/seastore/test_transaction_manager: add test for large single-transaction...
Samuel Just [Mon, 19 Oct 2020 21:11:31 +0000 (14:11 -0700)]
test/crimson/seastore/test_transaction_manager: add test for large single-transaction split/merge

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/lba_manager/btree: fix lookup_range, scan_* references with weak...
Samuel Just [Mon, 19 Oct 2020 21:44:16 +0000 (14:44 -0700)]
crimson/os/seastore/lba_manager/btree: fix lookup_range, scan_* references with weak transactions

Weak transactions won't keep references in memory as we traverse
the tree, update each recursive call to ensure lifecycle of
this.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/seastore: extract common test logic for transaction_maanager initialization
Samuel Just [Wed, 14 Oct 2020 07:13:40 +0000 (00:13 -0700)]
test/crimson/seastore: extract common test logic for transaction_maanager initialization

This should make it somewhat easier to avoid breaking tests that
depend on transaction_manager.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/segment_cleaner: add online gc
Samuel Just [Thu, 17 Sep 2020 23:40:50 +0000 (16:40 -0700)]
crimson/os/seastore/segment_cleaner: add online gc

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agotest/crimson/seastore/test_transaction_manager: close and reopen tm after mkfs
Samuel Just [Thu, 17 Sep 2020 23:11:26 +0000 (16:11 -0700)]
test/crimson/seastore/test_transaction_manager: close and reopen tm after mkfs

We'll just require this generally.  Most of the time, mkfs will be a
standalone operation anyway.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/lba_manager: add get_physical_extent_if_live
Samuel Just [Thu, 17 Sep 2020 22:56:20 +0000 (15:56 -0700)]
crimson/os/seastore/lba_manager: add get_physical_extent_if_live

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: add public, cache aware get_extent_by_type variants
Samuel Just [Thu, 17 Sep 2020 22:49:17 +0000 (15:49 -0700)]
crimson/os/seastore/cache: add public, cache aware get_extent_by_type variants

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agoos/seastore/journal: replay_segment: skip replay on deltas to released segments
Samuel Just [Thu, 17 Sep 2020 22:45:56 +0000 (15:45 -0700)]
os/seastore/journal: replay_segment: skip replay on deltas to released segments

See comment.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: fix get_journal_seq
Samuel Just [Thu, 17 Sep 2020 22:28:06 +0000 (15:28 -0700)]
crimson/os/seastore/journal: fix get_journal_seq

current_journal_segment_seq was misleading -- it's actually the value
for the next one.  Fix naming and update get_journal_seq.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore: add journal_replay check and debugging
Samuel Just [Thu, 17 Sep 2020 22:15:43 +0000 (15:15 -0700)]
crimson/os/seastore: add journal_replay check and debugging

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: add segment_header_t operator<<
Samuel Just [Thu, 17 Sep 2020 22:15:05 +0000 (15:15 -0700)]
crimson/os/seastore/journal: add segment_header_t operator<<

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: add duplicate_for_write debugging
Samuel Just [Thu, 17 Sep 2020 22:14:11 +0000 (15:14 -0700)]
crimson/os/seastore/cache: add duplicate_for_write debugging

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/journal: check offset against segment length in replay
Samuel Just [Tue, 1 Sep 2020 23:08:01 +0000 (16:08 -0700)]
crimson/os/journal: check offset against segment length in replay

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: no need for p2roundup, to_write must already be aligned
Samuel Just [Fri, 28 Aug 2020 09:55:15 +0000 (02:55 -0700)]
crimson/os/seastore/journal: no need for p2roundup, to_write must already be aligned

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: simplify new extent paddr mapping during complete_transaction
Samuel Just [Fri, 28 Aug 2020 09:54:54 +0000 (02:54 -0700)]
crimson/os/seastore/cache: simplify new extent paddr mapping during complete_transaction

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: improve encode_record debugging
Samuel Just [Tue, 1 Sep 2020 23:08:12 +0000 (16:08 -0700)]
crimson/os/seastore/journal: improve encode_record debugging

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: use scan_segment to add extent scan
Samuel Just [Fri, 4 Sep 2020 07:46:40 +0000 (00:46 -0700)]
crimson/os/seastore/journal: use scan_segment to add extent scan

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: generalize replay scan
Samuel Just [Fri, 4 Sep 2020 07:46:19 +0000 (00:46 -0700)]
crimson/os/seastore/journal: generalize replay scan

We'll need to do at least two forms of scan:
- deltas for replay
- extents for gc

Most of the mechanics are common, however, so this patch
hoists the common machinery into scan_segemnt.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: record extents types and laddr in record metadata
Samuel Just [Fri, 4 Sep 2020 04:17:52 +0000 (21:17 -0700)]
crimson/os/seastore/journal: record extents types and laddr in record metadata

We'll need this to scan segments for live blocks.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/journal: use metadata size for block base rather than assuming...
Samuel Just [Fri, 28 Aug 2020 08:53:41 +0000 (01:53 -0700)]
crimson/os/seastore/journal: use metadata size for block base rather than assuming one block

Uncaught because it's rare for the metadata prefix to exceed 4k.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore: add space accounting to segment_cleaner and wire in
Samuel Just [Thu, 27 Aug 2020 07:14:30 +0000 (00:14 -0700)]
crimson/os/seastore: add space accounting to segment_cleaner and wire in

Adds support for space accounting to SegmentCleaner and wires into
Journal, Cache, and tests.

SegmentCleaner has two tracking implementations, SpaceTrackerSimple
and SpaceTrackerDetailed.  SpaceTrackerSimple simply keeps a count
of live bytes and is intended to be the normal implementation.
SpaceTrackerDetailed maintains a bitmap and is simply useful
for debugging unit tests.  It may be removed in the future.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agorgw: rgw-orphan-list should use "plain" formatted `rados ls` output 37622/head
J. Eric Ivancich [Fri, 9 Oct 2020 20:06:55 +0000 (16:06 -0400)]
rgw: rgw-orphan-list should use "plain" formatted `rados ls` output

The previous version that used "json-pretty" output for `rados ls`
added complications due to json's escaping of special characters. So
this version returns to the "plain" output for `rados ls` but deals
with entries (oids) that might have namespaces and/or locators as
well.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agolibrbd: remove io::ReadResult::set_clip_length 37727/head
Jason Dillaman [Tue, 20 Oct 2020 17:10:06 +0000 (13:10 -0400)]
librbd: remove io::ReadResult::set_clip_length

Combined the functionality with the newer 'set_image_extents' call
to simplify the call-site logic for IO reads.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge PR #37707 into master
Patrick Donnelly [Tue, 20 Oct 2020 15:21:22 +0000 (08:21 -0700)]
Merge PR #37707 into master

* refs/pull/37707/head:
doc: document the mds_autoscaler mgr plugin

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agolibrbd: remove remainder of ImageCache API hooks 37726/head
Jason Dillaman [Tue, 20 Oct 2020 15:13:11 +0000 (11:13 -0400)]
librbd: remove remainder of ImageCache API hooks

With the incorporation of the ImageDispatcher, there is no longer a
need for the ImageCache (and related) classes which were added as
a temporary workaround to incorporate the PWL cache.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agoclient: add command_lock support 36204/head
Xiubo Li [Thu, 24 Sep 2020 06:27:34 +0000 (14:27 +0800)]
client: add command_lock support

The Client::command_table member could get rid of the client_lock.
And this could make the client have a higher concurrency.

Fixes: https://tracker.ceph.com/issues/46620
Signed-off-by: Xiubo Li <xiubli@redhat.com>
4 years agoclient: defer swapping the newmap to mdsmap
Xiubo Li [Wed, 15 Jul 2020 02:40:35 +0000 (10:40 +0800)]
client: defer swapping the newmap to mdsmap

This is preparing for adding the command lock support.

For the new mds map we could access it without the client_lock, so
before swaping it to the `mdsmap` member, it will be safe to access.

With this we can defer to hold the client_lock and it will be safe
for the new command_lock to avoid possible dead lock in future or
something else.

Fixes: https://tracker.ceph.com/issues/46620
Signed-off-by: Xiubo Li <xiubli@redhat.com>
4 years agoclient: try to grab the client_lock when needed
Xiubo Li [Thu, 24 Sep 2020 06:15:31 +0000 (14:15 +0800)]
client: try to grab the client_lock when needed

Signed-off-by: Xiubo Li <xiubli@redhat.com>
4 years agoclient: clean up the client code
Xiubo Li [Thu, 24 Sep 2020 05:48:06 +0000 (13:48 +0800)]
client: clean up the client code

Signed-off-by: Xiubo Li <xiubli@redhat.com>
4 years agoMerge pull request #37692 from tchaikov/wip-bump-up-pytest
Kefu Chai [Tue, 20 Oct 2020 12:07:55 +0000 (20:07 +0800)]
Merge pull request #37692 from tchaikov/wip-bump-up-pytest

pybind/mgr/dashboard: s/pytest<4/pytest/

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agopybind/mgr/dashboard: disable too-many-branches lint warning 37692/head
Kefu Chai [Tue, 20 Oct 2020 11:04:40 +0000 (19:04 +0800)]
pybind/mgr/dashboard: disable too-many-branches lint warning

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/dashboard: use setUpClass for initializeing class
Kefu Chai [Fri, 16 Oct 2020 17:10:24 +0000 (01:10 +0800)]
pybind/mgr/dashboard: use setUpClass for initializeing class

instead of relying on __init__(), use setUpClass() to initialize class
for testing. it turns out in pytest > 4, __init__() is called for the
test class but the attributes of the instantiated class is in turn overriden.

so we have to use setUpClass to do this job.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/dashboard: refactor overlong statement
Kefu Chai [Tue, 20 Oct 2020 10:33:29 +0000 (18:33 +0800)]
pybind/mgr/dashboard: refactor overlong statement

to silence lint warning like:

services/tcmu_service.py:64:39: E126 continuation line over-indented for hanging indent':'./services/tcmu_service.py:64:39: E126 continuation line over-indented for hanging indent'}
2: 1     E126 continuation line over-indented for hanging indent

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/dashboard: reindent to appease lint
Kefu Chai [Tue, 20 Oct 2020 10:14:40 +0000 (18:14 +0800)]
pybind/mgr/dashboard: reindent to appease lint

silences warning like:

************* Module dashboard.services.tcmu_service
services/tcmu_service.py:64:0: C0330: Wrong continued indentation (add 18 spaces).
                    or [[0, 0]])[-1][1] / 1000000000
                    ^                 | (bad-continuation)

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/dashboard: s/pytest<4/pytest/
Kefu Chai [Tue, 13 Oct 2020 08:09:42 +0000 (16:09 +0800)]
pybind/mgr/dashboard: s/pytest<4/pytest/

to address following failure:

    The user requested pytest<4
    pytest-cov 2.10.1 depends on pytest>=4.6

when building the target of "mgr-dashboard-virtualenv"

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/dashboard: bump flake8 to 3.8.4
Kefu Chai [Tue, 13 Oct 2020 07:11:14 +0000 (15:11 +0800)]
pybind/mgr/dashboard: bump flake8 to 3.8.4

to address the failure of

The conflict is caused by:
    flake8 3.7.8 depends on pycodestyle<2.6.0 and >=2.5.0
    autopep8 1.5.4 depends on pycodestyle>=2.6.0

when building the "mgr-dashboard-venv" target

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agotools/setup-virtualenv.sh: pass --use-feature=2020-resolver to pip
Kefu Chai [Thu, 8 Oct 2020 07:13:36 +0000 (15:13 +0800)]
tools/setup-virtualenv.sh: pass --use-feature=2020-resolver to pip

as long as pip supports this option, pass it to `pip install`

to silence warnings and errors like:

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.

We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.

autopep8 1.5.4 requires pycodestyle>=2.6.0, but you'll have pycodestyle 2.5.0 which is incompatible.
pytest-cov 2.10.1 requires pytest>=4.6, but you'll have pytest 3.10.1 which is incompatible.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #36948 from bk201/wip-46492
Lenz Grimmer [Tue, 20 Oct 2020 10:58:51 +0000 (12:58 +0200)]
Merge pull request #36948 from bk201/wip-46492

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
4 years agorgw/gc: fixing the condition when marker for a queue is 37666/head
Pritha Srivastava [Wed, 14 Oct 2020 11:05:50 +0000 (16:35 +0530)]
rgw/gc: fixing the condition when marker for a queue is
always reset to empty which causes RGWGC::list to get stuck in
a loop, which ultimately is broken out of when the queue's truncated
flag is false.

1. Check for entries size also while evaluating whether objects cache for
a gc object should be marked as 'transitioned' in case of cls_rgw_gc_list.
When there are no entries, we get back a return value of 0, and the
object cache is not marked as 'transitioned'.

2. Also for the last gc object, we need to check whether the queue is still
under process and set the correct flag.

Missing the two conditions above causes the GC::list to loop continously
over the same gc object.

Fixes: https://tracker.ceph.com/issues/47909
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
4 years agorgw/gc: fix for incrementing the perf counter 'gc_retire_object' 37409/head
Pritha Srivastava [Fri, 25 Sep 2020 07:51:18 +0000 (13:21 +0530)]
rgw/gc: fix for incrementing the perf counter 'gc_retire_object'
in the new gc queue code for omap offload, when gc objects from queue
are deleted. This was missed out initially.

Fixes: https://tracker.ceph.com/issues/47908
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
4 years agotest/test_ipaddr: do not leak CephContext 37709/head
Kefu Chai [Tue, 20 Oct 2020 06:08:53 +0000 (14:08 +0800)]
test/test_ipaddr: do not leak CephContext

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocommon/pick_address: fail if cannot bind with specified network family
Kefu Chai [Mon, 19 Oct 2020 13:50:45 +0000 (21:50 +0800)]
common/pick_address: fail if cannot bind with specified network family

this change partially reverts 9f75dfbf364f5140b3f291e0a2c6769bc3d8cbac

we should not proceed against user's will if dual stack is specified but
only one network for a network family can be found. the right fix is
have better error message and documentation, not to tolerate the
failure.

Fixes: https://tracker.ceph.com/issues/46845
Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agotest/test_ipaddr: avoid using global
Kefu Chai [Tue, 20 Oct 2020 05:47:26 +0000 (13:47 +0800)]
test/test_ipaddr: avoid using global

the CephContext created using `new` would suffice

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocmake: link unittest_ipaddr against GTest::Main
Kefu Chai [Tue, 20 Oct 2020 05:46:53 +0000 (13:46 +0800)]
cmake: link unittest_ipaddr against GTest::Main

otherwise its main() is not defined, and fails to link.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc: document the mds_autoscaler mgr plugin 37707/head
Milind Changire [Tue, 20 Oct 2020 03:49:48 +0000 (09:19 +0530)]
doc: document the mds_autoscaler mgr plugin

The MDS Autoscaler provides automation to maintain a required count of
MDSs in the system.
The MDS count in the system can be afected by:
* max_mds config option
* standby_count_wanted config option
* death of an active MDS Rank

Fixes: https://tracker.ceph.com/issues/46884
Signed-off-by: Milind Changire <mchangir@redhat.com>
4 years agomon/MDSMonitor: do not ignore mds's down:dne request 37702/head
chencan [Sat, 17 Oct 2020 07:26:51 +0000 (15:26 +0800)]
mon/MDSMonitor: do not ignore mds's down:dne request

Fixes: https://tracker.ceph.com/issues/47881
Signed-off-by: chencan <chen.can2@zte.com.cn>
4 years agoMerge PR #37646 into master
Patrick Donnelly [Tue, 20 Oct 2020 02:28:40 +0000 (19:28 -0700)]
Merge PR #37646 into master

* refs/pull/37646/head:
mds: account for closing sessions in hit_session

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #37608 into master
Patrick Donnelly [Tue, 20 Oct 2020 02:27:48 +0000 (19:27 -0700)]
Merge PR #37608 into master

* refs/pull/37608/head:
mon/MDSMonitor: divide mds identifier and mds real name with dot

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #37529 into master
Patrick Donnelly [Tue, 20 Oct 2020 02:26:52 +0000 (19:26 -0700)]
Merge PR #37529 into master

* refs/pull/37529/head:
qa: set rados op timeouts for mds/ceph-fuse
qa: print debug info on mount cleanup
qa: remove redundant rmr
qa: use null mode to prevent undesired changes to mountpoint
qa: unmount all clients before deleting the file system
osdc: add timeout configs for mons/osds
common: accept timespan for SaferCond.wait_for

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge PR #37294 into master
Patrick Donnelly [Tue, 20 Oct 2020 02:25:29 +0000 (19:25 -0700)]
Merge PR #37294 into master

* refs/pull/37294/head:
mds: assert when inode has no parent directory

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agotest/crimson/.../test_transaction_manager: reset ephemeral segment_manager state...
Samuel Just [Thu, 27 Aug 2020 07:12:56 +0000 (00:12 -0700)]
test/crimson/.../test_transaction_manager: reset ephemeral segment_manager state on replay

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/transaction: introduce weak transactions
Samuel Just [Wed, 26 Aug 2020 21:50:16 +0000 (14:50 -0700)]
crimson/os/seastore/transaction: introduce weak transactions

This way, we can do a bulk scan of the store without building up
an unbounded amount of state in Transaction::read_set.  Note that
such transactions will not be snapshot isolated.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/.../lba_manager/btree: hold a reference to parent until added to cache
Samuel Just [Wed, 26 Aug 2020 21:49:34 +0000 (14:49 -0700)]
crimson/.../lba_manager/btree: hold a reference to parent until added to cache

Currently, we need to rely on the Transaction::read_set to ensure cache
residence of a leaf node until TransactionManager adds the logical
extent to the cache.  The next patch, however, will introduce a lazy
flag for Transaction's to enable doing snapshot inconsistent scans
without populating the read_set, so we'll want this to work without
it.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/transaction: rearrange to put private members at end
Samuel Just [Wed, 26 Aug 2020 21:13:32 +0000 (14:13 -0700)]
crimson/os/seastore/transaction: rearrange to put private members at end

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/lba_manager: add scan_mappings
Samuel Just [Fri, 17 Jul 2020 23:21:30 +0000 (16:21 -0700)]
crimson/os/seastore/lba_manager: add scan_mappings

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/segment_manager: expose segment_state_t
Samuel Just [Wed, 22 Jul 2020 19:19:59 +0000 (12:19 -0700)]
crimson/os/seastore/segment_manager: expose segment_state_t

Signed-off-by: Samuel Just <sjust@redhat.com>