]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
5 years agoradosgw-admin:fix error message when datalog list
Shengming Zhang [Mon, 19 Oct 2020 02:09:44 +0000 (10:09 +0800)]
radosgw-admin:fix error message when datalog list

Signed-off-by: Shengming Zhang <zhangsm01@inspur.com>
5 years agoMerge PR #36603 into master
Patrick Donnelly [Mon, 19 Oct 2020 01:44:51 +0000 (18:44 -0700)]
Merge PR #36603 into master

* refs/pull/36603/head:
test: add test for setting ceph mirror virtual xattr
tests/pybind/cephfs: cleanup xattrs before starting tests
client: filter ceph.* xattrs from listing
client: force an attr fetch for ceph xattrs
client: changes for ceph.mirror.info xattr
mds: restrict setting/removing certain xattrs in ceph namespace
mds: introduce ceph.mirror.info virtual xattr
mds: customize xattr handling using dispatch handlers
mds: introduce is_ceph_vxattr() helper

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #37699 from dillaman/wip-47880
Mykola Golub [Sun, 18 Oct 2020 12:43:51 +0000 (15:43 +0300)]
Merge pull request #37699 from dillaman/wip-47880

journal: possible race condition between flush and append callback

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agoMerge pull request #37698 from tchaikov/wip-crimson-do-until
Kefu Chai [Sat, 17 Oct 2020 01:32:23 +0000 (09:32 +0800)]
Merge pull request #37698 from tchaikov/wip-crimson-do-until

crimson/common: schedule action only if the future is not available

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
5 years agoMerge pull request #37695 from tchaikov/wip-dashboard-pep8
Kefu Chai [Fri, 16 Oct 2020 17:32:59 +0000 (01:32 +0800)]
Merge pull request #37695 from tchaikov/wip-dashboard-pep8

mgr/dashboard: do not use "l" for variable name

Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agoMerge pull request #37645 from dillaman/wip-librbd-aio-completion-race
Mykola Golub [Fri, 16 Oct 2020 15:45:32 +0000 (18:45 +0300)]
Merge pull request #37645 from dillaman/wip-librbd-aio-completion-race

librbd: update AioCompletion return value before evaluating pending count

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agoMerge pull request #37643 from dillaman/wip-47840
Mykola Golub [Fri, 16 Oct 2020 15:45:04 +0000 (18:45 +0300)]
Merge pull request #37643 from dillaman/wip-47840

librbd: ignore -ENOENT error when disabling object-map

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agoMerge pull request #37444 from dillaman/wip-librbd-copyup-api
Mykola Golub [Fri, 16 Oct 2020 15:44:36 +0000 (18:44 +0300)]
Merge pull request #37444 from dillaman/wip-librbd-copyup-api

librbd: support the ability to process parent data prior to copyup

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Or Ozeri <oro@il.ibm.com>
5 years agojournal: possible race condition between flush and append callback
Jason Dillaman [Fri, 16 Oct 2020 15:25:39 +0000 (11:25 -0400)]
journal: possible race condition between flush and append callback

When notifying the journal recorder of an overflow or if the object
close request has completed due to no more in-flight IO, it was
possible for a race between a flush request and the processing of
an append completion to attempt to kick off duplicate notifications.
Since the overflowed and closed callbacks are properly protected from
duplicates, use a counter instead of a boolean to track possible
in-flight handler callbacks.

Fixes: https://tracker.ceph.com/issues/47880
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agocrimson/common: schedule action only if the future is not available
Kefu Chai [Fri, 16 Oct 2020 14:07:50 +0000 (22:07 +0800)]
crimson/common: schedule action only if the future is not available

otherwise we could call do_until() recursively if we have other tasks
which need to prempt the reactor and current future's state is actually
always available.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agomgr/dashboard: do not use "l" for variable name
Kefu Chai [Fri, 16 Oct 2020 10:51:04 +0000 (18:51 +0800)]
mgr/dashboard: do not use "l" for variable name

see also https://www.flake8rules.com/rules/E741.html

also silences flake8 warnings like:

2: {tty:'./controllers/home.py:90:26: E741 ambiguous variable name 'l'':'./controllers/home.py:90:26: E741 ambiguous variable name 'l''}
2: {tty:'./controllers/logs.py:52:13: E741 ambiguous variable name 'l'':'./controllers/logs.py:52:13: E741 ambiguous variable name 'l''}
2: {tty:'./services/ganesha.py:36:40: E741 ambiguous variable name 'l'':'./services/ganesha.py:36:40: E741 ambiguous variable name 'l''}
2: 3     E741 ambiguous variable name 'l'

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #37687 from tchaikov/wip-crimson-errorator
Kefu Chai [Fri, 16 Oct 2020 08:50:10 +0000 (16:50 +0800)]
Merge pull request #37687 from tchaikov/wip-crimson-errorator

crimson/common: do not take from a future twice

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
5 years agoMerge pull request #37602 from tspmelo/wip-flake8-ignore
Kiefer Chang [Fri, 16 Oct 2020 07:27:35 +0000 (15:27 +0800)]
Merge pull request #37602 from tspmelo/wip-flake8-ignore

mgr/dashboard: Remove some Flake8 ignore rules

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agocrimson/common: do not take from a future twice
Kefu Chai [Fri, 16 Oct 2020 06:11:52 +0000 (14:11 +0800)]
crimson/common: do not take from a future twice

before this change, in our specialization of seastar::do_until(),
we access `f` after calling `f.get()`, this is not correct. as `f.get()`
actually moves `f._state` away and detaches the associated promise if any.
so we cannot call `f._then()` anymore after calling `f.get()`. as
`f._then()` schedules `f` by detaching the future from promise and
attaching the scheduled task to the promise. but `future_base::detach_promise()`
does not check `_promise` before accessing it, hence the segfault.

after this change, the order of the checks is rearranged so that
`f.get()` is called at the end. and also use `f.get0()` to be more
explicit, as we are accessing the only element of the returned
value.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #37684 from ivancich/rgw-yummy-orphan-testing
J. Eric Ivancich [Thu, 15 Oct 2020 20:14:07 +0000 (16:14 -0400)]
Merge pull request #37684 from ivancich/rgw-yummy-orphan-testing

rgw: use yum rather than dnf for teuthology testing of rgw-orphan-list

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
5 years agorgw: use yum rather than dnf for testing rgw-orphan-list
J. Eric Ivancich [Thu, 15 Oct 2020 18:14:04 +0000 (14:14 -0400)]
rgw: use yum rather than dnf for testing rgw-orphan-list

The teuthology testing for rgw-orphan-list needs to install
`s3cmd`. Switch from using dnf to yum to work on a wider variety of
platforms.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #37660 from adamemerson/wip-datalog-fix
Adam C. Emerson [Thu, 15 Oct 2020 16:03:13 +0000 (12:03 -0400)]
Merge pull request #37660 from adamemerson/wip-datalog-fix

cls/fifo: Switch use CLS_ERR for errors
rgw/fifo: Fix a few missed return value assignments
rgw/fifo: Add some error logging
rgw/fifo: Catch two instances journaling a new part
rgw/fifo: Use unique_ptr and explicit release for callbacks

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #37575 from bk201/wip-47742
Joshua Schmid [Thu, 15 Oct 2020 13:02:50 +0000 (15:02 +0200)]
Merge pull request #37575 from bk201/wip-47742

qa/suites/rados/cephadm/dashboard: fix creating OSD failure

5 years agoMerge pull request #37669 from lixiaoy1/fix_cache_state_ut_1015
Jason Dillaman [Thu, 15 Oct 2020 12:47:57 +0000 (08:47 -0400)]
Merge pull request #37669 from lixiaoy1/fix_cache_state_ut_1015

rbd/cache: fix UTs related to image cache state

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mahati Chamarthy <mahati.chamarthy@intel.com>
5 years agorbd/cache: fix UTs related to image cache state
lixiaoy1 [Thu, 15 Oct 2020 11:00:07 +0000 (07:00 -0400)]
rbd/cache: fix UTs related to image cache state

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
5 years agoMerge pull request #37633 from tchaikov/wip-pybind-rados-cleanup
Kefu Chai [Thu, 15 Oct 2020 10:54:38 +0000 (18:54 +0800)]
Merge pull request #37633 from tchaikov/wip-pybind-rados-cleanup

pybind/rados: add more type hintings and cleanup

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #37624 from lxbsz/cram
Kefu Chai [Thu, 15 Oct 2020 10:53:38 +0000 (18:53 +0800)]
Merge pull request #37624 from lxbsz/cram

