]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agoMerge pull request #42555 from hualongfeng/retire_error_change
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>
3 years agoMerge pull request #43038 from majianpeng/librbd-pwl-exclusive-lock
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>
3 years agolibrbd/cache/pwl/ssd: remove correct m_blocks_to_log_entries entry 42555/head
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>
3 years agoMerge pull request #43143 from sebastian-philipp/further-reading
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>
3 years agoMerge pull request #41869 from ronen-fr/wip-ronenf-fmt-scrub
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>
3 years agoMerge pull request #43056 from Matan-B/wip-matanb-scrub-passkey
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>
3 years agoMerge pull request #42684 from ronen-fr/wip-ronenf-scrub-token
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>
3 years agodoc/cephadm: Add lots of links to other chapters 43143/head
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>
3 years agoMerge pull request #43134 from ceph/debhelpermerged
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>
3 years agodebian/control: dh-systemd is part of debhelper now 43134/head
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>
3 years agoMerge pull request #43104 from ceph/e2e-tests-documentation
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>
3 years agoMerge pull request #43053 from a16bitsysop/fsevents
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>
3 years agoMerge pull request #42984 from majianpeng/pwl-ssd-race-bug
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>
3 years agoMerge pull request #42883 from majianpeng/pwl-ssd-calc-allocated-bug
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>
3 years agoMerge pull request #43124 from xxhdx1985126/wip-om-log-fix
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>
3 years agocrimson/os/seastore: fix some debug outputs in omap manager 43124/head
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>
3 years agoMerge pull request #43108 from xxhdx1985126/wip-epm-roll-leak
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>
3 years agoMerge pull request #43118 from rzarzynski/wip-crimson-assert-v2-on-bind
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>
3 years agodoc/dev: specify location of e2e-tests script 43104/head
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>
3 years agoMerge pull request #42912 from dsavineau/ceph_volume_lvm_active_no_systemd
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

3 years agoMerge pull request #43013 from rzarzynski/wip-msg-const-features_supported
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>
3 years agoMerge pull request #42853 from sseshasa/wip-fix-vstart-mon-permissions
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>
3 years agocrimson/net: assert the address is v2 on attempt to bind. 43118/head
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>
3 years agoMerge pull request #43014 from dsavineau/ceph_volume_lvm_active_id_fsid_mandatory
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

3 years agoMerge pull request #43079 from petrutlucian94/hv_addr_doc
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>
3 years agoMerge pull request #43086 from idryomov/wip-rbd-validate-pool-async
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>
3 years agoMerge pull request #43107 from SUSE/wip-fix-52553
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>
3 years agoMerge pull request #43042 from dsavineau/ceph_volume_lvm_migrate_args
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

3 years agocrimson/os/seastore: fix epm rolling_segment leak when the transaction is interrupted 43108/head
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>
3 years agocrimson/os/seastore: better epm output
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>
3 years agoosd: Replacing friend declerations for passkey interface 43056/head
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>
3 years agopybind/rados: don't close watch in dealloc if already closed 43107/head
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>
3 years agoMerge pull request #41803 from xxhdx1985126/wip-extent-placement-manager-2
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>
3 years agoMerge pull request #43105 from liu-chunmei/clean-alien-in-store-nbd
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>
3 years agocrimson/tools: clean alien in store-nbd 43105/head
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>
3 years agoMerge pull request #42604 from sseshasa/wip-skip-osd-benchmark
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>
3 years agoMerge pull request #43052 from dsavineau/ceph_volume_lvm_deactive_remove_all_arg
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

3 years agoMerge pull request #43045 from sebastian-philipp/qa-tox-import-yaml
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>
3 years agoceph-volume: fix lvm migrate without args 43042/head
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>
3 years agoMerge pull request #42859 from mgfritch/cephadm-check-host-no-engine
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>
3 years agoMerge pull request #42989 from sebastian-philipp/post-remove-osd-key-missing
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>
3 years agoMerge pull request #43010 from mgfritch/cephadm-log-thread-ident
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>
3 years agoMerge pull request #43048 from dsavineau/ceph_volume_lvm_migrate_no_systemd
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

3 years agoMerge pull request #43051 from dsavineau/ceph_volume_lvm_migrate_docs
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

3 years agoMerge pull request #43050 from dsavineau/fix_raw_list_with_lsblk
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

