]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agoceph-volume: fix is_ceph_disk_member() 47167/head
Guillaume Abrioux [Tue, 26 Jul 2022 14:24:31 +0000 (16:24 +0200)]
ceph-volume: fix is_ceph_disk_member()

`dev['NAME']` can't match `part` given that it's the name of the
parent device being compared to the partition name.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2 years agoceph-volume: filter out non-existing devices
Guillaume Abrioux [Mon, 25 Jul 2022 15:19:01 +0000 (17:19 +0200)]
ceph-volume: filter out non-existing devices

[1] has broken teuthology tests.

```
[root@smithi097 /]# ls -l /sys/block/
total 0
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-1 -> ../devices/virtual/block/dm-1
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-2 -> ../devices/virtual/block/dm-2
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-3 -> ../devices/virtual/block/dm-3
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-4 -> ../devices/virtual/block/dm-4
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop2 -> ../devices/virtual/block/loop2
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop3 -> ../devices/virtual/block/loop3
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop4 -> ../devices/virtual/block/loop4
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop5 -> ../devices/virtual/block/loop5
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop6 -> ../devices/virtual/block/loop6
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop7 -> ../devices/virtual/block/loop7
lrwxrwxrwx 1 root root 0 Jul 25 14:12 nvme0n1 -> ../devices/pci0000:00/0000:00:02.0/0000:02:00.0/nvme/nvme0/nvme0n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme1c1n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme1/nvme1c1n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme1n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys1/nvme1n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme2c2n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme2/nvme2c2n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme2n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys2/nvme2n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme3c3n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme3/nvme3c3n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme3n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys3/nvme3n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme4c4n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme4/nvme4c4n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme4n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys4/nvme4n1
lrwxrwxrwx 1 root root 0 Jul 25 14:12 sda -> ../devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block/sda
[root@smithi097 /]#
```

devices like `nvme1c1n1` exist in `/sys/block` but aren't present in `/dev`

```
[root@smithi097 /]# ls -l /dev/nvme*
crw------- 1 root root  10, 122 Jul 25 14:16 /dev/nvme-fabrics
crw------- 1 root root 240,   0 Jul 25 14:12 /dev/nvme0
brw-rw---- 1 root disk 259,   0 Jul 25 14:15 /dev/nvme0n1
crw------- 1 root root 240,   1 Jul 25 14:16 /dev/nvme1
brw-rw---- 1 root disk 259,   2 Jul 25 15:24 /dev/nvme1n1
crw------- 1 root root 240,   2 Jul 25 14:16 /dev/nvme2
brw-rw---- 1 root disk 259,   4 Jul 25 15:24 /dev/nvme2n1
crw------- 1 root root 240,   3 Jul 25 14:16 /dev/nvme3
brw-rw---- 1 root disk 259,   6 Jul 25 15:24 /dev/nvme3n1
crw------- 1 root root 240,   4 Jul 25 14:16 /dev/nvme4
brw-rw---- 1 root disk 259,   8 Jul 25 15:24 /dev/nvme4n1
[root@smithi097 /]#
```

If a device isn't actually present in `/dev`, `get_block_devs_sysfs()` shouldn't return it.

[1] https://github.com/ceph/ceph/commit/c7f017b21ade3762ba5b7b9688bed72c6b6

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2 years agoceph-volume: drop `ceph-bluestore-tool` call in Device._parse()
Guillaume Abrioux [Mon, 18 Jul 2022 14:54:17 +0000 (14:54 +0000)]
ceph-volume: drop `ceph-bluestore-tool` call in Device._parse()

disk.has_bluestore_label() does the same thing without a subprocess call.

Fixes: https://tracker.ceph.com/issues/56622
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2 years agoMerge pull request #47168 from guits/get-devices-vgs-per-dev
Guillaume Abrioux [Tue, 26 Jul 2022 07:56:32 +0000 (09:56 +0200)]
Merge pull request #47168 from guits/get-devices-vgs-per-dev

ceph-volume: do not call get_device_vgs() per devices

2 years agoMerge pull request #47239 from cyx1231st/wip-seastore-cleaner-alloc-trim
Yingxin [Tue, 26 Jul 2022 07:18:22 +0000 (15:18 +0800)]
Merge pull request #47239 from cyx1231st/wip-seastore-cleaner-alloc-trim

crimson/os/seastore: cleanups and improvements to trimming

Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2 years agoMerge pull request #46554 from adamemerson/wip-up-the-boost
Kefu Chai [Mon, 25 Jul 2022 23:39:10 +0000 (07:39 +0800)]
Merge pull request #46554 from adamemerson/wip-up-the-boost