qa/tasks: add a 'parallel' option support for the cram task

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #37621 from dsavineau/cephadm_ntpsec
Kefu Chai [Thu, 15 Oct 2020 10:16:19 +0000 (18:16 +0800)]
Merge pull request #37621 from dsavineau/cephadm_ntpsec

cephadm: allow ntpsec service

Reviewed-by: Joshua Schmid <jschmid@suse.de>
5 years agoMerge pull request #37601 from tspmelo/wip-rm-wait-for-expected-get-result
Kefu Chai [Thu, 15 Oct 2020 10:12:54 +0000 (18:12 +0800)]
Merge pull request #37601 from tspmelo/wip-rm-wait-for-expected-get-result

qa/mgr: Remove _wait_for_expected_get_result

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agoMerge pull request #37609 from lixiaoy1/remove_writelog
Jason Dillaman [Thu, 15 Oct 2020 00:31:17 +0000 (20:31 -0400)]
Merge pull request #37609 from lixiaoy1/remove_writelog

rbd/cache: remove unnecessary WriteLogCache

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mahati Chamarthy <mahati.chamarthy@intel.com>
5 years agoMerge pull request #37625 from lixiaoy1/rwl_path
Jason Dillaman [Thu, 15 Oct 2020 00:29:41 +0000 (20:29 -0400)]
Merge pull request #37625 from lixiaoy1/rwl_path

rbd/cache: store full cache path to image metadata

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mahati Chamarthy <mahati.chamarthy@intel.com>
5 years agorgw/fifo: Use unique_ptr and explicit release for callbacks
Adam C. Emerson [Tue, 13 Oct 2020 21:32:01 +0000 (17:32 -0400)]
rgw/fifo: Use unique_ptr and explicit release for callbacks

To simplify and clarify memory allocation in AIO cases.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agorgw/fifo: Catch two instances journaling a new part
Adam C. Emerson [Tue, 13 Oct 2020 21:05:58 +0000 (17:05 -0400)]
rgw/fifo: Catch two instances journaling a new part

If we see another part journaled, just run the journal ourselves.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agorgw/fifo: Add some error logging
Adam C. Emerson [Tue, 13 Oct 2020 19:25:53 +0000 (15:25 -0400)]
rgw/fifo: Add some error logging

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agorgw/fifo: Fix a few missed return value assignments
Adam C. Emerson [Tue, 13 Oct 2020 17:12:46 +0000 (13:12 -0400)]
rgw/fifo: Fix a few missed return value assignments

Slipped in when I converted from call-back based to sequential.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocls/fifo: Switch use CLS_ERR for errors
Adam C. Emerson [Tue, 13 Oct 2020 15:56:04 +0000 (11:56 -0400)]
cls/fifo: Switch use CLS_ERR for errors

So things going wrong show up in the log by default. Also use
__PRETTY_FUNCTION__ instead of __func__ and print some more context.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agoMerge PR #34702 into master
Patrick Donnelly [Wed, 14 Oct 2020 18:11:15 +0000 (11:11 -0700)]
Merge PR #34702 into master

* refs/pull/34702/head:
doc: Make time-related osd default values in documentation big-endian.

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #37587 from anthonyeleven/yet-more-doc-polishing
zdover23 [Wed, 14 Oct 2020 16:48:25 +0000 (02:48 +1000)]
Merge pull request #37587 from anthonyeleven/yet-more-doc-polishing

doc: clarity, detail, modernization, capitalization

Reviewed-by: Zac Dover <zac.dover@gmail.com>
5 years agoMerge pull request #37168 from ifed01/wip-ifed-fix-compress-csum
Kefu Chai [Wed, 14 Oct 2020 14:19:03 +0000 (22:19 +0800)]
Merge pull request #37168 from ifed01/wip-ifed-fix-compress-csum

os/bluestore: attach csum for compressed blobs

Reviewed-by: Adam Kupczyk <akucpzyk@redhat.com>
5 years agoMerge pull request #37611 from tchaikov/wip-cmake-tox
Kefu Chai [Wed, 14 Oct 2020 14:02:36 +0000 (22:02 +0800)]
Merge pull request #37611 from tchaikov/wip-cmake-tox

cmake: do not always add py3 to TOX_ENVS

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge pull request #37594 from trociny/wip-rbd-quiesce-cancel
Jason Dillaman [Wed, 14 Oct 2020 13:59:58 +0000 (09:59 -0400)]
Merge pull request #37594 from trociny/wip-rbd-quiesce-cancel

