]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Samuel Just [Thu, 24 Jun 2021 23:27:34 +0000 (16:27 -0700)]
crimson/os/seastore/transasction: expose is_conflicted
Useful for components not yet converted to use interruptible_future.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 24 Jun 2021 20:19:47 +0000 (13:19 -0700)]
Merge pull request #41963 from athanatos/sjust/wip-interruptible-tm
crimson/os/seastore: refactor transaction_manager and below to use interruptible_future
Reviewed-by: Kefu Chai <kchai@redhat.com>
Samuel Just [Thu, 24 Jun 2021 17:08:34 +0000 (17:08 +0000)]
test/crimson/test_interruptible_future: disable handle_error
Seems to cause a linker hang with gcc-9 in bionic.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 19 Jun 2021 07:43:27 +0000 (00:43 -0700)]
crimson/os/seastore/transaction_manager: pass t by ref to submit_transaction
Signed-off-by: Samuel Just <sjust@redhat.com>
Casey Bodley [Thu, 24 Jun 2021 16:17:53 +0000 (12:17 -0400)]
Merge pull request #39934 from Jeegn-Chen/wip-tracker-49128
rgw: write meta of a MP part to a correct pool
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Casey Bodley [Thu, 24 Jun 2021 16:16:19 +0000 (12:16 -0400)]
Merge pull request #41739 from liewegas/rgw-realm-metadata
radosgw: include realm_{id,name} in service map
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
zdover23 [Thu, 24 Jun 2021 13:51:30 +0000 (23:51 +1000)]
Merge pull request #41994 from anthonyeleven/anthonyeleven/adjust-rados-operations-pools
doc/rados/operations: Update pools.rst
Reviewed-by: Zac Dover <zac.dover@gmail.com>
Ilya Dryomov [Thu, 24 Jun 2021 12:48:13 +0000 (14:48 +0200)]
Merge pull request #42005 from trociny/wip-51342
test/librbd: use really invalid domain
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Mykola Golub [Thu, 24 Jun 2021 10:23:21 +0000 (11:23 +0100)]
test/librbd: use really invalid domain
in TestMockMigrationHttpClient.OpenResolveFail
Fixes: https://tracker.ceph.com/issues/51342
Signed-off-by: Mykola Golub <mgolub@suse.com>
Kefu Chai [Thu, 24 Jun 2021 11:10:22 +0000 (19:10 +0800)]
Merge pull request #41828 from tchaikov/wip-btree-alloc
os/bluestore: add BtreeAllocator
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Patrick Donnelly [Wed, 23 Jun 2021 20:24:58 +0000 (13:24 -0700)]
Merge PR #41935 into master
* refs/pull/41935/head:
mds: avoid journaling overhead for ceph.dir.subvolume for no-op case
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Samuel Just [Sat, 19 Jun 2021 07:40:34 +0000 (00:40 -0700)]
crimson/os/seastore: convert transaction_manager internally to use interruptible_future
Consumers of TransactionManager use wrapper classes InterruptedTransactionManager
and InterruptedTMRef for now until we convert them.
Also converts users of InterruptedCache etc and removes.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Mon, 14 Jun 2021 23:25:14 +0000 (23:25 +0000)]
test/crimson/seastore/test_seastore_cache: use cache directly
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 11 Jun 2021 00:21:26 +0000 (17:21 -0700)]
crimson/os/seastore/lba_manager/btree: convert to use interruptible_future
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 22 Jun 2021 00:10:29 +0000 (17:10 -0700)]
crimson/os/seastore/cache: convert to use interruptible future
Introduces InterruptedCache wrapper for now for components not yet
converted.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 3 Jun 2021 21:51:03 +0000 (14:51 -0700)]
crimson/os/seastore/transaction: introduce TransactionConflictCondition interruptor
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 3 Jun 2021 21:43:37 +0000 (14:43 -0700)]
crimson/os/seastore/cache.h: remove unused get_extents
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 12 May 2021 09:04:16 +0000 (09:04 +0000)]
crimson/os/seastore: invalidate transaction referencing invalid extents
Modify read_set to retain a reverse mapping from extents back to
transactions and use it to update Transaction::conflicted upon
invalidation.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Mon, 21 Jun 2021 23:57:48 +0000 (16:57 -0700)]
test/crimson/test_interruptible_future: add tests for errorated behavior
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 15 Jun 2021 00:24:41 +0000 (17:24 -0700)]
crimson/common/interruptible_future: add interruptor::base_ertr
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 11 Jun 2021 00:03:37 +0000 (17:03 -0700)]
crimson/common/interruptible_future: add safe_then_interruptible for multiple error handlers
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Fri, 18 Jun 2021 06:19:16 +0000 (23:19 -0700)]
crimson/common/interruptible_future: refactor handle_interruption
handle_interruption can't really be validly used outside of
with_interruption_cond. Make private, and adjust is_interruption
to not require an instance.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 17 Jun 2021 21:06:41 +0000 (14:06 -0700)]
crimson/common/interruptible_future: remove enable/disable_interruption
with_interruption_cond needs to check the condition on the way in.
call_with_interruption_impl already has the required machinery, so
let's just use it and dispense with the other helpers.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 9 Jun 2021 23:09:09 +0000 (16:09 -0700)]
crimson/common/interruptible_future: remove unnecessary make_ready_future template
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Mon, 7 Jun 2021 20:20:46 +0000 (13:20 -0700)]
crimson/common/interruptible_future: add ready|exception_future_marker constructors
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 3 Jun 2021 21:50:22 +0000 (14:50 -0700)]
crimson/common/interruptible_future: introduce future<> helper to interruptor
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 3 Jun 2021 21:49:56 +0000 (14:49 -0700)]
crimson/common/interruptible_future: introduce si_then as shorthand for safe_then_interruptible
safe_then_interruptible is too long for common use within seastore.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 2 Jun 2021 03:06:44 +0000 (20:06 -0700)]
crimson/common/interruptible_future: introduce with_interruption_to_error
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 10 Jun 2021 00:34:21 +0000 (17:34 -0700)]
crimson/common/interruptible_future: add handle_interruption
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 10 Jun 2021 00:32:44 +0000 (17:32 -0700)]
crimson/common/interruptible_future: add futurize::invoke
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 2 Jun 2021 03:05:12 +0000 (20:05 -0700)]
crimson/common/interruptible_future: add common errorator forwards
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 2 Jun 2021 02:52:27 +0000 (19:52 -0700)]
crimson/common/errorator: add futurize::apply
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 10 Jun 2021 00:07:33 +0000 (17:07 -0700)]
common/interruptible_future: use errorated future as core_type, fix constructor
No reason really to remember the underlying seastar::future type, we should
only be interacting with the errorated future wrapped type.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Wed, 2 Jun 2021 03:03:35 +0000 (20:03 -0700)]
test/crimson/test_interruptible_future: using namespace crimson
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Mon, 7 Jun 2021 20:14:45 +0000 (13:14 -0700)]
crimson/common/fixed_kv_node_layout: add reference type for do_for_each implementations
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 22 Jun 2021 00:10:23 +0000 (17:10 -0700)]
crimson/os/seastore/cache: fix typo in comment
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 3 Jun 2021 21:51:43 +0000 (14:51 -0700)]
crimson/os/seastore/cache: rename retire_extent_addr for addr overload
Makes InterruptibleCache bit in the later patch simpler, and is somewhat
clearer.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Sat, 19 Jun 2021 09:05:44 +0000 (02:05 -0700)]
crimson/os/seastore/lba_manager: make complete_transaction void
This really can't result in mutations (the transaction already committed!)
and presently doesn't require any IO at all. Just make it void.
Signed-off-by: Samuel Just <sjust@redhat.com>
Anthony D'Atri [Wed, 23 Jun 2021 17:25:13 +0000 (10:25 -0700)]
doc/rados/operations: Updates pools.rst
Add clarity, change example PG counts to a power of two.
Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
Kefu Chai [Wed, 23 Jun 2021 16:58:52 +0000 (00:58 +0800)]
Merge pull request #41990 from liewegas/fix-51292
qa/suites/rados/dashboard: fix e2e test
Reviewed-by: Kefu Chai <kchai@redhat.com>
Sage Weil [Wed, 23 Jun 2021 14:49:28 +0000 (09:49 -0500)]
qa/suites/rados/dashboard: fix e2e test
Move roles into task yaml. Rename e2e.
Fixes: https://tracker.ceph.com/issues/51292
Signed-off-by: Sage Weil <sage@newdream.net>
J. Eric Ivancich [Wed, 23 Jun 2021 14:37:52 +0000 (10:37 -0400)]
Merge pull request #39358 from Jeegn-Chen/wip-tracker-49206
rgw: avoid infinite loop when deleting a bucket
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Harish Munjulur [Wed, 23 Jun 2021 14:25:18 +0000 (07:25 -0700)]
Merge pull request #40031 from pritha-srivastava/wip-sts-get-session-ldap
rgw/sts: fixes getsessiontoken authenticated with LDAP,
Kefu Chai [Wed, 23 Jun 2021 13:43:34 +0000 (21:43 +0800)]
Merge pull request #41984 from tchaikov/wip-crimson-repeat
crimson: s/crimson::do_until/crimson::repeat/
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Ernesto Puerta [Wed, 23 Jun 2021 11:05:58 +0000 (13:05 +0200)]
Merge pull request #41974 from rhcs-dashboard/fix-POST-alerts
mgr/dashboard: Alertmanager fails to POST alerts
Kefu Chai [Wed, 23 Jun 2021 05:37:40 +0000 (13:37 +0800)]
crimson: s/crimson::do_until/crimson::repeat/
seastar::do_until() takes a predicate functor and a continuation. while
seastar::repeat() takes a single continuation which returns
stop_iteration::yes or stop_iteration::no. in general, we want to mirror
and extend the facilities offered by seastar instead of changing it in
an unexpected way. while crimson::do_until() only take a single
continuation which returns a bool. in hope to be more consistent, in
this change, all occurances of crimson::do_until are replaced with
crimson::repeat.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Wed, 23 Jun 2021 10:58:33 +0000 (18:58 +0800)]
Merge pull request #41986 from tchaikov/wip-wip-crimson-alienstore-lockless-spin-off
crimson/os/alienstore: cleanups of ThreadPool
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 12:11:32 +0000 (20:11 +0800)]
crimson/os: replace private: section at end of class
to comply to the style guide at https://google.github.io/styleguide/cppguide.html#Declaration_Order
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 12:06:22 +0000 (20:06 +0800)]
crimson/os: replace tab with spaces
to be consistent with the editor variables defined in the header.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 12:03:25 +0000 (20:03 +0800)]
crimson/os: reduce the scope of lock
we just need to synchronize accesses to `stopping`, so only need to
guard the mutation of it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Yuval Lifshitz [Wed, 23 Jun 2021 08:14:53 +0000 (11:14 +0300)]
Merge pull request #41956 from yuvalif/wip-yuval-fix-51293
rgw/notification: make notifications agnostic of bucket reshard
Yuval Lifshitz [Wed, 23 Jun 2021 08:14:21 +0000 (11:14 +0300)]
Merge pull request #41955 from yuvalif/wip-yuval-fix-51305
rgw/notification: send correct size in COPY events
Kefu Chai [Wed, 23 Jun 2021 08:11:24 +0000 (16:11 +0800)]
crimson/common/errorator: consider return value as ready future in maybe_handle_error_t
this behavior mirrors seasetar::futurize::apply(), where non-future and
non-void return values are converted to future<>, and returned instead.
this change could simplify some use cases where we always return an
immediately available future.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Yuval Lifshitz [Wed, 23 Jun 2021 08:13:41 +0000 (11:13 +0300)]
Merge pull request #41831 from yuvalif/wip-yuval-fix-51114
rgw/amqp: remove the explicit "disconnect()" interface
Mykola Golub [Wed, 23 Jun 2021 06:25:47 +0000 (09:25 +0300)]
Merge pull request #41902 from idryomov/wip-rbd-thick-conf
rbd: don't disable rbd_discard_on_zeroed_write_same
Reviewed-by: Mykola Golub <mgolub@suse.com>
Kefu Chai [Wed, 23 Jun 2021 03:16:56 +0000 (11:16 +0800)]
Merge pull request #41940 from liu-chunmei/crimson-fix-reactor-stall
crimson: fix reactor stalled and rbd_open failed.
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Patrick Donnelly [Wed, 23 Jun 2021 02:45:58 +0000 (19:45 -0700)]
Merge PR #41964 into master
* refs/pull/41964/head:
doc/cephfs/nfs: update recommendation for versions
Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Wed, 23 Jun 2021 02:38:16 +0000 (19:38 -0700)]
Merge PR #41908 into master
* refs/pull/41908/head:
qa: always format the pgid in hex
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Wed, 23 Jun 2021 02:35:38 +0000 (19:35 -0700)]
Merge PR #41875 into master
* refs/pull/41875/head:
client: check if a mds rank is `up` before fetching connection addr
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Wed, 23 Jun 2021 02:34:01 +0000 (19:34 -0700)]
Merge PR #41385 into master
* refs/pull/41385/head:
mon/FSCommands: add command to rename a file system
qa/cephfs: split test_admin.TestAdminCommands
mds: remove 'fs_name' from MDSRank
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Fri, 18 Jun 2021 16:27:54 +0000 (09:27 -0700)]
mds: avoid journaling overhead for ceph.dir.subvolume for no-op case
In preparation for acquiring the xlock on the directory inode, the MDS
must journal a few events before continuing on with the setvxattr. This
can cause significant delays in the volumes ceph-mgr module which needs
to regularly enable this vxattr from multiple code paths. We could cache
in that module whether the vxattr is set but it's also pretty easy to
adjust the MDS to acquire a rdlock on the directory to check if the
subvolume flag is already set. That is much lighter weight and the lock
is generally readily available.
Fixes: https://tracker.ceph.com/issues/51276
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
chunmei-liu [Mon, 21 Jun 2021 21:52:54 +0000 (14:52 -0700)]
crimson/seastore: fix reactor stalled and rbd_open failed
omap manger use keys' reference, so the keys' string set should
be kept alive during omap operation. use value capture instead of
reference capture.
otherwise, during omap operation, the keys contents will be changed
and cause logger insert_iterator very long time to stall reactor.
omap_get_value also failed, rbd_open failed.
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
Kefu Chai [Tue, 22 Jun 2021 12:59:51 +0000 (20:59 +0800)]
Merge pull request #41967 from sandrobonazzola/patch-1
doc/install/get-packages: point to current stable release
Reviewed-by: Kefu Chai <kchai@redhat.com>
Sandro Bonazzola [Tue, 22 Jun 2021 07:49:30 +0000 (09:49 +0200)]
doc/install/get-packages: point to current stable release
Point to pacific for downloading the cephadm script
Co-authored-by: Kefu Chai <tchaikov@gmail.com>
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 11:58:01 +0000 (19:58 +0800)]
Merge pull request #41960 from rzarzynski/wip-crimson-alienstore-sync-shardedwq
crimson/os: synchronize producers with consumers in AlienStore's queues.
Reviewed-by: Kefu Chai <kchai@redhat.com>
Avan Thakkar [Tue, 22 Jun 2021 11:46:45 +0000 (17:16 +0530)]
mgr/dashboard: Alertmanager fails to POST alerts
Fixes: https://tracker.ceph.com/issues/51312
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 11:43:55 +0000 (19:43 +0800)]
Merge pull request #41957 from liewegas/fix-vstart-registry-url
vstart.sh: fix docker url
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 10:38:43 +0000 (18:38 +0800)]
Merge pull request #41961 from rzarzynski/wip-crimson-intcltreq-fix-assert
crimson/osd: fix construction of InternalClientRequest in DEBUG builds.
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Tue, 22 Jun 2021 10:37:37 +0000 (18:37 +0800)]
Merge pull request #41962 from rzarzynski/wip-crimson-intcltreq-more-asserts
crimson/osd: introduce more asserts to the Watch timeout handling.
Reviewed-by: Kefu Chai <kchai@redhat.com>
Ramana Raja [Tue, 22 Jun 2021 02:47:55 +0000 (22:47 -0400)]
doc/cephfs/nfs: update recommendation for versions
... of Ceph and NFS-Ganesha packages.
Signed-off-by: Ramana Raja <rraja@redhat.com>
Radoslaw Zarzynski [Mon, 21 Jun 2021 12:28:52 +0000 (12:28 +0000)]
crimson/osd: introduce more asserts to the Watch timeout handling.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Patrick Donnelly [Mon, 21 Jun 2021 23:54:59 +0000 (16:54 -0700)]
Merge PR #41860 into master
* refs/pull/41860/head:
qa: log messages when falling back to force/lazy umount
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Radoslaw Zarzynski [Mon, 21 Jun 2021 18:59:45 +0000 (18:59 +0000)]
crimson/osd: fix construction of InternalClientRequest in DEBUG builds.
The assert in the ctor of `InternalClientRequest` actually operates on
the ctor's argument we `std::moved` from, not on the class' member.
When a debug build is used, this translates into failures like the one
below:
```
2021-06-16T22:53:03.410 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:02 smithi170 conmon[43770]: ceph-osd: /home/jenkins-build/build/workspace/ceph-dev-new-
build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/
17.0.0-4987-gec8844b6 /rpm/el8/BUILD/
ceph-17.0.0-4987-gec8844b6
/src/crimson/osd/osd_operations/internal_client_request.cc:19: crimson::osd::InternalClientRequest::InternalClientRequest(Ref<crimson::osd::PG>): Assertion `bool(pg)' f
ailed.
2021-06-16T22:53:05.363 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 0# 0x0000558BE7BBF68F in /usr/bin/ceph-osd
2021-06-16T22:53:05.363 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 1# FatalSignal::signaled(int, siginfo_t const*) in /usr/bi
n/ceph-osd
2021-06-16T22:53:05.363 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 2# FatalSignal::install_oneshot_signal_handler<6>()::{lamb
da(int, siginfo_t*, void*)#1}::_FUN(int, siginfo_t*, void*) in /usr/bin/ceph-osd
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 3# 0x00007F8AD7535B20 in /lib64/libpthread.so.0
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 4# gsignal in /lib64/libc.so.6
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 5# abort in /lib64/libc.so.6
2021-06-16T22:53:05.364 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 6# 0x00007F8AD5B2EC89 in /lib64/libc.so.6
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 7# 0x00007F8AD5B3CA76 in /lib64/libc.so.6
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 8# crimson::osd::InternalClientRequest::InternalClientRequ
est(boost::intrusive_ptr<crimson::osd::PG>) in /usr/bin/ceph-osd
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 9# crimson::osd::Watch::do_watch_timeout(boost::intrusive_ptr<crimson::osd::PG>) in /usr/bin/ceph-osd
2021-06-16T22:53:05.365 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 10# seastar::noncopyable_function<void ()>::direct_vtable_for<crimson::osd::Watch::Watch(crimson::osd::Watch::private_ctag_t, boost::intrusive_ptr<crimson::osd::ObjectContext>, watch_info_t const&, entity_name_t const&, boost::intrusive_ptr<crimson::osd::PG>)::{lambda()#1}>::call(seastar::noncopyable_function<void ()> const*) in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 11# 0x0000558BED653759 in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 12# 0x0000558BED61B148 in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 13# 0x0000558BED61B576 in /usr/bin/ceph-osd
2021-06-16T22:53:05.366 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 14# 0x0000558BED7C93C9 in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 15# 0x0000558BED326D5A in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 16# 0x0000558BED330E7E in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 17# main in /usr/bin/ceph-osd
2021-06-16T22:53:05.367 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 18# __libc_start_main in /lib64/libc.so.6
2021-06-16T22:53:05.368 INFO:journalctl@ceph.osd.6.smithi170.stdout:Jun 16 22:53:05 smithi170 conmon[43770]: 19# _start in /usr/bin/ceph-osd
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Mon, 21 Jun 2021 21:16:35 +0000 (21:16 +0000)]
crimson/os: synchronize producers with consumers in AlienStore's queues.
Some time ago we replaced the single, `boost::lockfree`-based queue
in `ThreadPool` with the in-house, lockish `ShardedWorkQueue` vector.
Unfortunately, pushing into such queue isn't synchronized with
consuming from it -- the former happens without locking the `mutex`.
As the underlying primitive behind `ShardedWorkQueue::pending` is
plain `std::deque`, it's unsafe to operate that way in multi-thread
environment. Indeed, weirdly looking crashes have been spotted at Sepia:
```
(virtualenv) rzarzynski@teuthology:/home/teuthworker/archive/rzarzynski-2021-06-21_14:49:36-rados-master-distro-basic-smithi/
6182668 $ less ./remote/smithi196/log/ceph-osd.7.log.gz
...
0# 0x000055862FD67ADF in ceph-osd
1# FatalSignal::signaled(int, siginfo_t const*) in ceph-osd
2# FatalSignal::install_oneshot_signal_handler<11>()::{lambda(int, siginfo_t*, void*)#1}::_FUN(int, siginfo_t*, void*) in ceph-osd
3# 0x00007FB22CF36B20 in /lib64/libpthread.so.0
4# 0x00005586357540E4 in ceph-osd
5# 0x00007FB22CF36B20 in /lib64/libpthread.so.0
6# pthread_cond_timedwait in /lib64/libpthread.so.0
7# crimson::os::ThreadPool::loop(std::chrono::duration<long, std::ratio<1l, 1000l> >, unsigned long) in ceph-osd
8# 0x00005586313E303B in ceph-osd
9# 0x00007FB22CC51BA3 in /lib64/libstdc++.so.6
10# 0x00007FB22CF2C14A in /lib64/libpthread.so.0
11# clone in /lib64/libc.so.6
Fault at location: 0x18
daemon-helper: command crashed with signal 11
```
This fix introduces the synchronization to the `push_back()` method of
`ShardedWorkQueue`. The side effect is that it may stall the reactor.
Therefore, a follow-up change that switches to e.g. `boost::lockfree`
is expected.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Sage Weil [Mon, 21 Jun 2021 19:01:29 +0000 (15:01 -0400)]
vstart.sh: fix docker url
Signed-off-by: Sage Weil <sage@newdream.net>
Yuval Lifshitz [Mon, 21 Jun 2021 17:32:08 +0000 (20:32 +0300)]
rgw/notification: make notifications agnostic of bucket reshard
Fixes: https://tracker.ceph.com/issues/51293
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Yuval Lifshitz [Mon, 21 Jun 2021 16:03:54 +0000 (19:03 +0300)]
rgw/notification: send correct size in COPY events
Fixes: https://tracker.ceph.com/issues/51305
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Kefu Chai [Mon, 21 Jun 2021 12:46:41 +0000 (20:46 +0800)]
Merge pull request #41941 from tchaikov/wip-crimson-errorator-loop
crimson/common: extract parallel_for_each_state out
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Kefu Chai [Mon, 21 Jun 2021 08:36:20 +0000 (16:36 +0800)]
Merge pull request #41949 from tchaikov/wip-crimson-prometheus
crimson/osd: expose metrics using http server
Reviewed-by: Samuel Just <sjust@redhat.com>
Kefu Chai [Mon, 21 Jun 2021 06:50:10 +0000 (14:50 +0800)]
crimson/osd: expose metrics using http server
so, we can query the metrics using HTTP API, like
http://localhost:9180/metrics?name=io*
or
http://192.168.2.8:9180/metrics?name=io_queue_delay
or
http://localhost:9180/metrics
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Mon, 21 Jun 2021 04:34:02 +0000 (12:34 +0800)]
Merge pull request #41934 from cyx1231st/wip-seastore-onode-logs
crimson/onode-staged-tree: improve logs to understand inconsistent load from seastore
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Xuehan Xu <xuxuehan@360.cn>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Yingxin Cheng [Fri, 18 Jun 2021 08:47:05 +0000 (16:47 +0800)]
crimson/onode-staged-tree: print NodeExtent with the header
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 18 Jun 2021 08:33:00 +0000 (16:33 +0800)]
crimson/onode-staged-tree: validate node header when load
Add logs to detect corruptions when load nodes. assert() is not
informative enough to understand the context.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 18 Jun 2021 08:21:06 +0000 (16:21 +0800)]
crimson/onode-staged-tree: delete copy constructor of DummyNodeExtent
Dummy backend is used for unit tests without transactions, so there
should be no copy-on-write behavior.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Yingxin Cheng [Fri, 18 Jun 2021 08:17:09 +0000 (16:17 +0800)]
crimson/onode-staged-tree: add trace logs when start to load nodes
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Amnon Hanuhov [Sun, 20 Jun 2021 18:30:36 +0000 (21:30 +0300)]
Merge pull request #41861 from AmnonHanuhov/wip-Refactor_crimson_internals
crimson/net: Complete the refactor to std::unique_ptr inside Messenger
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 14:57:07 +0000 (22:57 +0800)]
Merge pull request #41921 from gregsfortytwo/wip-mon-stretch-crush-rule
mon: Sanely set the default CRUSH rule when creating pools in stretch…
Reviewed-by: Samuel Just <sjust@redhat.com>
Amnon Hanuhov [Sat, 19 Jun 2021 14:56:13 +0000 (17:56 +0300)]
tools/crimson: Use crimson::make_message() in perf_crimson_msgr
Instead of ceph::make_message() because conn::send() in crimson expects
a std::unique_ptr and not boost::intrusive_ptr
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 14:54:25 +0000 (22:54 +0800)]
Merge pull request #41845 from agayev/zoned-revise-per-zone-naming-scheme
os/bluestore: Revise the naming scheme for per-zone cleaning informat…
Reviewed-by: Igor Fedotov <ifedotov@suse,com>
Amnon Hanuhov [Sat, 19 Jun 2021 14:52:54 +0000 (17:52 +0300)]
test/crimson: Use crimson::make_message() in test_alien_echo
Instead of ceph::make_message() because conn::send() in crimson expects
a std::unique_ptr and not boost::intrusive_ptr
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 14:51:59 +0000 (22:51 +0800)]
Merge pull request #41830 from tchaikov/wip-ceph-argparse-cleanup
pybind/ceph_argparse: cleanups preparing for type annotations
Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
Amnon Hanuhov [Thu, 3 Jun 2021 11:47:00 +0000 (14:47 +0300)]
crimson/net: Use MessageURef in messenger internals
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
Amnon Hanuhov [Tue, 8 Jun 2021 12:51:33 +0000 (15:51 +0300)]
crimson/osd: Get rid of send_to_osd() overloading
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
Amnon Hanuhov [Tue, 8 Jun 2021 12:48:59 +0000 (15:48 +0300)]
osd: Overload send_osd_message() in PeeringState
To allow passing MessageURef from crimson-osd and MessageRef from
ceph-osd
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
Amnon Hanuhov [Tue, 8 Jun 2021 12:43:50 +0000 (15:43 +0300)]
crimson/osd: Move message to send_to_osd() in ShardServices
To avoid refcounting the underlying RefCountedObject
Signed-off-by: Amnon Hanuhov <ahanukov@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 13:11:32 +0000 (21:11 +0800)]
Merge pull request #41923 from liewegas/fix-51234
ceph_test_librados_service: wait longer for servicemap to update
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 13:03:04 +0000 (21:03 +0800)]
Merge pull request #41914 from lxbsz/wip-51092
os/memstore: make the used_bytes to atomic
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 13:02:18 +0000 (21:02 +0800)]
Merge pull request #41896 from ifed01/wip-ifed-verbose-kernel-read
blk/KernelDevice: be more verbose on read errors.
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 11:13:17 +0000 (19:13 +0800)]
crimson/common: specialize errorator<> for future<>
otherwise it always needs a return value.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Kefu Chai [Sat, 19 Jun 2021 11:12:36 +0000 (19:12 +0800)]
crimson/common: extract parallel_for_each_state out
if `parallel_for_each_state` is defined as a nested class in errorator,
clang fails to compile it:
../src/crimson/common/errorator.h:716:47: error: no class named 'parallel_for_each_state' in 'errorator<AllowedErrors...>'
friend class errorator<AllowedErrors...>::parallel_for_each_state;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
and the forward declaration does not help. so we have to extract it
out of the errorator. to speed up the compilation, it is moved into
errorator-loop.h. its name mirrors `include/seastar/core/loop.h`.
we could extract the `errorator<>::parallel_for_each()` out as well,
as its return type can be deduced from the type of Iterator and Func.
Signed-off-by: Kefu Chai <kchai@redhat.com>