build: Bump Boost version to 1.79

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47003 from liu-chunmei/seastore-list-objects
Liu-Chunmei [Mon, 25 Jul 2022 23:14:59 +0000 (16:14 -0700)]
Merge pull request #47003 from liu-chunmei/seastore-list-objects

crimson/seastore: fix list objects

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #47217 from tchaikov/wip-ntstatus
Kefu Chai [Mon, 25 Jul 2022 22:56:36 +0000 (06:56 +0800)]
Merge pull request #47217 from tchaikov/wip-ntstatus

common/win32,dokan: include bcrypt.h for NTSTATUS

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2 years agoMerge pull request #47164 from Dazul/add-config-availability-drive-group
Adam King [Mon, 25 Jul 2022 20:19:33 +0000 (16:19 -0400)]
Merge pull request #47164 from Dazul/add-config-availability-drive-group

mgr/cephadm: add parsing for config on osd specs

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #47120 from yehudasa/wip-56576
Casey Bodley [Mon, 25 Jul 2022 19:49:07 +0000 (15:49 -0400)]
Merge pull request #47120 from yehudasa/wip-56576

rgw: bucket sync: fetch source bucket info

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #47083 from cbodley/wip-rgw-sysobjctx-rm
Casey Bodley [Mon, 25 Jul 2022 19:03:35 +0000 (15:03 -0400)]
Merge pull request #47083 from cbodley/wip-rgw-sysobjctx-rm

rgw: sysobj service cleanup

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2 years agoMerge pull request #35870 from soumyakoduri/json_fix
Casey Bodley [Mon, 25 Jul 2022 16:17:58 +0000 (12:17 -0400)]
Merge pull request #35870 from soumyakoduri/json_fix

JSONFormattable incorrectly sets a string starting with digit as int

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2 years agoMerge pull request #47255 from tchaikov/wip-fmt-containers
Kefu Chai [Mon, 25 Jul 2022 15:41:03 +0000 (23:41 +0800)]
Merge pull request #47255 from tchaikov/wip-fmt-containers

include/types_fmt: use fmt::join() to format containers

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
2 years agocrimson/os/seastore/async_cleaner: fix and improve update_journal_tails() 47239/head
Yingxin Cheng [Mon, 25 Jul 2022 08:28:42 +0000 (16:28 +0800)]
crimson/os/seastore/async_cleaner: fix and improve update_journal_tails()

* Accept JOURNAL_SEQ_NULL dirty_tail when it is pending.
* Enforce monotone increasing to the journal tails.
* Enforce journal tails to be always behind the journal head.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore/cache: add logs to debug alloc_tail trimming
Yingxin Cheng [Mon, 25 Jul 2022 08:26:09 +0000 (16:26 +0800)]
crimson/os/seastore/cache: add logs to debug alloc_tail trimming

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #47256 from anthonyeleven/anthonyeleven/how-to-fix-pg-autoscaler...
Anthony D'Atri [Mon, 25 Jul 2022 14:17:18 +0000 (07:17 -0700)]
Merge pull request #47256 from anthonyeleven/anthonyeleven/how-to-fix-pg-autoscaler-empty-output

doc/radosgw/operations: Document how to fix empty autoscale-status output

2 years agoinclude/types_fmt: use fmt::join() to format containers 47255/head
Kefu Chai [Sun, 24 Jul 2022 16:16:33 +0000 (00:16 +0800)]
include/types_fmt: use fmt::join() to format containers

* add formatter for classes with stream insertion operator.
  as in fmtlib v6.1.2, which is the one shipped with ubuntu focal,
  fmt::join() requires the printed element to have formatter.
  see https://github.com/fmtlib/fmt/issues/2040 and
  https://github.com/fmtlib/fmt/issues/1462
* use template parameter pack to represent container template argument,
  simpler this way. also, this enables us to print specialized
  classes which uses non-default template parameters.
* use fmt::join() to print container elements. see also
  https://fmt.dev/latest/api.html#_CPPv4I0EN3fmt4joinE9join_viewIN6detail10iterator_tI5RangeEEN6detail10sentinel_tI5RangeEEERR5Range11string_view

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agofmt: pickup v8.1.1
Kefu Chai [Mon, 25 Jul 2022 12:42:58 +0000 (20:42 +0800)]
fmt: pickup v8.1.1

update fmt submodule so we can use fmt::join() without defining
formatter specialization for types which already have `operator<<()`.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocmake: disable FMT_USE_TZSET for WIN32
Kefu Chai [Mon, 25 Jul 2022 13:57:57 +0000 (21:57 +0800)]
cmake: disable FMT_USE_TZSET for WIN32