librbd: fix race on watcher unregister

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #37650 from jschmid1/gs
Joshua Schmid [Wed, 14 Oct 2020 12:45:27 +0000 (14:45 +0200)]
Merge pull request #37650 from jschmid1/gs

mgr/cephadm: adapt <placement> usage string

5 years agomgr/dashboard: add an empty line to appease flake8
Kefu Chai [Tue, 13 Oct 2020 08:38:55 +0000 (16:38 +0800)]
mgr/dashboard: add an empty line to appease flake8

silence the warnings like

./controllers/mgr_modules.py:38:5: E301 expected 1 blank line, found 0'
./controllers/user.py:69:5: E301 expected 1 blank line, found 0

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #37394 from rosinL/cleanup-queue-option
Kefu Chai [Wed, 14 Oct 2020 08:08:04 +0000 (16:08 +0800)]
Merge pull request #37394 from rosinL/cleanup-queue-option

common/options: remove unavailable values of osd_op_queue

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #37627 from changchengx/msg
Kefu Chai [Wed, 14 Oct 2020 08:05:51 +0000 (16:05 +0800)]
Merge pull request #37627 from changchengx/msg

msg: remove stale comment and unnecessary code

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #37626 from tchaikov/wip-drop-std-iterator
Kefu Chai [Wed, 14 Oct 2020 08:04:14 +0000 (16:04 +0800)]
Merge pull request #37626 from tchaikov/wip-drop-std-iterator

include/interval_set: do not inherit from std::iterator

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
5 years agoMerge pull request #37455 from smithfarm/wip-spec-file-cleanup
Kefu Chai [Wed, 14 Oct 2020 07:43:30 +0000 (15:43 +0800)]
Merge pull request #37455 from smithfarm/wip-spec-file-cleanup

rpm: three spec file cleanups

Reviewed-by: Tim Serong <tserong@suse.com>
5 years agopybind/rados: correct the declarations of C APIs
Kefu Chai [Mon, 12 Oct 2020 07:38:48 +0000 (15:38 +0800)]
pybind/rados: correct the declarations of C APIs

so they are consistent with the ones declared in include/rados/librados.h

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agopybind/rados: add more type hintings
Kefu Chai [Mon, 12 Oct 2020 07:12:30 +0000 (15:12 +0800)]
pybind/rados: add more type hintings

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocmake: do not always add py3 to TOX_ENVS
Kefu Chai [Fri, 9 Oct 2020 05:55:39 +0000 (13:55 +0800)]
cmake: do not always add py3 to TOX_ENVS

before this change add_tox_test() always add "py3" to testenv, even the
caller specifies TOX_ENVS explicitly.

after this change, py3 is added only if the caller does not specify any
TOX_ENVS.

this change helps with the readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #37583 into master
Patrick Donnelly [Tue, 13 Oct 2020 17:27:02 +0000 (10:27 -0700)]
Merge PR #37583 into master

* refs/pull/37583/head:
mgr/volumes/nfs: Fix wrong error message for pseudo path

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #37585 into master
Patrick Donnelly [Tue, 13 Oct 2020 17:26:02 +0000 (10:26 -0700)]
Merge PR #37585 into master

* refs/pull/37585/head:
doc/cephfs/nfs: Remove outdated doc related to rook

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #37610 from anthonyeleven/doc-rados-troubleshooting
zdover23 [Tue, 13 Oct 2020 16:32:24 +0000 (02:32 +1000)]
Merge pull request #37610 from anthonyeleven/doc-rados-troubleshooting

doc/rados/troubleshooting: clarity and modernization

Reviewed-by: Zac Dover <zac.dover@gmail.com>
5 years agoMerge PR #36537 into master
Patrick Donnelly [Tue, 13 Oct 2020 16:29:04 +0000 (09:29 -0700)]
Merge PR #36537 into master

* refs/pull/36537/head:
qa/cephfs: update ephemeral pin tests
mds: distribute dirfrags for ephemeral distributed directory

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa/cephfs: update ephemeral pin tests
Yan, Zheng [Wed, 12 Aug 2020 06:49:15 +0000 (14:49 +0800)]
qa/cephfs: update ephemeral pin tests

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
5 years agomds: distribute dirfrags for ephemeral distributed directory
Yan, Zheng [Fri, 7 Aug 2020 15:58:19 +0000 (23:58 +0800)]
mds: distribute dirfrags for ephemeral distributed directory