3 years agolibrbd: drop ValidatePoolRequest::m_op_work_queue 43086/head
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>
3 years agolibrbd: fix pool validation lockup
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>
3 years agoMerge pull request #43006 from CongMinYin/fix-assert-in-handle_flushed_sync_point
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>
3 years agoMerge pull request #43074 from wangshuaich/rbd-children-crash-fix
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>
3 years agodoc/rbd: describe Hyper-V disk addressing limitations 43079/head
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>
3 years agocrimson/os/seastore: better debug outputs 41803/head
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>
3 years agocrimson/os/seastore: allow getting empty delta from omap extents
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>
3 years agocrimson/os/seastore: add ExtentIndex::clear_and_dispose
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>
3 years agocrimson/store_nbd: involve the extent placement manager and the scanner
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>
3 years agocrimson/os/seastore: make fresh extents go though the extent placement manager
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>
3 years agocrimson/os/seastore: deal with transaction conflicts when doing mkfs
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>
3 years agocrimson/os/seastore: set journal_tail_target during replay
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>
3 years agocrimson/os/seastore: set root block to clean at the initialization phase
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>
3 years agocrimson/os/seastore: exclude ool extents from the judgement is_in_journal
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>
3 years agocrimson/os/seastore: use extent placement manager to rewrite extents
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>
3 years agocrimson/os/seastore: refactor extent rewrite procedure
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>
3 years agocrimson: add tracing mode for crimson-osd
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>
3 years agocrimson/os/seastore: add Scanner to scan extents
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>
3 years agocrimson/os/seastore: add extent placement manager
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>
3 years agocrimson/common: a new condition variable
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>
3 years agocrimson/os/seastore: extract record related code into seastore_types.{h,cc}
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>
3 years agocrimson/os/seastore: move JournalSegmentProvider to SegmentProvider
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>
3 years agoMerge pull request #43084 from athanatos/sjust/wip-lba-pin
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>
3 years agoMerge pull request #43083 from athanatos/sjust/wip-52532
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>
3 years agolibrbd: Read request need exclusive-lock when enable pwl-cache. 43038/head
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>
3 years agoMerge pull request #43066 from rzarzynski/wip-crimson-fatal-reraise
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>
3 years agocrimson/os/seastore/transaction_manager: add logging for invalid pin 43084/head
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>
3 years agocrimson/os/seastore/transaction_manager: pin may not match unless paddr does
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>
3 years agocrimson/os/seastore/lba_manager: improve add_pin debugging
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>
3 years agocrimson/os/seastore/.../lba_btree: fix handle_split internal nodes 43083/head
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>
3 years agocrimson/tools/store_nbd/fs_driver: fix FuturizedStore::create() call
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>
3 years agocrimson/os/seastore/.../lba_btree: clarify handle_split, find_insertion comments
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>
3 years agolibrbd: report correct error for ictx->state->close() 43074/head
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>
3 years agolibrbd: fix use-after-free on ictx in list_descendants()
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>
3 years agoMerge pull request #43070 from krunerge/fix-children-list-log-text
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>
3 years agoMerge pull request #43067 from tchaikov/wip-crimson-alien
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>
3 years agoMerge pull request #42933 from p-se/mgr-prom-disable-cache
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>
3 years agocrimson/osd: use reactor::alien to send message to alien 43067/head
Kefu Chai [Mon, 6 Sep 2021 16:31:27 +0000 (00:31 +0800)]
crimson/osd: use reactor::alien to send message to alien

simpler this way.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoseastar: pick up change to add reactor::alien()
Kefu Chai [Mon, 6 Sep 2021 16:21:26 +0000 (00:21 +0800)]
seastar: pick up change to add reactor::alien()

so we don't need to pass the reference to alien all the way down to
AlienStore.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoceph-volume: test the lsblk command in list.py 43050/head
Guillaume Abrioux [Tue, 7 Sep 2021 13:38:33 +0000 (15:38 +0200)]
ceph-volume: test the lsblk command in list.py

Let's test we use the expected args when we build the `lsblk` command
to list the devices present on the node.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoceph-volume: fix raw list with logical partition
Dimitri Savineau [Fri, 3 Sep 2021 18:24:48 +0000 (14:24 -0400)]
ceph-volume: fix raw list with logical partition

This is a regression introduced by 9212420, when the host is using a
logical partition then lsblk reports that partition as a child from the
physical device.
That logical partition is prefixed by the `└─` character.

This leads the `raw list` subcommand to show the lsblk error on the stderr.

```
$ ceph-volume raw list
{}
 stderr: lsblk: `-/dev/sda1: not a block device
