]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Wed, 15 Sep 2021 15:53:32 +0000 (10:53 -0500)]
qa/tasks/kubeadm: modify (do not clobber) daemon.json
Otherwise we blow away the mirror config.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Mon, 13 Sep 2021 22:28:43 +0000 (18:28 -0400)]
Merge PR #43136 into master
* refs/pull/43136/head:
qa/tasks/kubeadm: change calico encap to IPIPCrossSubnet
qa/suites/orch/rook/smoke: add host networking to matrix
qa/tasks/rook: fix shadowing of config arg in rook_cluster()
Reviewed-by: Joseph Sawaya <jsawaya@redhat.com>
Ilya Dryomov [Mon, 13 Sep 2021 21:00:17 +0000 (23:00 +0200)]
Merge pull request #42417 from rzarzynski/wip-bl-optimize-emptybptrs
common/bl, tests: optimize carriage handling in bufferlist::c_str()
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Sage Weil [Mon, 13 Sep 2021 18:43:20 +0000 (13:43 -0500)]
qa/tasks/kubeadm: change calico encap to IPIPCrossSubnet
Signed-off-by: Sage Weil <sage@newdream.net>
Radoslaw Zarzynski [Tue, 20 Jul 2021 10:32:36 +0000 (10:32 +0000)]
tests/bl: verify the carriage handling in bufferlist::c_str().
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Thu, 5 Aug 2021 00:04:57 +0000 (00:04 +0000)]
common/bl: abstract from _carriage checking in c_str().
This is intended to enchance readability and sligthly
generalize the previous, `_carriage`-aware optimization.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Radoslaw Zarzynski [Mon, 19 Jul 2021 14:06:20 +0000 (14:06 +0000)]
common/bl: c_str() considers _carriage now.
It could be that `_carriage` points on empty bptr which is
also stored in the `_buffers` container -- this happens
when we'are trying to preserve the appendable space to not
waste memory and avoid new allocation.
Before the change this approach was imposing unncessary
rebuilding on `c_str()`. Now we take into consideration
the special case when a bufferlist has the extra, empty
bptr at its end.
Fixes: https://tracker.ceph.com/issues/51725
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Sebastian Wagner [Mon, 13 Sep 2021 14:38:01 +0000 (16:38 +0200)]
Merge pull request #43141 from sebastian-philipp/doc-orch-rm
doc/cephadm: Removing a service
Reviewed-by: Michael Fritch <mfritch@suse.com>
Sage Weil [Mon, 13 Sep 2021 14:21:32 +0000 (10:21 -0400)]
Merge PR #42998 into master
* refs/pull/42998/head:
qa/tasks/rook: add testing for host label add/rm
mgr/rook: host add/rm label in rook orchestrator
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Kefu Chai [Mon, 13 Sep 2021 13:45:11 +0000 (21:45 +0800)]
Merge pull request #43147 from krunerge/fix_typo
doc/dev/crimson/poseidonstore: fix typo
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Dimitri Savineau [Mon, 13 Sep 2021 13:13:07 +0000 (09:13 -0400)]
Merge pull request #43063 from guits/guits-trailing-spaces
ceph-volume: remove trailing spaces in code
Ronen Friedman [Mon, 13 Sep 2021 11:23:52 +0000 (14:23 +0300)]
Merge pull request #42951 from ronen-fr/wip-ronenf-pg-dtor
osd/scrub: destruct the scrubber shortly before the PG is destructed
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>-
Reviewed-by: Neha Ojha <nojha@redhat.com>
krunerge [Mon, 13 Sep 2021 11:12:36 +0000 (19:12 +0800)]
doc/dev/crimson/poseidonstore: fix typo
Signed-off-by: krunerge <krunerge@tencent.com>
Ilya Dryomov [Mon, 13 Sep 2021 10:04:34 +0000 (12:04 +0200)]
Merge pull request #42555 from hualongfeng/retire_error_change
librbd/cache/pwl/ssd: remove correct m_blocks_to_log_entries entry
Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Mon, 13 Sep 2021 09:44:09 +0000 (11:44 +0200)]
Merge pull request #43038 from majianpeng/librbd-pwl-exclusive-lock
librbd: require exclusive lock for reads if pwl cache is enabled
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Feng Hualong [Wed, 28 Jul 2021 03:42:44 +0000 (11:42 +0800)]
librbd/cache/pwl/ssd: remove correct m_blocks_to_log_entries entry
When retiring, m_blocks_to_log_entries doesn't remove
corresponding write_entry (should be `*it` not `entry`)
that will be retired. It leads to read error. And
there should also consider discard entries.
Fixes: https://tracker.ceph.com/issues/52579
Signed-off-by: Feng Hualong <hualong.feng@intel.com>
Sebastian Wagner [Mon, 13 Sep 2021 07:39:16 +0000 (09:39 +0200)]
Merge pull request #43143 from sebastian-philipp/further-reading
doc/cephadm: Add lots of links to other chapters
Reviewed-by: Zac Dover <zac.dover@gmail.com>
Ronen Friedman [Sun, 12 Sep 2021 13:32:44 +0000 (16:32 +0300)]
Merge pull request #41869 from ronen-fr/wip-ronenf-fmt-scrub
common, osd: add fmtlib formatting of some OSD types
Reviewed-by: Kefu Chai <kchai@redhat.com>
Ronen Friedman [Sun, 12 Sep 2021 12:47:52 +0000 (15:47 +0300)]
Merge pull request #43056 from Matan-B/wip-matanb-scrub-passkey
osd: Replacing friend declarations for passkey interface
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Ronen Friedman [Sun, 12 Sep 2021 12:40:22 +0000 (15:40 +0300)]
Merge pull request #42684 from ronen-fr/wip-ronenf-scrub-token
osd/scrub: tag replica scrub messages to identify stale events
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Sebastian Wagner [Sat, 11 Sep 2021 18:02:44 +0000 (20:02 +0200)]
doc/cephadm: Add lots of links to other chapters
Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
Sebastian Wagner [Sat, 11 Sep 2021 17:15:38 +0000 (19:15 +0200)]
doc/cephadm: Removing a service
Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
Kefu Chai [Fri, 10 Sep 2021 23:42:01 +0000 (07:42 +0800)]
Merge pull request #43134 from ceph/debhelpermerged
debian/control: dh-systemd is part of debhelper now
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
David Galloway [Fri, 10 Sep 2021 13:55:56 +0000 (09:55 -0400)]
debian/control: dh-systemd is part of debhelper now
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822670
Signed-off-by: David Galloway <dgallowa@redhat.com>
Joseph Sawaya [Thu, 9 Sep 2021 19:49:52 +0000 (15:49 -0400)]
qa/tasks/rook: add testing for host label add/rm
This commit adds simple tests that check if the orchestrator
can add and remove labels from nodes.
Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
Ernesto Puerta [Fri, 10 Sep 2021 12:32:18 +0000 (14:32 +0200)]
Merge pull request #43104 from ceph/e2e-tests-documentation
doc/dev: specify location of e2e-tests script
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Ernesto Puerta [Fri, 10 Sep 2021 12:25:31 +0000 (14:25 +0200)]
Merge pull request #43053 from a16bitsysop/fsevents
mgr/dashboard: use -f for npm ci to skip fsevents error
Reviewed-by: a16bitsysop <NOT@FOUND>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Ilya Dryomov [Fri, 10 Sep 2021 09:36:45 +0000 (11:36 +0200)]
Merge pull request #42984 from majianpeng/pwl-ssd-race-bug
librbd/cache/pwl/ssd: fix a race between get_cache_bl() and remove_cache_bl()
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Fri, 10 Sep 2021 07:41:18 +0000 (09:41 +0200)]
Merge pull request #42883 from majianpeng/pwl-ssd-calc-allocated-bug
librbd/cache/pwl: fix m_bytes_{allocated,cached} calculation on reopen
Reviewed-by: Yin Congmin <congmin.yin@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Samuel Just [Fri, 10 Sep 2021 04:53:55 +0000 (21:53 -0700)]
Merge pull request #43124 from xxhdx1985126/wip-om-log-fix
crimson/os/seastore: fix some debug outputs in omap manager
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Xuehan Xu [Fri, 10 Sep 2021 02:33:40 +0000 (10:33 +0800)]
crimson/os/seastore: fix some debug outputs in omap manager
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Samuel Just [Thu, 9 Sep 2021 20:40:34 +0000 (13:40 -0700)]
Merge pull request #43108 from xxhdx1985126/wip-epm-roll-leak
crimson/os/seastore: fix epm rolling_segment leak when the transaction is interrupted
Reviewed-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 9 Sep 2021 20:13:48 +0000 (13:13 -0700)]
Merge pull request #43118 from rzarzynski/wip-crimson-assert-v2-on-bind
crimson/net: assert the address is v2 on attempt to bind.
Reviewed-by: Samuel Just <sjust@redhat.com>
Joseph Sawaya [Tue, 31 Aug 2021 16:14:06 +0000 (12:14 -0400)]
mgr/rook: host add/rm label in rook orchestrator
This commit adds the functionality for adding/removing labels
to hosts using the rook orchestrator and orch host label add/rm.
The labels are added to the kubernetes node object as kubernetes
labels prefixed by "ceph-label/".
This commit also changes ceph orch host ls to display only the ceph
labels.
Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
Laura Flores [Wed, 8 Sep 2021 21:22:45 +0000 (16:22 -0500)]
doc/dev: specify location of e2e-tests script
I was just going through these steps myself, and I found it difficult to locate and run `run-frontend-e2e-tests.sh`. Specifying the location of it might make it clearer to others where the correct script is located.
Signed-off-by: Laura Flores <lflores@redhat.com>
Guillaume Abrioux [Thu, 9 Sep 2021 17:16:51 +0000 (19:16 +0200)]
Merge pull request #42912 from dsavineau/ceph_volume_lvm_active_no_systemd
ceph-volume: fix lvm activate --all --no-systemd
Yuri Weinstein [Thu, 9 Sep 2021 17:11:08 +0000 (10:11 -0700)]
Merge pull request #43013 from rzarzynski/wip-msg-const-features_supported
msg: make Policy::features_supported static and constant.
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Yuri Weinstein [Thu, 9 Sep 2021 17:10:06 +0000 (10:10 -0700)]
Merge pull request #42853 from sseshasa/wip-fix-vstart-mon-permissions
mon/MonCap: Update osd profile to allow cmd to set iops capacity on mon db
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Radoslaw Zarzynski [Thu, 9 Sep 2021 14:42:04 +0000 (14:42 +0000)]
crimson/net: assert the address is v2 on attempt to bind.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Guillaume Abrioux [Thu, 9 Sep 2021 14:13:26 +0000 (16:13 +0200)]
Merge pull request #43014 from dsavineau/ceph_volume_lvm_active_id_fsid_mandatory
ceph-volume: fix lvm activate arguments
Ilya Dryomov [Thu, 9 Sep 2021 14:12:15 +0000 (16:12 +0200)]
Merge pull request #43079 from petrutlucian94/hv_addr_doc
doc/rbd: describe Hyper-V disk addressing limitations
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Thu, 9 Sep 2021 13:22:43 +0000 (15:22 +0200)]
Merge pull request #43086 from idryomov/wip-rbd-validate-pool-async
librbd: fix pool validation lockup
Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
Mykola Golub [Thu, 9 Sep 2021 10:10:44 +0000 (13:10 +0300)]
Merge pull request #43107 from SUSE/wip-fix-52553
pybind/rados: don't close watch in dealloc if already closed
Reviewed-by: Mykola Golub <mgolub@suse.com>
Guillaume Abrioux [Thu, 9 Sep 2021 08:42:26 +0000 (10:42 +0200)]
Merge pull request #43042 from dsavineau/ceph_volume_lvm_migrate_args
ceph-volume: fix lvm migrate without args
Xuehan Xu [Thu, 9 Sep 2021 08:18:32 +0000 (16:18 +0800)]
crimson/os/seastore: fix epm rolling_segment leak when the transaction is interrupted
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Fri, 3 Sep 2021 15:19:28 +0000 (23:19 +0800)]
crimson/os/seastore: better epm output
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Matan Breizman [Wed, 1 Sep 2021 16:18:40 +0000 (16:18 +0000)]
osd: Replacing friend declerations for passkey interface
removing friend decleration from PrimaryLogScrub and ReplicaReservations
Signed-off-by: Matan Breizman <Matan.Brz@gmail.com>
Tim Serong [Thu, 9 Sep 2021 07:08:24 +0000 (17:08 +1000)]
pybind/rados: don't close watch in dealloc if already closed
Fixes: https://tracker.ceph.com/issues/52553
Signed-off-by: Tim Serong <tserong@suse.com>
Samuel Just [Thu, 9 Sep 2021 02:08:26 +0000 (19:08 -0700)]
Merge pull request #41803 from xxhdx1985126/wip-extent-placement-manager-2
crimson/os/seastore: add extent placement manager
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 9 Sep 2021 01:18:46 +0000 (18:18 -0700)]
Merge pull request #43105 from liu-chunmei/clean-alien-in-store-nbd
crimson/tools: clean alien in store-nbd
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
chunmei-liu [Wed, 8 Sep 2021 23:22:02 +0000 (16:22 -0700)]
crimson/tools: clean alien in store-nbd
Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
Neha Ojha [Wed, 8 Sep 2021 18:03:09 +0000 (11:03 -0700)]
Merge pull request #42604 from sseshasa/wip-skip-osd-benchmark
osd: Add config option to skip running the osd benchmark during init and update documentation.
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Guillaume Abrioux [Wed, 8 Sep 2021 15:35:33 +0000 (17:35 +0200)]
Merge pull request #43052 from dsavineau/ceph_volume_lvm_deactive_remove_all_arg
ceph-volume: remove --all ref from deactivate help
Sebastian Wagner [Wed, 8 Sep 2021 15:10:13 +0000 (17:10 +0200)]
Merge pull request #43045 from sebastian-philipp/qa-tox-import-yaml
qa: tox.ini: verify yaml syntax
Reviewed-by: Sage Weil <sage@newdream.net>
Dimitri Savineau [Fri, 3 Sep 2021 14:45:18 +0000 (10:45 -0400)]
ceph-volume: fix lvm migrate without args
When running the `lvm migrate` subcommand without any args then the
ceph-volume command fails with a stack trace.
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/ceph_volume/decorators.py", line 59, in newfunc
return f(*a, **kw)
File "/usr/lib/python3.6/site-packages/ceph_volume/main.py", line 151, in main
terminal.dispatch(self.mapper, subcommand_args)
File "/usr/lib/python3.6/site-packages/ceph_volume/terminal.py", line 194, in dispatch
instance.main()
File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/main.py", line 46, in main
terminal.dispatch(self.mapper, self.argv)
File "/usr/lib/python3.6/site-packages/ceph_volume/terminal.py", line 194, in dispatch
instance.main()
File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/migrate.py", line 520, in main
self.migrate_osd()
File "/usr/lib/python3.6/site-packages/ceph_volume/decorators.py", line 16, in is_root
return func(*a, **kw)
File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/migrate.py", line 403, in migrate_osd
if self.args.osd_id:
AttributeError: 'Migrate' object has no attribute 'args'
That's because we're exiting the parse_argv function but we continue to
execute the migrate_osd function. We should instead exit from the main function.
This update the parsing argument to have the same code than new-db and
new-wal classes.
Now the parsing is done in the make_parser function but the argv testing is
done in the main function allowing to exit the program and displaying the
help message when no arguments are provided.
Fixes: https://tracker.ceph.com/issues/51811
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
Sebastian Wagner [Wed, 8 Sep 2021 13:40:03 +0000 (15:40 +0200)]
Merge pull request #42859 from mgfritch/cephadm-check-host-no-engine
mgr/cephadm: show unhandled exceptions during host add
Reviewed-by: Adam King <adking@redhat.com>
Sebastian Wagner [Wed, 8 Sep 2021 13:39:38 +0000 (15:39 +0200)]
Merge pull request #42989 from sebastian-philipp/post-remove-osd-key-missing
mgr/cephadm: Add OSDService.post_remove()
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Sage Weil <sage@newdream.net>
Sebastian Wagner [Wed, 8 Sep 2021 13:39:07 +0000 (15:39 +0200)]
Merge pull request #43010 from mgfritch/cephadm-log-thread-ident
cephadm: add thread ident to log messages
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Juan Miguel Olmo MartÃnez <jolmomar@redhat.com>
Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
Guillaume Abrioux [Wed, 8 Sep 2021 11:34:41 +0000 (13:34 +0200)]
Merge pull request #43048 from dsavineau/ceph_volume_lvm_migrate_no_systemd
ceph-volume: support no_systemd with lvm migrate
Guillaume Abrioux [Wed, 8 Sep 2021 11:27:04 +0000 (13:27 +0200)]
Merge pull request #43051 from dsavineau/ceph_volume_lvm_migrate_docs
doc/ceph-volume: add lvm migrate/new-db/new-wal
Guillaume Abrioux [Wed, 8 Sep 2021 11:12:29 +0000 (13:12 +0200)]
Merge pull request #43050 from dsavineau/fix_raw_list_with_lsblk
ceph-volume: fix raw list with logical partition
Ilya Dryomov [Sat, 4 Sep 2021 11:49:09 +0000 (13:49 +0200)]
librbd: drop ValidatePoolRequest::m_op_work_queue
It is unused now.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Sat, 4 Sep 2021 10:59:07 +0000 (12:59 +0200)]
librbd: fix pool validation lockup
Concurrent rbd_pool_init() or rbd_create() operations on an unvalidated
(uninitialized) pool trigger a lockup in ValidatePoolRequest state
machine caused by blocking selfmanaged_snap_{create,remove}() calls.
There are two reactor threads by default (librados_thread_count) but we
effectively need N + 1 reactor threads for N concurrent pool validation
requests, especially for small N.
Switch to aio_selfmanaged_snap_{create,remove}(). At the time this
code was initially written, these aio variants weren't available. The
workqueue offload introduced later worked prior to the move to asio in
pacific.
Fixes: https://tracker.ceph.com/issues/52537
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Wed, 8 Sep 2021 09:15:18 +0000 (11:15 +0200)]
Merge pull request #43006 from CongMinYin/fix-assert-in-handle_flushed_sync_point
librbd/cache/pwl: don't clear next_sync_point_entry prematurely
Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov [Wed, 8 Sep 2021 08:50:20 +0000 (10:50 +0200)]
Merge pull request #43074 from wangshuaich/rbd-children-crash-fix
librbd: fix use-after-free on ictx in list_descendants()
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Lucian Petrut [Tue, 7 Sep 2021 14:42:39 +0000 (14:42 +0000)]
doc/rbd: describe Hyper-V disk addressing limitations
Hyper-V identifies passthrough VM disks by number instead of SCSI ID, although
the disk number can change across host reboots. This means that the VMs can end
up using incorrect disks after rebooting the host, which is an important
security concern. This issue also affects iSCSI and Fibre Channel disks.
We're going to document this Hyper-V limitation along with possible
workarounds.
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
Xuehan Xu [Fri, 3 Sep 2021 15:19:28 +0000 (23:19 +0800)]
crimson/os/seastore: better debug outputs
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Fri, 3 Sep 2021 15:17:12 +0000 (23:17 +0800)]
crimson/os/seastore: allow getting empty delta from omap extents
there are chances that a transaction gets invalidated after some of
its extents have their delta prepared.
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 31 Aug 2021 03:26:31 +0000 (11:26 +0800)]
crimson/os/seastore: add ExtentIndex::clear_and_dispose
When a transaction is interrupted and needs to repeat, its reset_preserve_handle() method
is called to clear various extent set and list. The problem is the clear operation call
ExtentIndex::clear() instead of ExtentIndex::erase(), which would leave CachedExtent::parent_index
still pointing to the write_set/delayed_set while the CachedExtent is no longer linked to
those sets. This would make CachedExtent::~CachedExtent() to try to erase itself from
CachedExtent::parent_index even it's not linked, which would cause failures in the successive
operations
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 10 Aug 2021 04:47:12 +0000 (12:47 +0800)]
crimson/store_nbd: involve the extent placement manager and the scanner
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 27 Jul 2021 15:00:56 +0000 (23:00 +0800)]
crimson/os/seastore: make fresh extents go though the extent placement manager
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Fri, 13 Aug 2021 13:57:48 +0000 (21:57 +0800)]
crimson/os/seastore: deal with transaction conflicts when doing mkfs
Cleaner transactions can conflict with mkfs transactions, retry mkfs transactions
when that happens
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Fri, 13 Aug 2021 13:57:27 +0000 (21:57 +0800)]
crimson/os/seastore: set journal_tail_target during replay
This is a bug fix, otherwise if crimson-osd boot up multiple times without
filling up more than one segment, segments may be used up and can't be
reclaimed as they would have the same journal tail
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Fri, 13 Aug 2021 13:51:10 +0000 (21:51 +0800)]
crimson/os/seastore: set root block to clean at the initialization phase
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 27 Jul 2021 13:00:31 +0000 (21:00 +0800)]
crimson/os/seastore: exclude ool extents from the judgement is_in_journal
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Sun, 25 Jul 2021 12:25:48 +0000 (20:25 +0800)]
crimson/os/seastore: use extent placement manager to rewrite extents
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Fri, 23 Jul 2021 12:39:49 +0000 (20:39 +0800)]
crimson/os/seastore: refactor extent rewrite procedure
Move logical extents' rewrite from LBManager to TransactionManager
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Mon, 14 Jun 2021 11:49:14 +0000 (19:49 +0800)]
crimson: add tracing mode for crimson-osd
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Mon, 19 Jul 2021 07:38:12 +0000 (15:38 +0800)]
crimson/os/seastore: add Scanner to scan extents
As there will be two kinds of segments to be scanned, those created by the journal
and those created by the extent placement manager. We need a common module to scan
extents of both of these two kinds of segments
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Thu, 10 Jun 2021 06:21:39 +0000 (14:21 +0800)]
crimson/os/seastore: add extent placement manager
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Wed, 1 Sep 2021 07:33:02 +0000 (15:33 +0800)]
crimson/common: a new condition variable
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Wed, 21 Jul 2021 08:48:50 +0000 (16:48 +0800)]
crimson/os/seastore: extract record related code into seastore_types.{h,cc}
Extent Placement Manager will be using record too.
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Xuehan Xu [Tue, 18 May 2021 07:27:05 +0000 (15:27 +0800)]
crimson/os/seastore: move JournalSegmentProvider to SegmentProvider
This provider will serve not only for the journal, but also the extent placement
manager from now on.
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
Samuel Just [Wed, 8 Sep 2021 02:38:32 +0000 (19:38 -0700)]
Merge pull request #43084 from athanatos/sjust/wip-lba-pin
crimson/seastore: lba pin debugging and fix
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Samuel Just [Wed, 8 Sep 2021 02:38:09 +0000 (19:38 -0700)]
Merge pull request #43083 from athanatos/sjust/wip-52532
crimson/os/seastore/.../lba_btree: fix handle_split internal nodes
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Jianpeng Ma [Wed, 8 Sep 2021 01:51:19 +0000 (09:51 +0800)]
librbd: Read request need exclusive-lock when enable pwl-cache.
TestLibRBD.TestFUA descript the following workload:
a)write/read the same image w/ pwl-cache
write_image = open(image_name);
read_image = open(image_name);
b)i/o workload is:
write(write_image)
write need EXLock and require EXLOCK
read(read_image)
in ExclusiveLock<I>::init(), firstly read need EXLOCK
so will require EXLOCK. write_image release EXLOCK(will
flush data to osd and remove cache). read_image init pwl-cache
and read-io firstly enter pwl-cache and missed and then read
from osd.
write(write_image)
write need EXLOCK and require EXLOCK. This make read_image remove
empty cache. write_image init cache pool and write data to cache.
read(read_image)
In send_set_require_lock(), it set write need EXLOCK.
So read don't require EXLOCK and dirtyly read from osd.
Because second-read don't need EXLOCK and make write_image don't
release EXLOCK(flush dirty data to osd and shutdown pwl-cache).
This make second-read don't read the latest data.
So we should make read also need EXLOCK when enable pwl-cache.
Fixes: https://tracker.ceph.com/issues/51438
Tested-by: Feng Hualong <hualong.feng@intel.com>
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Samuel Just [Wed, 8 Sep 2021 01:25:55 +0000 (18:25 -0700)]
Merge pull request #43066 from rzarzynski/wip-crimson-fatal-reraise
crimson/common: explicitly reraise handled signal in FatalSignal
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Samuel Just [Thu, 2 Sep 2021 23:13:46 +0000 (16:13 -0700)]
crimson/os/seastore/transaction_manager: add logging for invalid pin
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Thu, 2 Sep 2021 23:13:12 +0000 (16:13 -0700)]
crimson/os/seastore/transaction_manager: pin may not match unless paddr does
The same laddr might be reallocated with a different size.
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 31 Aug 2021 04:14:07 +0000 (21:14 -0700)]
crimson/os/seastore/lba_manager: improve add_pin debugging
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 7 Sep 2021 22:59:08 +0000 (22:59 +0000)]
crimson/os/seastore/.../lba_btree: fix handle_split internal nodes
Internal node pointers aren't actually allowed to point to end() -- that's
specific to the leaf pointer.
Fixes: https://tracker.ceph.com/issues/52532
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 7 Sep 2021 23:29:44 +0000 (16:29 -0700)]
crimson/tools/store_nbd/fs_driver: fix FuturizedStore::create() call
Introduced:
8ec97762c4809c25d3b38ac15b942dfd710e3d29
Signed-off-by: Samuel Just <sjust@redhat.com>
Samuel Just [Tue, 7 Sep 2021 23:01:23 +0000 (16:01 -0700)]
crimson/os/seastore/.../lba_btree: clarify handle_split, find_insertion comments
Signed-off-by: Samuel Just <sjust@redhat.com>
Ilya Dryomov [Tue, 7 Sep 2021 19:01:51 +0000 (21:01 +0200)]
librbd: report correct error for ictx->state->close()
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Wang ShuaiChao [Tue, 7 Sep 2021 08:43:11 +0000 (16:43 +0800)]
librbd: fix use-after-free on ictx in list_descendants()
Ictx is deleted when "ictx->state->open()" and "ictx->state->close()"
fail, and then "lderr(ictx->cct)" crashes.
Fixes: https://tracker.ceph.com/issues/52522
Signed-off-by: Wang ShuaiChao <wangshuaich@chinatelecom.cn>
Ilya Dryomov [Tue, 7 Sep 2021 16:15:14 +0000 (18:15 +0200)]
Merge pull request #43070 from krunerge/fix-children-list-log-text
cls/rbd: fix log text for children list
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Kefu Chai [Tue, 7 Sep 2021 15:36:37 +0000 (23:36 +0800)]
Merge pull request #43067 from tchaikov/wip-crimson-alien
crimson/osd: use reactor::alien to send message to alien
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Guillaume Abrioux [Tue, 7 Sep 2021 14:30:17 +0000 (16:30 +0200)]
ceph-volume: check trailing whitespaces with flake8
Let's use flake8 in order to check there's no trailing whitespaces in
future PRs.
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Guillaume Abrioux [Mon, 6 Sep 2021 12:21:55 +0000 (14:21 +0200)]
ceph-volume: remove trailing spaces in code
This commit removes all trailing white spaces in ceph-volume code.
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Kefu Chai [Tue, 7 Sep 2021 13:54:53 +0000 (21:54 +0800)]
Merge pull request #42933 from p-se/mgr-prom-disable-cache
mgr/prometheus: offer ability to disable cache
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>