Instead of distribute individual dir inodes inside the ephemeral
distributed dir. Distributing dirfrags can limit number of subtrees
created by the ephemeral dist pin.

This patch also unifies codes that handle export pin and ephemeral pin.

Fixes: https://tracker.ceph.com/issues/46696
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
5 years agolibrbd: support preprocessing source object data prior to deep-copy
Jason Dillaman [Mon, 5 Oct 2020 18:04:14 +0000 (14:04 -0400)]
librbd: support preprocessing source object data prior to deep-copy

Let object dispatch layers potentially mutate the data read from the
source image prior to issuing the actual deep-copy operations against
the destination image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: continue to simplify deep-copy object copy write ops types
Jason Dillaman [Mon, 5 Oct 2020 14:19:51 +0000 (10:19 -0400)]
librbd: continue to simplify deep-copy object copy write ops types

Replace the custom WriteOp data structure and just re-use the new
io::SnapshotSparseBufferlist structure to record write and zero ops.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: simplify deep-copy object copy write ops types
Jason Dillaman [Mon, 5 Oct 2020 13:56:56 +0000 (09:56 -0400)]
librbd: simplify deep-copy object copy write ops types

The write-ops now only stores write vs zero ops and the type of
zero operation is delayed until the actual op is sent. This will
make the state machine compatible with the copyup process hook.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: support preprocessing parent data prior to copyup
Jason Dillaman [Thu, 24 Sep 2020 19:15:23 +0000 (15:15 -0400)]
librbd: support preprocessing parent data prior to copyup

Let object dispatch layers potentially mutate the copyup data read
from the parent prior to issuing the actual copyup operation. This
can allow for a layer like the crypto layer to re-encrypt the parent
image data using the child image's encryption keys, for example.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: new hook for pre-processing copyup data
Jason Dillaman [Wed, 23 Sep 2020 19:57:20 +0000 (15:57 -0400)]
librbd: new hook for pre-processing copyup data

This will permit the crypto layer to properly encrypt and potentially
align the sparse copyup data prior to it being written. It passes
potentially multiple sets of data in one pass to permit the deep-copy
state machine to utilize the same API and allow the crypto layer to
potentially handle layered alignment issues.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: rename SnapshotExtent to SparseExtent
Jason Dillaman [Wed, 30 Sep 2020 01:24:23 +0000 (21:24 -0400)]
librbd: rename SnapshotExtent to SparseExtent

The processing of copyup needs to be able to denote data extents that
are potentially zeroed or included in the associated bufferlist. By
renaming the type, it can be re-used for this second purpose.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: copyup state machine should always issue a sparse-read
Jason Dillaman [Tue, 29 Sep 2020 00:35:38 +0000 (20:35 -0400)]
librbd: copyup state machine should always issue a sparse-read

When reading from the parent, always keep the data in a sparse
extent-map format. The forthcoming copyup preprocessing hook will
want to pass a set of sparse image-extent data.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: switch remaining uses of ExtentMap to Extents
Jason Dillaman [Tue, 29 Sep 2020 00:04:48 +0000 (20:04 -0400)]
librbd: switch remaining uses of ExtentMap to Extents

The neorados API already requires the vector-based approach vs
the map-based approach. Now the remaining sparse-read functionality
has been switched to use the consistent approach.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: deep-copy should update object-map before writing to object
Jason Dillaman [Fri, 25 Sep 2020 14:40:32 +0000 (10:40 -0400)]
librbd: deep-copy should update object-map before writing to object

For the original use-case of RBD mirroring it was (maybe) more
acceptable to write to the object before updating the object map
because an interrupted sync will be retried. However, when using
the deep-copy object copy state machine as part of copyup, it's
more likely that the object-map has the potential to become
out-of-sync with reality if it's updated after the object is
written.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: pass write op object extents to copyup state machine
Jason Dillaman [Fri, 25 Sep 2020 13:16:48 +0000 (09:16 -0400)]
librbd: pass write op object extents to copyup state machine