otherwise we'd have following FTBFS with MinGW, like:

../src/fmt/include/fmt/chrono.h: In lambda function:
../src/fmt/include/fmt/chrono.h:952:5: error: '_tzset' was not declared
in this scope; did you mean 'tzset'?
  952 |     _tzset();
      |     ^~~~~~
      |     tzset

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocmake: bump up required fmt version
Kefu Chai [Mon, 25 Jul 2022 12:23:14 +0000 (20:23 +0800)]
cmake: bump up required fmt version

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/os/seastore/cache: write cleaner dirty tail if the oldest dirty extent is...
Yingxin Cheng [Mon, 25 Jul 2022 08:20:04 +0000 (16:20 +0800)]
crimson/os/seastore/cache: write cleaner dirty tail if the oldest dirty extent is still pending

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: drop journal_seq_t NO_DELTAS
Yingxin Cheng [Mon, 25 Jul 2022 05:35:37 +0000 (13:35 +0800)]
crimson/os/seastore: drop journal_seq_t NO_DELTAS

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: improve logs
Yingxin Cheng [Mon, 25 Jul 2022 05:22:32 +0000 (13:22 +0800)]
crimson/os/seastore: improve logs

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agodoc/radosgw/operations: Document how to fix empty autoscale-status output 47256/head
Anthony D'Atri [Mon, 25 Jul 2022 03:14:02 +0000 (20:14 -0700)]
doc/radosgw/operations: Document how to fix empty autoscale-status output

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 years agoMerge pull request #47014 from ktdreyer/no-system-pmdk-s390x
Ilya Dryomov [Sun, 24 Jul 2022 07:37:55 +0000 (09:37 +0200)]
Merge pull request #47014 from ktdreyer/no-system-pmdk-s390x

ceph.spec.in: disable system_pmdk on s390x

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #47242 from idryomov/wip-56676
Ilya Dryomov [Sat, 23 Jul 2022 09:33:47 +0000 (11:33 +0200)]
Merge pull request #47242 from idryomov/wip-56676

librbd: tweak misleading "image is still primary" error message

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2 years agocrimson/test: add more list_objects test in test_seastore 47003/head
chunmei-liu [Sat, 16 Jul 2022 06:09:42 +0000 (23:09 -0700)]
crimson/test: add more list_objects test in test_seastore

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agocrimson/seastore: fix test_seastore
chunmei-liu [Fri, 8 Jul 2022 08:52:09 +0000 (01:52 -0700)]
crimson/seastore: fix test_seastore

collection default has pool(0), and NO_SHARD,
so the ghobject_t should have the same setting.
and ghobject_t default hash not within 1<<(32-4),
so set collection bits to be 0.

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
2 years agocrimson/seastore: fix list_onodes bug
chunmei-liu [Fri, 15 Jul 2022 05:16:27 +0000 (22:16 -0700)]
crimson/seastore: fix list_onodes bug

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
2 years agocrimson/seastore: calculate list_objects ranges by coll_range_(temp)_start/end
chunmei-liu [Wed, 6 Jul 2022 09:10:39 +0000 (02:10 -0700)]
crimson/seastore: calculate list_objects ranges by coll_range_(temp)_start/end

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #46711 from 5cs/fix-backoff-retries
J. Eric Ivancich [Fri, 22 Jul 2022 18:39:22 +0000 (14:39 -0400)]
Merge pull request #46711 from 5cs/fix-backoff-retries

rgwlc: fix backoff retries counter

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
3 years agoMerge pull request #47005 from 5cs/fix-rm-LCEntry
J. Eric Ivancich [Fri, 22 Jul 2022 18:38:11 +0000 (14:38 -0400)]
Merge pull request #47005 from 5cs/fix-rm-LCEntry

rgwlc: fix removing LCEntry

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
3 years agoMerge pull request #47078 from Huber-ming/nonexists_noaccounted
J. Eric Ivancich [Fri, 22 Jul 2022 18:37:41 +0000 (14:37 -0400)]
Merge pull request #47078 from Huber-ming/nonexists_noaccounted

cls_rgw: nonexists object shoud not be accounted when check_index

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
3 years agoMerge pull request #47229 from kotreshhr/mgr-legacy-to-upgrade-config-fix
David Galloway [Fri, 22 Jul 2022 17:42:27 +0000 (13:42 -0400)]
Merge pull request #47229 from kotreshhr/mgr-legacy-to-upgrade-config-fix

  mgr/volumes: Fix subvolume discover during upgrade

3 years agoMerge pull request #47244 from ceph/fix-release-order
David Galloway [Fri, 22 Jul 2022 16:18:34 +0000 (12:18 -0400)]
Merge pull request #47244 from ceph/fix-release-order