```

The lsblk command output looks like:

```
$ lsblk --paths --output=NAME --noheadings
/dev/sda
└─/dev/sda1
/dev/sdb
/dev/sdc
/dev/sdd
```

Using the `--list` option with lsblk solves the issue.

```
$ lsblk --list --paths --output=NAME --noheadings
/dev/sda
/dev/sda1
/dev/sdb
/dev/sdc
/dev/sdd
```

Fixes: https://tracker.ceph.com/issues/52504
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
3 years agoMerge PR #43017 into master
Patrick Donnelly [Tue, 7 Sep 2021 12:56:36 +0000 (08:56 -0400)]
Merge PR #43017 into master

* refs/pull/43017/head:
doc: fix typos

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 years agoMerge pull request #43009 from fengjiankui121/pvs_repair
Guillaume Abrioux [Tue, 7 Sep 2021 11:23:16 +0000 (13:23 +0200)]
Merge pull request #43009 from fengjiankui121/pvs_repair

ceph-volume: pvs --noheadings replace pvs --no-heading

3 years agoqa: tox.ini: verify yaml syntax 43045/head
Sebastian Wagner [Fri, 3 Sep 2021 16:06:34 +0000 (18:06 +0200)]
qa: tox.ini: verify yaml syntax

Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
3 years agoosd: use fmtlib formatting for some OSD objects 41869/head
Ronen Friedman [Fri, 3 Sep 2021 05:00:23 +0000 (05:00 +0000)]
osd: use fmtlib formatting for some OSD objects

testing the newly added formatters.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agoosd: add fmtlib formatting for some OSD types
Ronen Friedman [Tue, 15 Jun 2021 09:20:31 +0000 (12:20 +0300)]
osd: add fmtlib formatting for some OSD types

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
3 years agocls/rbd: fix log text for children list 43070/head
krunerge [Tue, 7 Sep 2021 02:13:28 +0000 (10:13 +0800)]
cls/rbd: fix log text for children list

Signed-off-by: krunerge <krunerge@tencent.com>
3 years agolibrbd/cache/pwl/ssd: Remove unused parameter. 42984/head
Jianpeng Ma [Tue, 7 Sep 2021 02:19:55 +0000 (10:19 +0800)]
librbd/cache/pwl/ssd: Remove unused parameter.

Met the following compiler warning message:
>[38/80] Building CXX object
src/librbd/CMakeFiles/librbd_plugin_pwl_cache.dir/cache/pwl/ssd/WriteLog.cc.o
>../src/librbd/cache/pwl/ssd/WriteLog.cc:37:25: warning: unused variable
'ops_appended_together' [-Wunused-const-variable]
>const unsigned long int ops_appended_together = MAX_WRITES_PER_SYNC_POINT;

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
3 years agolibrbd/cache/pwl/ssd: Remove useless locks.
Jianpeng Ma [Tue, 7 Sep 2021 02:14:52 +0000 (10:14 +0800)]
librbd/cache/pwl/ssd: Remove useless locks.

Return a reference don't need by lock protect.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
3 years agolibrbd/cache/pwl/ssd: Fix a race between get_cache_bl() and remove_cache_bl()
Jianpeng Ma [Tue, 7 Sep 2021 02:00:53 +0000 (10:00 +0800)]
librbd/cache/pwl/ssd: Fix a race between get_cache_bl() and remove_cache_bl()

In fact, although in get_cache_bl it use lock to protect, it can't
protect function "list& operator= (const list& other)".
So we should use copy_cache_bl.

Fixes: https://tracker.ceph.com/issues/52400
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
3 years agoMerge PR #42529 into master
Patrick Donnelly [Mon, 6 Sep 2021 18:00:41 +0000 (14:00 -0400)]
Merge PR #42529 into master

* refs/pull/42529/head:
qa: verify rank 0 does not fail during journal repair tests
qa: avoid stopping/restarting mds in journal repair tests

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #43065 from tchaikov/wip-doc-build
Kefu Chai [Mon, 6 Sep 2021 15:16:36 +0000 (23:16 +0800)]
Merge pull request #43065 from tchaikov/wip-doc-build

admin/doc-requirements: use funcparserlib from github

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agoMerge pull request #42919 from sebastian-philipp/cephadm-async-close-conn
Kefu Chai [Mon, 6 Sep 2021 14:53:25 +0000 (22:53 +0800)]
Merge pull request #42919 from sebastian-philipp/cephadm-async-close-conn

mgr/cephadm: Also make ssh._reset_con async

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Melissa Li <li.melissa.kun@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #42992 from ifed01/wip-ifed-fix-migrate
Kefu Chai [Mon, 6 Sep 2021 14:50:20 +0000 (22:50 +0800)]
Merge pull request #42992 from ifed01/wip-ifed-fix-migrate

os/bluestore: fix bluefs migrate command

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
3 years agocrimson/common: explicitly reraise handled signal in FatalSignal. 43066/head
Radoslaw Zarzynski [Mon, 6 Sep 2021 14:39:19 +0000 (14:39 +0000)]
crimson/common: explicitly reraise handled signal in FatalSignal.

Over the current approach where we just reset the handler to
default and allow CPU to re-execute the segfaulting instruction,
the explicit `::reraise()` is:
1. immune to a race condition if muliple threads run into
   troubles the same time;
2. easier to understand and similar to the classic OSD.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>