It will use these extents in a later commit to potentially reduce the
parent image data that is processed for copyup portion of the write
request.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: copy-on-read should skip copyup if deep-copy invoked
Jason Dillaman [Tue, 22 Sep 2020 23:01:27 +0000 (19:01 -0400)]
librbd: copy-on-read should skip copyup if deep-copy invoked

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agotest/librbd: fix issue with mock test when copy-on-read is enabled
Jason Dillaman [Tue, 22 Sep 2020 20:17:35 +0000 (16:17 -0400)]
test/librbd: fix issue with mock test when copy-on-read is enabled

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agocommon: add interval_map initializer list constructor
Jason Dillaman [Wed, 30 Sep 2020 17:30:42 +0000 (13:30 -0400)]
common: add interval_map initializer list constructor

This simplifies unit test cases by allowing interval_maps to be
trivially constructed with pre-populated expectations.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: update AioCompletion return value before evaluating pending count
Jason Dillaman [Tue, 13 Oct 2020 01:34:25 +0000 (21:34 -0400)]
librbd: update AioCompletion return value before evaluating pending count

If the pending count is decremented before the return value is updated,
there is a possibility of two ASIO threads concurrently decrementing the
pending count down from 2 -> 1 -> 0. In the second thread (the one that
performs the final decrement from 1 -> 0), it can finalize the completion
before the first thread has had a chance to update the return value.

Fixes: https://tracker.ceph.com/issues/47847
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agomgr/cephadm: adapt <placement> usage string
Joshua Schmid [Tue, 13 Oct 2020 10:48:32 +0000 (12:48 +0200)]
mgr/cephadm: adapt <placement> usage string

Signed-off-by: Joshua Schmid <jschmid@suse.de>
5 years agoMerge pull request #35477 from yuvalif/add_lua_to_rgw
Yuval Lifshitz [Tue, 13 Oct 2020 09:42:48 +0000 (12:42 +0300)]
Merge pull request #35477 from yuvalif/add_lua_to_rgw

rgw/lua: embedding lua in rgw in s3 request context

5 years agoMerge pull request #37581 from dillaman/wip-librbd-exclusive-lock-shutdown
Mykola Golub [Tue, 13 Oct 2020 07:44:58 +0000 (10:44 +0300)]
Merge pull request #37581 from dillaman/wip-librbd-exclusive-lock-shutdown

librbd: avoid failing IO with -ESHUTDOWN when disabling exclusive-lock

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agoMerge pull request #37613 from tchaikov/wip-cls-osd-cleanup
Kefu Chai [Tue, 13 Oct 2020 06:23:29 +0000 (14:23 +0800)]
Merge pull request #37613 from tchaikov/wip-cls-osd-cleanup

cls, osd: cleanups

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
5 years agoMerge pull request #37537 from yuvalif/missing_brackets_in_rgw_file
Yuval Lifshitz [Tue, 13 Oct 2020 05:06:31 +0000 (08:06 +0300)]
Merge pull request #37537 from yuvalif/missing_brackets_in_rgw_file

rgw/file: missing brackets around if statement

5 years agoMerge pull request #37538 from yuvalif/potential_crash_in_kafka
Yuval Lifshitz [Tue, 13 Oct 2020 05:04:18 +0000 (08:04 +0300)]
Merge pull request #37538 from yuvalif/potential_crash_in_kafka

fix potential crash in rgw_kafka

5 years agoMerge pull request #37599 from yuvalif/remove_doxyfile
Yuval Lifshitz [Tue, 13 Oct 2020 05:03:39 +0000 (08:03 +0300)]
Merge pull request #37599 from yuvalif/remove_doxyfile

cmake: remove Doxyfile as doxygen run via make

5 years agoMerge pull request #37534 from yuvalif/fix_ownership_in_role_applier
Yuval Lifshitz [Tue, 13 Oct 2020 05:02:40 +0000 (08:02 +0300)]
Merge pull request #37534 from yuvalif/fix_ownership_in_role_applier

 rgw/auth: fix copy&paste bug in RoleApplier::is_owner_of

5 years agotest: add test for setting ceph mirror virtual xattr
Venky Shankar [Mon, 10 Aug 2020 13:21:42 +0000 (09:21 -0400)]
test: add test for setting ceph mirror virtual xattr

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agotests/pybind/cephfs: cleanup xattrs before starting tests
Venky Shankar [Fri, 9 Oct 2020 11:06:45 +0000 (07:06 -0400)]
tests/pybind/cephfs: cleanup xattrs before starting tests

Some xattr tests do not fully cleanup set xattrs. Subsequent
tests may expect xattrs to be absent during the test, such as
setting an xattr and then removing followed by checking if the
xattr list to be empty. This may fail if earlier tests do not
cleanup xattrs, especially for root.