doc/releases: Fix quincy order

3 years agotest/encoding: refactor EncodingException::Macros 47217/head
Kefu Chai [Fri, 22 Jul 2022 13:08:41 +0000 (21:08 +0800)]
test/encoding: refactor EncodingException::Macros

so it is more compacted

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agotest/encoding: verify that e.what() starts with expected str
Kefu Chai [Fri, 22 Jul 2022 12:54:43 +0000 (20:54 +0800)]
test/encoding: verify that e.what() starts with expected str

boost changes the way how it prints boost::system::system_error in
boost 1.79 -- it appends the stringified error_category at end of
exception::what(), and our buffer::malformed_input is a subclass
of boost::system::system_error.

so we cannot just compare the return value of what() with the
expected string, to be more future proof, let's check if i
starts with the expected string instead.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agocommon/win32,dokan: include bcrypt.h for NTSTATUS
Kefu Chai [Thu, 21 Jul 2022 23:28:37 +0000 (07:28 +0800)]
common/win32,dokan: include bcrypt.h for NTSTATUS

to avoid the conflicting declaration of NTSTATUS from bcrypt.h and our
own typedef. as after switching to boost 1.79, we would have following compiling
failure:

In file included from ../src/dokan/options.cc:14:
../src/dokan/ceph_dokan.h:16:15: error: conflicting declaration 'typedef DWORD NTSTATUS'
   16 | typedef DWORD NTSTATUS;
      |               ^~~~~~~~
In file included from ../build.deps/mingw/boost/include/boost/asio/impl/connect_pipe.ipp:29,
                 from ../build.deps/mingw/boost/include/boost/asio/connect_pipe.hpp:79,
                 from ../build.deps/mingw/boost/include/boost/asio.hpp:64,
                 from ../src/include/win32/winsock_wrapper.h:20,
                 from <command-line>:
/usr/share/mingw-w64/include/bcrypt.h:27:16: note: previous declaration as 'typedef LONG NTSTATUS'
   27 |   typedef LONG NTSTATUS,*PNTSTATUS;
      |                ^~~~~~~~

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #47124 from tchaikov/spec-mibs
Kefu Chai [Fri, 22 Jul 2022 15:54:03 +0000 (23:54 +0800)]
Merge pull request #47124 from tchaikov/spec-mibs

ceph.spec.in: correct "%files mib" section

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Justin Caratzas <jcaratza@redhat.com>
3 years agoMerge pull request #47243 from tchaikov/wip-gantt
Kefu Chai [Fri, 22 Jul 2022 15:50:59 +0000 (23:50 +0800)]
Merge pull request #47243 from tchaikov/wip-gantt

doc/_ext: sort the release date

Reviewed-by: David Galloway <dgallowa@redhat.com>
3 years agodoc/releases: Fix quincy order 47244/head
David Galloway [Fri, 22 Jul 2022 15:08:05 +0000 (11:08 -0400)]
doc/releases: Fix quincy order

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agobuild: Bump Boost version to 1.79 46554/head
Adam C. Emerson [Mon, 7 Mar 2022 22:14:50 +0000 (17:14 -0500)]
build: Bump Boost version to 1.79

Also remove bind_allocator, as Boost.Asio now provides this function.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
3 years agodoc/_ext: sort the release date 47243/head
Kefu Chai [Fri, 22 Jul 2022 14:50:50 +0000 (22:50 +0800)]
doc/_ext: sort the release date

so the release in reverse chronologically order, so that the newer
one is listed at the top.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agolibrbd: tweak misleading "image is still primary" error message 47242/head
Ilya Dryomov [Fri, 22 Jul 2022 13:23:57 +0000 (15:23 +0200)]
librbd: tweak misleading "image is still primary" error message

m_promotion_state == PROMOTION_STATE_NON_PRIMARY doesn't say anything
about the remote image.  It could still be primary but it could also be
demoted.

Fixes: https://tracker.ceph.com/issues/56676
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoqa: Remove unused variable 47229/head
Kotresh HR [Fri, 22 Jul 2022 13:50:33 +0000 (19:20 +0530)]
qa: Remove unused variable

Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agoqa: validate subvolume discover on upgrade
Kotresh HR [Fri, 4 Feb 2022 09:58:39 +0000 (15:28 +0530)]
qa: validate subvolume discover on upgrade