So, cleanup xattrs on root before starting tests. Other directories
are removed anyway, so we do not have to bother about those.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agoclient: filter ceph.* xattrs from listing
Venky Shankar [Fri, 28 Aug 2020 10:49:24 +0000 (06:49 -0400)]
client: filter ceph.* xattrs from listing

Since xattr_map has entries for xattrs in ceph namespace.
Such xattrs are accessible via getxattr().

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agoclient: force an attr fetch for ceph xattrs
Venky Shankar [Fri, 28 Aug 2020 07:42:23 +0000 (03:42 -0400)]
client: force an attr fetch for ceph xattrs

Without this fetching a ceph.* xattr which was just set
returns -ENODATA.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agoclient: changes for ceph.mirror.info xattr
Venky Shankar [Wed, 26 Aug 2020 12:56:34 +0000 (08:56 -0400)]
client: changes for ceph.mirror.info xattr

Leverage the vxattr helper to handle this xattr request.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agomds: restrict setting/removing certain xattrs in ceph namespace
Venky Shankar [Tue, 25 Aug 2020 01:48:53 +0000 (21:48 -0400)]
mds: restrict setting/removing certain xattrs in ceph namespace

Since all ceph.* xattrs need not be virtual (stored in inode
structure), restrict certain xattrs (ceph.mirror.info) to be
persisted in xattr_map. Other ceph.* xattrs which do not pass
the virtual xattr check are rejected.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agomds: introduce ceph.mirror.info virtual xattr
Venky Shankar [Wed, 26 Aug 2020 12:55:51 +0000 (08:55 -0400)]
mds: introduce ceph.mirror.info virtual xattr

This is a compound xattr with the xattr value being fixed in
format. MDS stores this xattr as two (since the xattr value
right now just has two components or compounds) separate entries
in the xattr_map. This is done to avoid bloating the xattr value
if more "compounds" are added.

You may ask, why do it this way rather having the application
(cephfs-mirror daemon in this case) just set each xattr one
after the other? Well, we loose xattr consistency (from the
application point-of-view) -- an application crash (bug!) or
an ENOSPC in the server could leave M out of N xattrs (M < N)
on-disk.

With the compound xattr operation done on the server side,
journaling ensure that either all (N) xattrs are available or
none are available after recovering from a crash.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agomds: customize xattr handling using dispatch handlers
Venky Shankar [Tue, 25 Aug 2020 11:08:45 +0000 (07:08 -0400)]
mds: customize xattr handling using dispatch handlers

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agomds: introduce is_ceph_vxattr() helper
Venky Shankar [Tue, 25 Aug 2020 01:26:12 +0000 (21:26 -0400)]
mds: introduce is_ceph_vxattr() helper

Not all ceph.* xattrs are virtual -- virtual in the sense
that such xattrs have entries in the inode structure (inode_t)
rather than in xattr_map. There could be cases where an xattr
is in ceph namespace but does not necessarily need to be stored
for each inode -- so filter such xattrs individually rather than
treating all ceph.* xattrs as virtual.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agoMerge PR #29951 into master
Patrick Donnelly [Tue, 13 Oct 2020 01:50:33 +0000 (18:50 -0700)]
Merge PR #29951 into master

* refs/pull/29951/head:
test: add tests for validating MDS metrics via `perf stats` module
test: Filesystem class helpers to grow and shrink MDS cluster
mgr/stats: mds performance stats module
mds: support sending empty perf metrics to ceph-manager

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agodoc: misc clarity and capitalization
Anthony D'Atri [Wed, 7 Oct 2020 22:21:28 +0000 (15:21 -0700)]
doc: misc clarity and capitalization

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
5 years agoMerge pull request #37541 from anthonyeleven/osd-internals-tweaks
zdover23 [Mon, 12 Oct 2020 20:01:05 +0000 (06:01 +1000)]
Merge pull request #37541 from anthonyeleven/osd-internals-tweaks

doc/dev: doc/dev/osd_internals capitalization, formatting, clarity

Reviewed-by: Zac Dover <zac.dover@gmail.com>
5 years agolibrbd: ignore -ENOENT error when disabling object-map
Jason Dillaman [Mon, 12 Oct 2020 19:28:52 +0000 (15:28 -0400)]
librbd: ignore -ENOENT error when disabling object-map