Validate subvolume discover on upgrade from
legacy subvolume to v1. The handcrafted
`.meta' file on legacy subvolume root should
not be used for any subvolume apis like getpath,
authorize.

Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agoMerge pull request #47237 from rosinL/fix-move
Kefu Chai [Fri, 22 Jul 2022 12:14:36 +0000 (20:14 +0800)]
Merge pull request #47237 from rosinL/fix-move

crimson/osd/osd: fix sigsegv caused by reusing the moved object

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/os/seastore/async_cleaner: clarify invariants
Yingxin Cheng [Fri, 22 Jul 2022 09:18:52 +0000 (17:18 +0800)]
crimson/os/seastore/async_cleaner: clarify invariants

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: consider dirty tail during replay
Yingxin Cheng [Fri, 22 Jul 2022 09:00:51 +0000 (17:00 +0800)]
crimson/os/seastore: consider dirty tail during replay

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/async_cleaner: decouple gc_trim_alloc() and gc_trim_dirty()
Yingxin Cheng [Fri, 22 Jul 2022 08:58:30 +0000 (16:58 +0800)]
crimson/os/seastore/async_cleaner: decouple gc_trim_alloc() and gc_trim_dirty()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: cleanup, consolidate alloc_tail/dirty_tail naming
Yingxin Cheng [Fri, 22 Jul 2022 08:54:25 +0000 (16:54 +0800)]
crimson/os/seastore: cleanup, consolidate alloc_tail/dirty_tail naming

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: update journal tail when writting the segment header in mkfs
Yingxin Cheng [Fri, 22 Jul 2022 06:18:56 +0000 (14:18 +0800)]
crimson/os/seastore: update journal tail when writting the segment header in mkfs

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/osd/osd: fix sigsegv caused by reusing the moved objcect 47237/head
luo rixin [Fri, 22 Jul 2022 08:48:14 +0000 (16:48 +0800)]
crimson/osd/osd: fix sigsegv caused by reusing the moved objcect

In some case, `m` will be moved and setted nullptr before
`m->get_spg()` be called, causing a segmentation fault.

Signed-off-by: luo rixin <luorixin@huawei.com>
3 years agoMerge pull request #47206 from cyx1231st/wip-seastore-cleaner-tail-committed
Yingxin [Fri, 22 Jul 2022 08:27:59 +0000 (16:27 +0800)]
Merge pull request #47206 from cyx1231st/wip-seastore-cleaner-tail-committed

crimson/os/seastore: simplify journal tails

Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agomgr/volumes: V2 Fix for test_subvolume_retain_snapshot_invalid_recreate
Kotresh HR [Fri, 22 Jul 2022 07:55:18 +0000 (13:25 +0530)]
mgr/volumes: V2 Fix for test_subvolume_retain_snapshot_invalid_recreate

Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agomgr/volumes: Fix subvolume discover during upgrade
Kotresh HR [Fri, 22 Jul 2022 07:53:39 +0000 (13:23 +0530)]
mgr/volumes: Fix subvolume discover during upgrade

Fixes the subvolume discover to use the correct
metadata file after an upgrade from legacy subvolume
to v1. The fix makes sure, it doesn't use the
handcrafted metadata file placed in the subvolume
root of legacy subvolume.

Co-authored-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
Co-authored-by: Dan van der Ster <daniel.vanderster@cern.ch>
Co-authored-by: Ramana Raja <rraja@redhat.com>
Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agocrimson/os/seastore: simplify journal tails 47206/head
Yingxin Cheng [Thu, 21 Jul 2022 09:16:50 +0000 (17:16 +0800)]
crimson/os/seastore: simplify journal tails

* append latest dirty tail as journal delta, in order to simplify and
  drop journal_tail_committed in the cleaner.
* simplify misc journal tails into alloc_tail and dirty_tail, with
  proper renaming.
* move journal-tail recovery logic from cleaner to journal.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: misc cleanups
Yingxin Cheng [Thu, 21 Jul 2022 08:58:47 +0000 (16:58 +0800)]
crimson/os/seastore: misc cleanups

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: store valid journal tail during mkfs
Yingxin Cheng [Thu, 21 Jul 2022 08:50:15 +0000 (16:50 +0800)]
crimson/os/seastore: store valid journal tail during mkfs

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoMerge pull request #47219 from ceph/sec
Gregory Farnum [Fri, 22 Jul 2022 02:28:07 +0000 (19:28 -0700)]
Merge pull request #47219 from ceph/sec

16.2.10 and 17.2.2 Release Notes

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
3 years agoMerge pull request #47212 from tchaikov/wip-aligned-free
Kefu Chai [Thu, 21 Jul 2022 23:08:53 +0000 (07:08 +0800)]
Merge pull request #47212 from tchaikov/wip-aligned-free

include/compat: define aligned_free() as a function not a macro

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
3 years agoMerge pull request #46890 from aclamk/wip-fix-54547
Yuri Weinstein [Thu, 21 Jul 2022 22:47:55 +0000 (15:47 -0700)]
Merge pull request #46890 from aclamk/wip-fix-54547

os/bluestore: Fix collistion between BlueFS and BlueStore deferred writes

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
3 years agoMerge pull request #36282 from rzarzynski/wip-bl-drop-clone
Yuri Weinstein [Thu, 21 Jul 2022 22:33:04 +0000 (15:33 -0700)]
Merge pull request #36282 from rzarzynski/wip-bl-drop-clone

common/bl, kv, tests: drop MemDB and simplify buffer::ptr and buffer::raw

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #47213 from Matan-B/wip-matanb-snapmapper-pendingnote
Neha Ojha [Thu, 21 Jul 2022 22:30:36 +0000 (15:30 -0700)]
Merge pull request #47213 from Matan-B/wip-matanb-snapmapper-pendingnote

PendingReleaseNotes: add a note about SnapMapper key conversion

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #46941 from Matan-B/wip-matanb-make-writeable
Yuri Weinstein [Thu, 21 Jul 2022 20:30:17 +0000 (13:30 -0700)]
Merge pull request #46941 from Matan-B/wip-matanb-make-writeable

osd/PrimaryLogPG: make_writeable nit fixes

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #46561 from NitzanMordhai/wip-nitzan-add-pglog-dups-length
Yuri Weinstein [Thu, 21 Jul 2022 20:29:07 +0000 (13:29 -0700)]
Merge pull request #46561 from NitzanMordhai/wip-nitzan-add-pglog-dups-length

osd, mon: add pglog dups length

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoPendingReleaseNotes: add a note about SnapMapper key coversion 47213/head
Matan Breizman [Thu, 21 Jul 2022 16:23:58 +0000 (16:23 +0000)]
PendingReleaseNotes: add a note about SnapMapper key coversion

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
3 years agodoc: 16.2.10 Release notes 47219/head
David Galloway [Thu, 21 Jul 2022 16:45:45 +0000 (12:45 -0400)]
doc: 16.2.10 Release notes

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agodoc: 17.2.2 Release notes
David Galloway [Thu, 21 Jul 2022 16:43:59 +0000 (12:43 -0400)]
doc: 17.2.2 Release notes

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agoMerge pull request #47001 from yaarith/fix-telemetry-changed-warning
Laura Flores [Thu, 21 Jul 2022 16:42:09 +0000 (11:42 -0500)]
Merge pull request #47001 from yaarith/fix-telemetry-changed-warning

mgr/telemetry: reset health warning after re-opting-in

3 years agoMerge pull request #47209 from yuvalif/wip-yuval-fix-56170
Yuval Lifshitz [Thu, 21 Jul 2022 16:31:48 +0000 (19:31 +0300)]
Merge pull request #47209 from yuvalif/wip-yuval-fix-56170

rgw/lua: make assignment of char* to std::string explicit

reviewed-by: tchaikov, cbodley

3 years agoinclude/compat: define aligned_free() as a function not a macro 47212/head
Kefu Chai [Thu, 21 Jul 2022 16:09:33 +0000 (00:09 +0800)]
include/compat: define aligned_free() as a function not a macro

so it does not get substituted by the preprocessor unconditionally.
this change helps to address the compiling failure when using boost
1.79 using MinGW, like:

../build.deps/mingw/boost/include/boost/align/aligned_allocator.hpp: In member function 'void boost::alignment::aligned_allocator<T, Alignment>::deallocate(boost::alignment::aligned_allocator<T, Alignment>::pointer, boost::alignment::aligned_allocator<T, Alignment>::size_type)':
../src/include/compat.h:352:27: error: '_aligned_free' is not a member of 'boost::alignment'; did you mean 'aligned_free'?
  352 | #define aligned_free(ptr) _aligned_free(ptr)
      |                           ^~~~~~~~~~~~~

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agodoc: CVE-2022-0670
David Galloway [Thu, 21 Jul 2022 16:11:11 +0000 (12:11 -0400)]
doc: CVE-2022-0670

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agodoc: Add missing 16.2.9 release
David Galloway [Thu, 21 Jul 2022 15:52:52 +0000 (11:52 -0400)]
doc: Add missing 16.2.9 release

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agorgw/lua: make assignment of char* to std::string explicit 47209/head
Yuval Lifshitz [Thu, 21 Jul 2022 12:38:33 +0000 (12:38 +0000)]
rgw/lua: make assignment of char* to std::string explicit

issue is happening on RHEL8, when using: g++ (GCC) 8.5.0

Fixes: https://tracker.ceph.com/issues/56170
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
3 years agoMerge pull request #47203 from SUSE/wip-buildrequires-ndctl-suse
Ilya Dryomov [Thu, 21 Jul 2022 14:29:54 +0000 (16:29 +0200)]
Merge pull request #47203 from SUSE/wip-buildrequires-ndctl-suse

ceph.spec.in: use BuildRequires libndctl-devel for SUSE distros

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agocrimson/os/seastore: drop journal tail info from segment_tail_t
Yingxin Cheng [Thu, 21 Jul 2022 07:49:54 +0000 (15:49 +0800)]
crimson/os/seastore: drop journal tail info from segment_tail_t

We will write a segment header right after writing a segment tail during
rolling, so there is no need to store journal tail in segment tail.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: move Transaction::src_t to seastore_types.h
Yingxin Cheng [Thu, 21 Jul 2022 07:36:43 +0000 (15:36 +0800)]
crimson/os/seastore: move Transaction::src_t to seastore_types.h

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoceph.spec.in: use BuildRequires libndctl-devel for SUSE distros 47203/head
Tim Serong [Thu, 21 Jul 2022 08:08:57 +0000 (18:08 +1000)]
ceph.spec.in: use BuildRequires libndctl-devel for SUSE distros

Fixes: b6b24852a6d1c6d8e785e15661f3bf29d662417f
Signed-off-by: Tim Serong <tserong@suse.com>
3 years agoJSONFormattable incorrectly sets a string starting with digit as int 35870/head
Soumya Koduri [Thu, 24 Jun 2021 18:00:45 +0000 (23:30 +0530)]
JSONFormattable incorrectly sets a string starting with digit as int

JSONFormattable::set calls JSONParser::parse() to check if the given string
is a valid JSON object, which internally uses json_spirit::read to determine
the string type and copy it into data.
This routine incorrectly sets data type to integer if the string starts with
digit and copies only the first set of numeric values of the string.

To work-around this issue, verify if the entire string is parsed to
determine if its valid json data type.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
3 years agoMerge pull request #46917 from ceph/releases-always-main
David Galloway [Wed, 20 Jul 2022 20:05:03 +0000 (16:05 -0400)]
Merge pull request #46917 from ceph/releases-always-main

.readthedocs.yml: Always build latest doc/releases pages

3 years agoMerge pull request #47002 from rzarzynski/wip-mgr-fix-daemon-server-race
Yuri Weinstein [Wed, 20 Jul 2022 16:38:04 +0000 (09:38 -0700)]
Merge pull request #47002 from rzarzynski/wip-mgr-fix-daemon-server-race

mgr: fix a race condition in DaemonServer::handle_report()

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years ago.readthedocs.yml: Always build latest doc/releases pages 46917/head
David Galloway [Thu, 30 Jun 2022 19:37:58 +0000 (15:37 -0400)]
.readthedocs.yml: Always build latest doc/releases pages

We don't backport PRs merged into doc/releases.  Therefore, when one browses to an older Ceph release version on docs.ceph.com (e.g., https://docs.ceph.com/en/pacific/), the information is out of date at best.

The doc/releases page is only accurate if browsing https://docs.ceph.com/en/latest/, for example.

So this post_checkout command will make sure we've checked out doc/releases from main before building and publishing.

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agoMerge pull request #46933 from clwluvw/s3-website-empty-bucket
Casey Bodley [Wed, 20 Jul 2022 14:19:39 +0000 (10:19 -0400)]
Merge pull request #46933 from clwluvw/s3-website-empty-bucket

rgw: s3website check for bucket before retargeting

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
3 years agoMerge pull request #47009 from adamemerson/wip-chatty-bucket-sync-run
Adam C. Emerson [Wed, 20 Jul 2022 13:16:19 +0000 (09:16 -0400)]
Merge pull request #47009 from adamemerson/wip-chatty-bucket-sync-run

rgw: User friendly progress report on bucket sync run

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge pull request #47163 from rhcs-dashboard/get-storage-class-metrics
Ernesto Puerta [Wed, 20 Jul 2022 12:08:50 +0000 (14:08 +0200)]
Merge pull request #47163 from rhcs-dashboard/get-storage-class-metrics

mgr/dashboard:Get different storage class metrics in Prometheus dashboard

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agoMerge pull request #46993 from rishabh-d-dave/qa-caps-helper-multiple-errmsgs
Rishabh Dave [Wed, 20 Jul 2022 11:44:17 +0000 (17:14 +0530)]
Merge pull request #46993 from rishabh-d-dave/qa-caps-helper-multiple-errmsgs

qa/cephfs: allow checking for multiple error messages while...

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #47185 from cyx1231st/wip-seastore-backref-block-size
Yingxin [Wed, 20 Jul 2022 08:14:55 +0000 (16:14 +0800)]
Merge pull request #47185 from cyx1231st/wip-seastore-backref-block-size

crimson/os/seastore/backref: decouple SegmentManagerGroup

Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agoMerge pull request #47183 from cyx1231st/wip-seastore-cleaner-journal-head
Yingxin [Wed, 20 Jul 2022 08:14:21 +0000 (16:14 +0800)]
Merge pull request #47183 from cyx1231st/wip-seastore-cleaner-journal-head

crimson/os/seastore/async_cleaner: re-introduce journal_header member

Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
3 years agoMerge pull request #47125 from xxhdx1985126/wip-56535
Yingxin [Wed, 20 Jul 2022 08:13:22 +0000 (16:13 +0800)]
Merge pull request #47125 from xxhdx1985126/wip-56535

crimson/os/seastore/async_cleaner: avoid trimming backrefs when reclaiming space

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoqa/cephfs: allow checking for multiple error messages while... 46993/head
Rishabh Dave [Wed, 15 Sep 2021 09:11:02 +0000 (14:41 +0530)]
qa/cephfs: allow checking for multiple error messages while...

while negative testing.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
3 years agoMerge pull request #47013 from rishabh-d-dave/qa-caps-method-authorize
Rishabh Dave [Wed, 20 Jul 2022 07:34:08 +0000 (13:04 +0530)]
Merge pull request #47013 from rishabh-d-dave/qa-caps-method-authorize

qa/cephfs: upgrade method authorize in class Filesystem

Reviewed-by: Nikhilkumar Shelke <nshelke@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #46991 from rishabh-d-dave/qa-caps-helper-rm-path
Rishabh Dave [Wed, 20 Jul 2022 07:31:51 +0000 (13:01 +0530)]
Merge pull request #46991 from rishabh-d-dave/qa-caps-helper-rm-path

qa/cephfs: delete path from cmd args after use

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #46998 from ceph/dependabot-npm_and_yarn-src-pybind-mgr-dashboard...
Nizamudeen A [Wed, 20 Jul 2022 07:28:41 +0000 (12:58 +0530)]
Merge pull request #46998 from ceph/dependabot-npm_and_yarn-src-pybind-mgr-dashboard-frontend-moment-2.29.4

mgr/dashboard: bump moment from 2.29.3 to 2.29.4 in /src/pybind/mgr/dashboard/frontend

Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agoMerge pull request #42335 from rishabh-d-dave/qa-get-keyring
Rishabh Dave [Wed, 20 Jul 2022 07:27:50 +0000 (12:57 +0530)]
Merge pull request #42335 from rishabh-d-dave/qa-get-keyring

qa: add a method to get keyring for a client_id

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agomgr/dashboard:Get "Different Storage Class" metrics in Prometheus dashboard 47163/head
Aashish Sharma [Tue, 19 Jul 2022 09:04:18 +0000 (14:34 +0530)]
mgr/dashboard:Get "Different Storage Class" metrics in Prometheus dashboard

Get metrics of the different "HDDRule" and "MixedUse" classes of the "Raw Storage" for their ceph VMs. So that Prometheus can scrape the data and display it to them in grafana

Fixes: https://tracker.ceph.com/issues/56625
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
3 years agocrimson/os/seastore/backref: decouple SegmentManagerGroup 47185/head
Yingxin Cheng [Wed, 20 Jul 2022 05:51:59 +0000 (13:51 +0800)]
crimson/os/seastore/backref: decouple SegmentManagerGroup

Backref tree is not specific to segments.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: drop unused code
Yingxin Cheng [Wed, 20 Jul 2022 05:51:14 +0000 (13:51 +0800)]
crimson/os/seastore: drop unused code

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoMerge pull request #47137 from rhcs-dashboard/cephadm-e2e-more-fixes
Pedro Gonzalez Gomez [Wed, 20 Jul 2022 05:50:07 +0000 (07:50 +0200)]
Merge pull request #47137 from rhcs-dashboard/cephadm-e2e-more-fixes

mgr/dashboard: fix dashboard cephadm e2e errors

Reviewed-by: Pedro González <pegonzal@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
3 years agocrimson/os/seastore/async_cleaner: re-introduce journal_header member 47183/head
Yingxin Cheng [Wed, 20 Jul 2022 04:14:46 +0000 (12:14 +0800)]
crimson/os/seastore/async_cleaner: re-introduce journal_header member

RBM won't have segments_info_t, it has to maintain the journal_header by
itself.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>