Fixes: https://tracker.ceph.com/issues/47840
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorgw/lua: run lua scripts in s3 requests context
Yuval Lifshitz [Mon, 8 Jun 2020 12:26:47 +0000 (15:26 +0300)]
rgw/lua: run lua scripts in s3 requests context

for more details on design and
remaining work see:
https://gist.github.com/yuvalif/60d5984c28af89ba17443ce947540c1f

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
5 years agodoc/rados/troubleshooting: clarity and modernization
Anthony D'Atri [Fri, 9 Oct 2020 03:54:43 +0000 (20:54 -0700)]
doc/rados/troubleshooting: clarity and modernization

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
5 years agoMerge PR #37593 into master
Patrick Donnelly [Mon, 12 Oct 2020 14:42:13 +0000 (07:42 -0700)]
Merge PR #37593 into master

* refs/pull/37593/head:
qa/tasks/cephfs: Refactor test_volumes

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa/tasks: add a 'parallel' option support for the cram task
Xiubo Li [Sat, 10 Oct 2020 02:22:09 +0000 (10:22 +0800)]
qa/tasks: add a 'parallel' option support for the cram task

For the ceph-iscsi test case we need to run the tests sequentially,
because the client test will depend on the gateway ones.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
5 years agoMerge pull request #37154 from bk201/wip-47397
Tatjana Dehler [Mon, 12 Oct 2020 12:32:39 +0000 (14:32 +0200)]
Merge pull request #37154 from bk201/wip-47397

mgr/dashboard: fix the error when exporting CephFS path "/" in NFS exports

Reviewed-by: Laura Paduano lpaduano@suse.com
Reviewed-by: Stephan Müller smueller@suse.com
Reviewed-by: Varsha Rao varao@redhat.com
5 years agotest: add tests for validating MDS metrics via `perf stats` module
Venky Shankar [Tue, 10 Sep 2019 12:57:07 +0000 (08:57 -0400)]
test: add tests for validating MDS metrics via `perf stats` module

Fixes: http://tracker.ceph.com/issues/24285
Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agotest: Filesystem class helpers to grow and shrink MDS cluster
Venky Shankar [Thu, 29 Aug 2019 05:24:10 +0000 (01:24 -0400)]
test: Filesystem class helpers to grow and shrink MDS cluster

These routines were test specific. Make them a part of Filesystem
class.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agomgr/stats: mds performance stats module
Venky Shankar [Mon, 26 Aug 2019 09:32:23 +0000 (05:32 -0400)]
mgr/stats: mds performance stats module

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agomds: support sending empty perf metrics to ceph-manager
Venky Shankar [Fri, 24 Jul 2020 04:45:55 +0000 (00:45 -0400)]
mds: support sending empty perf metrics to ceph-manager

Right now, there are no per-mds metrics that are tracked and
sent by mds. However, such metrics will get added soon. So,
send empty performance metrics to ceph-manager for now.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
5 years agoqa/tasks/cephfs: Refactor test_volumes
Ramana Raja [Tue, 8 Sep 2020 18:31:00 +0000 (00:01 +0530)]
qa/tasks/cephfs: Refactor test_volumes

... into smaller test classes. This enables breaking up the volumes yaml
into smaller yaml fragments.

Fixes: https://tracker.ceph.com/issues/47160
Signed-off-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #37628 from changchengx/mail_update
Kefu Chai [Mon, 12 Oct 2020 07:43:30 +0000 (15:43 +0800)]
Merge pull request #37628 from changchengx/mail_update

mailmap: update Intel employee mail/org

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agomsg: remove unnecessary assignment
Changcheng Liu [Mon, 12 Oct 2020 02:58:40 +0000 (10:58 +0800)]
msg: remove unnecessary assignment

memset(&header, 0, sizeof(header)) clear the variable to
be 0.

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
5 years agomsg: remove outdated comments
Changcheng Liu [Mon, 12 Oct 2020 01:17:54 +0000 (09:17 +0800)]
msg: remove outdated comments

Parameter "features" has been removed in commit 0dbe8fd3987d.

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
5 years agomailmap: update Intel employee mail/org
Changcheng Liu [Wed, 23 Sep 2020 07:39:47 +0000 (15:39 +0800)]
mailmap: update Intel employee mail/org

1. "changcheng.liu@aliyun.com" need be classified into intel until now.
   This reverts part of commit: df07e9f3
2. add "Yuan Lu <yuan.y.lu@intel.com>" in mailmap

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>