]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoMerge pull request #35798 from sseshasa/wip-46228-nautilus
Yuri Weinstein [Tue, 14 Jul 2020 16:22:37 +0000 (09:22 -0700)]
Merge pull request #35798 from sseshasa/wip-46228-nautilus

nautilus: mon/OSDMonitor: Reset grace period if failure interval exceeds a threshold.

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #35712 from rhcs-dashboard/wip-46019-nautilus
Yuri Weinstein [Tue, 14 Jul 2020 16:22:09 +0000 (09:22 -0700)]
Merge pull request #35712 from rhcs-dashboard/wip-46019-nautilus

nautilus: mgr/dashboard: work with v1 RBD images

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #35882 from ivancich/nautilus-rgw-ordered-listing-stuck
Yuri Weinstein [Tue, 14 Jul 2020 15:40:55 +0000 (08:40 -0700)]
Merge pull request #35882 from ivancich/nautilus-rgw-ordered-listing-stuck

nautilus: rgw: ordered listing lcv not managed correctly

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #36014 from djgalloway/nautilus
Yuri Weinstein [Fri, 10 Jul 2020 18:39:41 +0000 (11:39 -0700)]
Merge pull request #36014 from djgalloway/nautilus

qa: Target CentOS 7.8 notcmalloc for this job

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoqa: Target CentOS 7.8 notcmalloc for these jobs 36014/head
David Galloway [Fri, 10 Jul 2020 16:46:32 +0000 (12:46 -0400)]
qa: Target CentOS 7.8 notcmalloc for these jobs

We don't build nautilus on centos8 notcmalloc

Signed-off-by: David Galloway <dgallowa@redhat.com>
5 years agomgr/dashboard: work with RBD images v1 35712/head
Ernesto Puerta [Mon, 11 May 2020 18:33:25 +0000 (20:33 +0200)]
mgr/dashboard: work with RBD images v1

Add support for RBD Image Format v1:
- This format lacks ID field, required for dashboard. Instead,
RBD image `block_name_prefix` is used as unique ID (together with pool
id and namespace)
- Additionally, `image_format` is now exposed.
- In the front-end side:
  - Copy action on a v1 image will cause the image to be copied to v2
format.
  - List doesn't allow Move to Trash on v1 images,
  - Details section now shows `image_format` for images,
  - Edit Form disables flags not supported for v1 (`deep-flatten`,
`layering`, `exclusive-lock`).
  - Protect does not work on v1 images or v2 images created from v1
ones.

Fixes: https://tracker.ceph.com/issues/36354
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
(cherry picked from commit 119851ec89745026c273334efbcbf2d50128c99d)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-details/rbd-details.component.html: add row
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-form/rbd-form.component.ts: add imports
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-list/rbd-model.ts: add new fields
src/pybind/mgr/dashboard/services/ceph_service.py: just add get_pool_name_from_id
src/pybind/mgr/dashboard/services/rbd.py: discard changes
src/pybind/mgr/dashboard/controllers/rbd.py: bring and adapt code from services/rbd.py

Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge pull request #35400 from smithfarm/wip-45852-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:43:09 +0000 (10:43 -0700)]
Merge pull request #35400 from smithfarm/wip-45852-nautilus

nautilus: mds: flag backtrace scrub failures for new files as okay

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35399 from smithfarm/wip-45847-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:42:43 +0000 (10:42 -0700)]
Merge pull request #35399 from smithfarm/wip-45847-nautilus

nautilus: tests: qa/cephfs: run modprobe beforehand so that /sys/fs/fuse/connections is never absent

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35398 from smithfarm/wip-45843-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:42:16 +0000 (10:42 -0700)]
Merge pull request #35398 from smithfarm/wip-45843-nautilus

nautilus: cephfs: ceph_fuse: add the '-d' option back for libfuse

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35397 from smithfarm/wip-45839-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:41:32 +0000 (10:41 -0700)]
Merge pull request #35397 from smithfarm/wip-45839-nautilus

nautilus: cephfs: mds: cleanup uncommitted fragments before mds goes to active

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35396 from smithfarm/wip-45774-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:41:00 +0000 (10:41 -0700)]
Merge pull request #35396 from smithfarm/wip-45774-nautilus

nautilus: cephfs: vstart_runner: set mounted to True at the end of mount()

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35394 from smithfarm/wip-45709-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:40:27 +0000 (10:40 -0700)]
Merge pull request #35394 from smithfarm/wip-45709-nautilus

nautilus: mds: preserve ESlaveUpdate logevent until receiving OP_FINISH

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35377 from thmour/nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:39:57 +0000 (10:39 -0700)]
Merge pull request #35377 from thmour/nautilus

nautilus: cephfs: mds: add config to require forward to auth MDS

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35403 from smithfarm/wip-45887-nautilus
Yuri Weinstein [Thu, 9 Jul 2020 17:39:28 +0000 (10:39 -0700)]
Merge pull request #35403 from smithfarm/wip-45887-nautilus

nautilus: tests: qa/tasks/cephfs/test_scrub.py: use umount_wait to avoid possible ceph-fuse daemon stuck

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #34095 from rhcs-dashboard/wip-44696-nautilus
Laura Paduano [Wed, 8 Jul 2020 15:27:54 +0000 (17:27 +0200)]
Merge pull request #34095 from rhcs-dashboard/wip-44696-nautilus

nautilus: mgr/dashboard: add popover list of Stand-by Managers & Metadata Servers (MDS) in landing page

Reviewed-by: Ernesto Puertat <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agomgr/dashboard: add popover list of managers in landing page 34095/head
Avan Thakkar [Tue, 25 Feb 2020 08:49:10 +0000 (14:19 +0530)]
mgr/dashboard: add popover list of managers in landing page
Fixes: https://tracker.ceph.com/issues/42979
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit cdfeb1d196c7d47340baae2be5910b90c889e778)
Conflicts:
       src/pybind/mgr/dashboard/controllers/health.py
-removed few lines as those lines were removed in the master branch too
       src/pybind/mgr/dashboard/frontend/src/app/ceph/dashboard/health/health.component.html
-added the braces missing

5 years agoMerge pull request #35385 from smithfarm/wip-45800-nautilus
Yuri Weinstein [Mon, 6 Jul 2020 23:02:58 +0000 (16:02 -0700)]
Merge pull request #35385 from smithfarm/wip-45800-nautilus

nautilus: rbd: librbd: Watcher should not attempt to re-watch after detecting blacklisting

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #35384 from smithfarm/wip-45778-nautilus
Yuri Weinstein [Mon, 6 Jul 2020 19:51:32 +0000 (12:51 -0700)]
Merge pull request #35384 from smithfarm/wip-45778-nautilus

nautilus: rgw/url: fix amqp urls with vhosts

Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
5 years agoMerge pull request #35884 from rhcs-dashboard/wip-46312-nautilus
Lenz Grimmer [Mon, 6 Jul 2020 12:30:05 +0000 (14:30 +0200)]
Merge pull request #35884 from rhcs-dashboard/wip-46312-nautilus

nautilus: mgr/dashboard: Prometheus query error in the metrics of Pools, OSDs and RBD images

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
5 years agoMerge pull request #35367 from Devp00l/wip-45558-nautilus
Lenz Grimmer [Fri, 3 Jul 2020 07:46:02 +0000 (09:46 +0200)]
Merge pull request #35367 from Devp00l/wip-45558-nautilus

nautilus: mgr/dashboard: Prevent dashboard breakdown on bad pool selection

Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #35215 from shyukri/wip-40407-nautilus
Lenz Grimmer [Fri, 3 Jul 2020 07:43:54 +0000 (09:43 +0200)]
Merge pull request #35215 from shyukri/wip-40407-nautilus

nautilus: mgr/dashboard: Add QA tests for RBD configuration

Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agomgr/dashboard: Prometheus query error in the metrics of Pools, OSDs and RBD images 35884/head
Avan Thakkar [Mon, 13 Apr 2020 09:50:00 +0000 (15:20 +0530)]
mgr/dashboard: Prometheus query error in the metrics of Pools, OSDs and RBD images
Fixes: https://tracker.ceph.com/issues/45068
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit 47b515c09496da8fc326300bab6618250466effe)

5 years agorgw: clean up attempt loop in ordered listing 35882/head
J. Eric Ivancich [Wed, 18 Mar 2020 14:34:23 +0000 (10:34 -0400)]
rgw: clean up attempt loop in ordered listing

Convert a while loop into a for loop to better indicate how the
"attempt" lcv is managed.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 6ef83820564b07dbff91b3fc6909082537c0f815)

5 years agoMerge pull request #35831 from guits/wip-46250-nautilus
Jan Fajerski [Tue, 30 Jun 2020 13:09:00 +0000 (15:09 +0200)]
Merge pull request #35831 from guits/wip-46250-nautilus

nautilus: ceph-volume: add dmcrypt support in raw mode

5 years agoMerge pull request #35778 from cbodley/wip-46119
Casey Bodley [Mon, 29 Jun 2020 15:42:03 +0000 (11:42 -0400)]
Merge pull request #35778 from cbodley/wip-46119

nautilus: test/rgw: update hadoop versions

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
5 years agoMerge pull request #35754 from smithfarm/wip-wipe-rn-nautilus
Nathan Cutler [Mon, 29 Jun 2020 13:29:53 +0000 (15:29 +0200)]
Merge pull request #35754 from smithfarm/wip-wipe-rn-nautilus

nautilus: doc: PendingReleaseNotes: clean slate for 14.2.11

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
5 years agoceph-volume: remove unused function 35831/head
Guillaume Abrioux [Thu, 25 Jun 2020 11:33:09 +0000 (13:33 +0200)]
ceph-volume: remove unused function

This function is never called in raw context, let's remove it.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 20e8286f5e1b79678b17659272daa1e28e763618)

5 years agoceph-volume: add raw testing coverage
Guillaume Abrioux [Tue, 23 Jun 2020 12:54:50 +0000 (14:54 +0200)]
ceph-volume: add raw testing coverage

This commit adds testing against `ceph-volume raw` subcommand.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 7bb811c3b6ec25ca34734131115cee531439f0ff)

5 years agoceph-volume: add dmcrypt support in raw mode
Guillaume Abrioux [Fri, 24 Apr 2020 14:45:02 +0000 (16:45 +0200)]
ceph-volume: add dmcrypt support in raw mode

This commit adds the dmcrypt support in `ceph-volume raw` mode.

Note about `ceph-volume raw list` change:
Given `lsblk -J` (json output) option isn't available on all OS, I came up with
adding '--inverse' option to the existing command which allows us to get the
mapper devices list in that command output. Not listing root devices containing
partitions shouldn't have side effect since we are in `ceph-volume raw`
context.

example:
running `lsblk --paths --nodeps --output=NAME --noheadings` doesn't allow to
get the mapper list because the output is like following :

$ lsblk --paths --nodeps --output=NAME --noheadings
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd

the dmcrypt mappers are hidden because of the `--nodeps` given they are
displayed as a dependency.

$ lsblk --paths --output=NAME --noheadings
/dev/sda
|-/dev/mapper/ceph-3b52c90d-6548-407d-bde1-efd31809702f-sda-block-dmcrypt
`-/dev/mapper/ceph-3b52c90d-6548-407d-bde1-efd31809702f-sda-db-dmcrypt
/dev/sdb
/dev/sdc
/dev/sdd

adding `--inverse` is a trick to get around this issue, the counterpart is that
we can't list root devices if they contain at least one partition but this
shouldn't be an issue in `ceph-volume raw` context given we only deal with
raw devices.

Fixes: https://tracker.ceph.com/issues/45959
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 159c30d29f009c07e51a4bd7cd5ecea8cf6c8739)

5 years agomon/OSDMonitor: Reset grace period if failure interval exceeds a threshold. 35798/head
Sridhar Seshasayee [Mon, 8 Jun 2020 15:28:43 +0000 (20:58 +0530)]
mon/OSDMonitor: Reset grace period if failure interval exceeds a threshold.

Reset the grace hearbeat period if there have been no failures since the
set threshold value (48 Hrs). The mon_osd_laggy_halflife value is
leveraged to calculate the threshold.

A couple of helper functions do the following:
 - get_grace_interval_threshold():
    Calculates and returns the grace interval threshold value.
 - grace_interval_threshold_exceeded(int):
    Checks if grace interval threshold is exceeded based on the last
    down stamp.
 - set_default_laggy_params(int):
     Resets the laggy_probability and laggy_interval in the
     new_xinfo structure maintained within pending_inc to be applied
     eventually as part of update from paxos.

The threshold value is checked and the laggy parameters are reset at the
following point,
 - encode_pending() - If an existing osd is experiencing failure
   after an interval exceeding the failure threshold period.

Fixes: https://tracker.ceph.com/issues/45943
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 9f1d4c1a9cddd942c9ea804dff8dc8068efc06b8)

5 years ago14.2.10 v14.2.10
Jenkins Build Slave User [Thu, 25 Jun 2020 17:32:30 +0000 (17:32 +0000)]
14.2.10

5 years agoMerge pull request #35775 from theanalyst/nautilus-rgw-cors-fixes
Abhishek L [Thu, 25 Jun 2020 17:26:27 +0000 (19:26 +0200)]
Merge pull request #35775 from theanalyst/nautilus-rgw-cors-fixes

nautilus: rgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader

Reviewed-By: Josh Durgin <jdurgin@redhat.com>
Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
5 years agoqa/rgw: remove test against hadoop v2.8.5 35778/head
Casey Bodley [Tue, 14 Jan 2020 14:42:52 +0000 (09:42 -0500)]
qa/rgw: remove test against hadoop v2.8.5

the hadoop branch rel/release-2.8.5 fails to build with:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:37 min
[INFO] Finished at: 2020-01-14T13:09:02Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (create-parallel-tests-dirs) on project hadoop-aws: An Ant BuildException has occured: Unable to create javax script engine for javascript

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b10873142ea25c07339a5ad45dc530c15c5d3205)

5 years agoqa/rgw: remove test against hadoop trunk
Casey Bodley [Tue, 14 Jan 2020 14:39:32 +0000 (09:39 -0500)]
qa/rgw: remove test against hadoop trunk

hadoop's trunk fails to build with many 'package does not exist' errors:

[INFO] 100 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  48.792 s
[INFO] Finished at: 2020-01-14T13:07:36Z
[INFO] ------------------------------------------------------------------------

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 5bb03f143e988fceef6968ee9a9a1f8e0d26cdac)

5 years agoqa/tests: update hadooop versions used for test
Vasu Kulkarni [Wed, 23 Jan 2019 19:56:47 +0000 (11:56 -0800)]
qa/tests: update hadooop versions used for test

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit badd61f10f5c243322d41e85d08474190d13809e)

5 years agorgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader 35775/head
Casey Bodley [Tue, 26 May 2020 19:03:03 +0000 (15:03 -0400)]
rgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader

the values in the <ExposeHeader> element are sent back to clients in a
Access-Control-Expose-Headers response header. if the values are allowed
to have newlines in them, they can be used to inject arbitrary response
headers

this issue only affects s3, which gets these values from an xml document

in swift, they're given in the request header
X-Container-Meta-Access-Control-Expose-Headers, so the value itself
cannot contain newlines

Signed-off-by: Casey Bodley <cbodley@redhat.com>
Reported-by: Adam Mohammed <amohammed@linode.com>
5 years agodoc: PendingReleaseNotes: clean slate for 14.2.11 35754/head
Nathan Cutler [Wed, 24 Jun 2020 19:08:40 +0000 (21:08 +0200)]
doc: PendingReleaseNotes: clean slate for 14.2.11

All of these Pending Release Notes have been included in the official
14.2.10 Release Notes, so keeping them in this file any longer would be
counterproductive.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #35599 from tchaikov/nautilus-el8
Yuri Weinstein [Thu, 18 Jun 2020 15:20:14 +0000 (08:20 -0700)]
Merge pull request #35599 from tchaikov/nautilus-el8

nautilus: ceph.spec.in: build on el8

Reviewed-by: David Galloway <dgallowa@redhat.com>
5 years agoMerge pull request #35488 from jdurgin/wip-radosbench-qa-nautilus
Yuri Weinstein [Thu, 18 Jun 2020 15:19:20 +0000 (08:19 -0700)]
Merge pull request #35488 from jdurgin/wip-radosbench-qa-nautilus

nautilus: qa/tasks/radosbench: use long form of option for compatibility

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoqa/tasks/mgr/dashboard/test_health: ignore fsmap.standbys
Kiefer Chang [Wed, 25 Mar 2020 03:17:17 +0000 (11:17 +0800)]
qa/tasks/mgr/dashboard/test_health: ignore fsmap.standbys

Fixes: https://tracker.ceph.com/issues/44725
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
(cherry picked from commit afce413014086ab7cab5de133dae91e30635198a)

5 years agoqa/tasks/mgr/dashboard/test_health: update mdsmap schema
Kiefer Chang [Tue, 24 Mar 2020 10:14:05 +0000 (18:14 +0800)]
qa/tasks/mgr/dashboard/test_health: update mdsmap schema

Fixes: https://tracker.ceph.com/issues/44725
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
(cherry picked from commit 933df97cab1c1042dc350d8c08d26cb01ea240cf)

5 years agoinstall-deps.sh: enable CRB/PowerTool repo for RHEL/CentOS 8 35599/head
Kefu Chai [Tue, 1 Oct 2019 09:31:52 +0000 (17:31 +0800)]
install-deps.sh: enable CRB/PowerTool repo for RHEL/CentOS 8

see also https://fedoraproject.org/wiki/EPEL

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit d301137bb16d4e530745172624ed9800a9b4c5ae)

5 years agoceph.spec.in: Enable amqp_endpoint on RHEL8 by default
Brad Hubbard [Fri, 25 Oct 2019 05:29:37 +0000 (15:29 +1000)]
ceph.spec.in: Enable amqp_endpoint on RHEL8 by default

RHEL/CentOS 8 now provide librabbitmq-devel so we can enable it as a
build requirement.

Fixes: https://tracker.ceph.com/issues/38466
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit c44c140dfab4551eebc532c13865f56557b8378c)

5 years agoceph.spec.in: disable cephfs_java and amqp_endpoint if RHEL8
Kefu Chai [Sat, 28 Sep 2019 13:57:29 +0000 (21:57 +0800)]
ceph.spec.in: disable cephfs_java and amqp_endpoint if RHEL8

RHEL/CentOS 8 does not offer junit and sharutils yet, so disable
cephfs_java on rhel8 at this moment.

RHEL/CentOS 8 does not offer librabbitmq-devel yet, so disable
amqp_endpoint on rhel8 at this moment.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit dd133840b9d35ca7d8b1788836f6076b06c33087)

Conflicts:
ceph.spec.in: trivial resolution

5 years agoceph.spec.in: fix 'make check' deps for centos8
Alfonso Martínez [Thu, 23 Jan 2020 10:16:27 +0000 (11:16 +0100)]
ceph.spec.in: fix 'make check' deps for centos8

When running 'FOR_MAKE_CHECK=1 ./install-deps.sh' in CentOS 8
these dependencies were not being installed.
Missing dependencies are provided by
https://copr.fedorainfracloud.org/coprs/ktdreyer/ceph-el8/

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit e5fa448229646a9dc9e3314389374d43243b06d2)

Conflicts:
ceph.spec.in: trivial resolution

5 years agoceph.spec.in: re-enable "make check" deps for el8
Kefu Chai [Tue, 24 Dec 2019 05:17:55 +0000 (13:17 +0800)]
ceph.spec.in: re-enable "make check" deps for el8

this change partially reverts e92cb7a0. as these packages are now
available in AppStream, BaseOS or PowerTools in el8, in this change,
they are re-enabled.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 2a27084e1d77919571e338c4634576e4b36dbd02)

Conflicts:
ceph.spec.in: trivial resolution

5 years agoceph.spec.in: move distro-conditional deps to dedicated section
Nathan Cutler [Fri, 6 Dec 2019 13:51:40 +0000 (14:51 +0100)]
ceph.spec.in: move distro-conditional deps to dedicated section

Post e92cb7a0336406a2981e9241031497b1749b26aa cleanup. Restore previous
structure of "distro-conditional make check dependencies" section.

Fixes: https://tracker.ceph.com/issues/43171
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit e80d14a17647c5f6e7c3c7fcc4c8bfb5c8297fcd)

Conflicts:
ceph.spec.in: trivial resolution

5 years agoceph.spec.in: run pathfix.py
Kefu Chai [Fri, 1 Nov 2019 15:18:23 +0000 (10:18 -0500)]
ceph.spec.in: run pathfix.py

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 97bf619e1c538eea4d884b82c4f316e2da15dc3d)

5 years agoceph.spec.in: install python3-Cython on el8
Kefu Chai [Tue, 1 Oct 2019 10:12:43 +0000 (18:12 +0800)]
ceph.spec.in: install python3-Cython on el8

EL8 has python3 support. no need to wait for python3-Cython to populate
to its mirrors.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 0098b42927be9d965e8377fe1fd769774ff3b27a)

5 years agoceph.spec.in: disable "make check" for rhel8
Kefu Chai [Sat, 28 Sep 2019 14:01:31 +0000 (22:01 +0800)]
ceph.spec.in: disable "make check" for rhel8

following packages are not available on RHEL/CentOS 8, they are for
dashboard unit tests. so disable all python packages for dashboard
tests for now:

python-cherrypy
python-coverage
python-pecan
python-routes
python-tox
xmlsec1-devel

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit e92cb7a0336406a2981e9241031497b1749b26aa)

Conflicts:
ceph.spec.in: trivial resolution

5 years agorpm,deb: python-requests is not needed for ceph-common
luo.runbing [Tue, 17 Sep 2019 06:55:37 +0000 (14:55 +0800)]
rpm,deb: python-requests is not needed for ceph-common

Signed-off-by: luo.runbing <luo.runbing@zte.com.cn>
(cherry picked from commit 998a3025c0e87638ae7b36a8b44710abb30fff8a)

Conflicts:
ceph.spec.in: trivial resolution

5 years agoMerge pull request #35520 from ajarr/py3-fs-fixes-nautilus
Yuri Weinstein [Tue, 16 Jun 2020 15:27:55 +0000 (08:27 -0700)]
Merge pull request #35520 from ajarr/py3-fs-fixes-nautilus

nautilus: qa/tasks/cephfs: py 3 transition fixes

Reviewed-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agotest_volume_client: simplify test_get_authorized_ids() 35520/head
Rishabh Dave [Mon, 20 May 2019 09:30:07 +0000 (11:30 +0200)]
test_volume_client: simplify test_get_authorized_ids()

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 79d62dd87461c43dd6df3775f21962be9042a7b1)

5 years agoqa/tasks/cephfs: os.write takes bytes, not str
Sage Weil [Thu, 19 Dec 2019 17:08:59 +0000 (11:08 -0600)]
qa/tasks/cephfs: os.write takes bytes, not str

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 05eb2f647d16504a81ff17a8ef732cf0e2d90284)

Conflicts:
qa/tasks/cephfs/test_pool_perm.py: trivial resolution

5 years agoqa/tasks/cephfs: python3
Sage Weil [Thu, 19 Dec 2019 03:51:52 +0000 (21:51 -0600)]
qa/tasks/cephfs: python3

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 3c751fea7f48ef613286211797a7eafc4913b36e)

Conflicts:
qa/tasks/cephfs/kernel_mount.py
qa/tasks/cephfs/test_volume_client.py

5 years agoqa/tasks/cephfs/kernel_mount: fix incomplete py3 transition backport
Ramana Raja [Wed, 10 Jun 2020 11:22:14 +0000 (16:52 +0530)]
qa/tasks/cephfs/kernel_mount: fix incomplete py3 transition backport

Commit 3dad1ac5f2db97cc3445bdf14a80dbb3e11f7d21 wan an incomplete
backport of 875b45f3c903781ba99dbd2fcf4d2fc89001c25b. The missing
commit lines are added here.

Introduced-by: 3dad1ac5f2db97cc3445bdf14a80dbb3e11f7d21
Fixes: https://tracker.ceph.com/issues/45966
Signed-off-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35391 from smithfarm/wip-45679-nautilus
Yuri Weinstein [Thu, 11 Jun 2020 15:43:40 +0000 (08:43 -0700)]
Merge pull request #35391 from smithfarm/wip-45679-nautilus

nautilus: cephfs: allow pool names with hyphen and period

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35535 from ajarr/wip-45960
Ramana Raja [Thu, 11 Jun 2020 13:49:07 +0000 (19:19 +0530)]
Merge pull request #35535 from ajarr/wip-45960

nautilus: fix TestExports failure

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
5 years agoqa: return a string via getfattr 35535/head
Patrick Donnelly [Fri, 22 May 2020 21:15:19 +0000 (14:15 -0700)]
qa: return a string via getfattr

Fixes: https://tracker.ceph.com/issues/45666
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 3c1330795add81126424e9e0a49cc07881fbdf8f)

5 years agoqa/test_exports: fix TestExports failure under new python3 compability changes
Sidharth Anupkrishnan [Wed, 29 Apr 2020 13:04:57 +0000 (18:34 +0530)]
qa/test_exports: fix TestExports failure under new python3 compability changes

self.mount_a.client_remote.sh() returns an 'str' object rather than a StringIO object. Hence the p.stdout.getvalue() produces an error. This commit fixes this and also fix str and byte mismatch as byte and string were the same object in Python2 but this is not the case in Python3.

Signed-off-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
(cherry picked from commit b98f3e388b6a38e91c2ee064466ae8f130a5bcda)

5 years agoMerge pull request #35393 from smithfarm/wip-45689-nautilus
Yuri Weinstein [Wed, 10 Jun 2020 15:32:51 +0000 (08:32 -0700)]
Merge pull request #35393 from smithfarm/wip-45689-nautilus

nautilus: cephfs: client: expose Client::ll_register_callback via libcephfs

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
5 years agoMerge pull request #35392 from smithfarm/wip-45686-nautilus
Yuri Weinstein [Wed, 10 Jun 2020 15:32:03 +0000 (08:32 -0700)]
Merge pull request #35392 from smithfarm/wip-45686-nautilus

nautilus: cephfs: mds: take xlock in the order requests start locking

Reviewed-by: Ramana Raja <rraja@redhat.com>
5 years agoMerge pull request #35482 from ajarr/wip-45681-nautilus
Kotresh HR [Wed, 10 Jun 2020 05:57:02 +0000 (11:27 +0530)]
Merge pull request #35482 from ajarr/wip-45681-nautilus

nautilus: mgr/volumes: minor fixes

Reviewed-by: Kotresh HR <khiremat@redhat.com>
5 years agoqa/tasks/radosbench: use long form of option for compatibility 35488/head
Josh Durgin [Mon, 8 Jun 2020 18:29:43 +0000 (11:29 -0700)]
qa/tasks/radosbench: use long form of option for compatibility

Since the short version of --object-size changed from -o to -O, it
does not work with upgrade tests.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 9673d37f1b72681f7583bf36537575d876da9712)

5 years agoMerge pull request #35453 from shyukri/wip-45784-nautilus
Yuri Weinstein [Tue, 9 Jun 2020 16:48:15 +0000 (09:48 -0700)]
Merge pull request #35453 from shyukri/wip-45784-nautilus

nautilus: ceph-volume: add and delete lvm tags in a single lvchange call.

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge pull request #35461 from badone/wip-44846-nautilus
Yuri Weinstein [Tue, 9 Jun 2020 15:01:52 +0000 (08:01 -0700)]
Merge pull request #35461 from badone/wip-44846-nautilus

nautilus: install-deps.sh: Use dnf for rhel/centos 8

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35387 from smithfarm/wip-45780-nautilus
Yuri Weinstein [Tue, 9 Jun 2020 14:57:49 +0000 (07:57 -0700)]
Merge pull request #35387 from smithfarm/wip-45780-nautilus

nautilus: qa/workunits/rados/test_envlibrados_rocksdb: Build correct rocksdb

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
5 years agoqa/cephfs: make run_shell() accept args as str too 35391/head
Rishabh Dave [Fri, 19 Jul 2019 08:18:51 +0000 (13:48 +0530)]
qa/cephfs: make run_shell() accept args as str too

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit a83ea849d7d2096762a125b8c6dbb8eb9988b2a9)

Conflicts:
qa/tasks/cephfs/mount.py
- in nautilus, run_shell doesn't take a "stdin" argument

5 years agomgr/volumes: Create subvolume with isolated rados namespace 35482/head
Kotresh HR [Mon, 27 Apr 2020 18:31:33 +0000 (00:01 +0530)]
mgr/volumes: Create subvolume with isolated rados namespace

1. Add --namespace-isolated option to 'subvolume create' command
   to create subvolume in a separate RADOS namespace
2. Add "pool_namespace" field to 'subvolume info' command
   which displays the rados namespace if set else empty string

Fixes: https://tracker.ceph.com/issues/45289
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 7396880d4096b3a2a813b8ebcdcdf3082ee98b23)

5 years agomgr/volumes: Fix subvolume create idempotency
Kotresh HR [Fri, 15 May 2020 14:59:01 +0000 (20:29 +0530)]
mgr/volumes: Fix subvolume create idempotency

After subvolume is created, it can be resized
using subvolume create command. But it was
broken and the same is fixed.

Fixes: https://tracker.ceph.com/issues/45398
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit db8706aa68887a45f25340a62eaddf62c0ea4f46)

5 years agoinstall-deps.sh: Use dnf for rhel/centos 8 35461/head
Brad Hubbard [Fri, 25 Oct 2019 05:51:38 +0000 (15:51 +1000)]
install-deps.sh: Use dnf for rhel/centos 8

Also install the correct dnf-utils package rather than yum-utils.

Fixes: https://tracker.ceph.com/issues/42504
Co-Authored-By: Kefu Chai <tchaikov@gmail.com>
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit 6065050022053478ac77aa6c34e3d71339080880)

Conflicts:
install-deps.sh - Changes for install-deps-cache

5 years agoceph-volume: add and delete lvm tags in a single lvchange call. 35453/head
Jan Fajerski [Tue, 31 Mar 2020 14:07:45 +0000 (16:07 +0200)]
ceph-volume: add and delete lvm tags in a single lvchange call.

Otherwise we can end up in race-y situations when a concurrent c-v calls
sees only one tag but expects all tags to be present. Say if the
ceph.type tag is present, c-v expects ceph.osd_id to be present. By
setting/deleting tags in bulk, we use lvchange (and lvms internal
locking) as a sync mechanism.

Fixes: https://tracker.ceph.com/issues/44852
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 20ecc309371e53fda5d6a5b6cf6de6110dbe5497)

5 years agoMerge pull request #35184 from smithfarm/wip-44330-nautilus
Yuri Weinstein [Fri, 5 Jun 2020 15:45:18 +0000 (08:45 -0700)]
Merge pull request #35184 from smithfarm/wip-44330-nautilus

nautilus: tests: specify random distros in multimds

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #34356 from smithfarm/wip-44899-nautilus
Yuri Weinstein [Fri, 5 Jun 2020 15:44:06 +0000 (08:44 -0700)]
Merge pull request #34356 from smithfarm/wip-44899-nautilus

nautilus: mgr: Improve internal python to c++ interface

Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agomgr/dashboard: Prevent dashboard breakdown on bad pool selection 35367/head
Stephan Müller [Fri, 24 Jan 2020 15:36:48 +0000 (16:36 +0100)]
mgr/dashboard: Prevent dashboard breakdown on bad pool selection

The problem was that if a pool was created that outsizes the max
available OSDs the pool gets stuck with the "creating+incomplete" pg
state. If this pool than is selected to get it's details, the method the
dashboard is calling to get the pools RBD configuration will get stuck,
therefore the dashboard gets stuck.

This is the issue to the related bug:
https://tracker.ceph.com/issues/43771

ATM this is only a workaround it won't fix the underlying problem, it
will just ensure that the dashboard just won't call the method if the
pools pg state is in the mentioned state.

Fixes: https://tracker.ceph.com/issues/43765
Signed-off-by: Stephan Müller <smueller@suse.com>
(cherry picked from commit e174b91d6b7670ed575577ddff18edc354be69fb)

Conflicts:
src/pybind/mgr/dashboard/services/rbd.py
- Import for ceph_service was missing
- Filters out 'unknown' state instead of 'incomplete' state, as pools
in nautilus wait for PGs to be there.
src/pybind/mgr/dashboard/services/ceph_service.py
- Import conflict
src/pybind/mgr/dashboard/tests/test_rbd_service.py
- Test file wasn't there before

5 years agomds: add config to require forward to auth MDS 35377/head
simon gao [Tue, 10 Sep 2019 09:57:25 +0000 (05:57 -0400)]
mds: add config to require forward to auth MDS

If mds_forward_all_requests_to_auth is set to true. MDS will been forbidden to load noauth inode, and the auth MDS will not send other info of rep. MDS through func named set_trace_dist. so the client will only send req to auth mds of inode.
(cherry picked from commit 7d42df0)

Signed-off-by: simon gao <simon29rock@gmail.com>
 Conflicts:
src/mds/MDCache.h
 - There were conflicts involving definitions in master between the added
   lines. The master only code was removed and the PR's changes were kept.
   bool forward_all_requests_to_auth was moved to the appropriate position,
   the surrounding code block in the "theirs" section was already repeated
   in the file at another place.

5 years agoqa/tasks/cephfs/test_scrub.py: use umount_wait to avoid ceph-fuse stuck 35403/head
Xiubo Li [Mon, 1 Jun 2020 01:57:24 +0000 (21:57 -0400)]
qa/tasks/cephfs/test_scrub.py: use umount_wait to avoid ceph-fuse stuck

If the ceph-fuse client need to flush the caps and does sync wait,
the umount() will just return successfully, then the netns container
will be destroyed and the network will not be reachable, but the
ceph-fuse daemon is still stucked and waiting for the flush caps ack.

This will cause the ceph-fuse daemon get stuck forever and if the
mds daemons get restarted, it will try to reconnect the clients,
but the stucked ceph-fuse daemnon won't reply to it, because it is
not reachable any more.

Fixes: https://tracker.ceph.com/issues/45665
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit a7423b2286154a4403e586b5148984649f988a03)

5 years agomds: preserve ESlaveUpdate::OP_PREPARE logevent before doing commit 35394/head
songxinying [Sun, 12 Apr 2020 14:01:00 +0000 (22:01 +0800)]
mds: preserve ESlaveUpdate::OP_PREPARE logevent before doing commit

Fixes: https://tracker.ceph.com/issues/45024
Signed-off-by: songxinying <songxinying@sensetime.com>
(cherry picked from commit 4940ab62e0d19ce36e53bcc67b2a2161c47f6c6d)

Conflicts:
    src/mds/MDCache.cc
- use MMDSResolve::create() in nautilus, instead of make_message<MMDSResolve>()
    src/mds/MDCache.h
    src/mds/Mutation.h
- in nautilus, these two files are structured differently from master (large
  chunks of the master code are missing in nautilus, ordering of code is
  different also)
    src/mds/Server.cc
- use nautilus equivalent instead of "make_message<MMDSSlaveRequest>"

5 years agomds: Explicitly call slave_updates with 0 size
Varsha Rao [Mon, 16 Sep 2019 09:13:25 +0000 (05:13 -0400)]
mds: Explicitly call slave_updates with 0 size

Signed-off-by: Varsha Rao <varao@redhat.com>
(cherry picked from commit 00112202cf9e94411f446a9e3170352ea41c58c9)

5 years agomds: Move log_segment_seq_t into class LogSegment
Varsha Rao [Mon, 16 Sep 2019 06:19:22 +0000 (02:19 -0400)]
mds: Move log_segment_seq_t into class LogSegment

Signed-off-by: Varsha Rao <varao@redhat.com>
(cherry picked from commit 3ec71f994d54038567bb575b141e150dbd45ac4d)

5 years agomds: Reorganize class members in LogSegment header
Varsha Rao [Fri, 6 Sep 2019 07:43:13 +0000 (13:13 +0530)]
mds: Reorganize class members in LogSegment header

Fixes: https://tracker.ceph.com/issues/41678
Signed-off-by: Varsha Rao <varao@redhat.com>
(cherry picked from commit 8751b35210d3d88f7436b4d45e6e30a92bcb3815)

5 years agomds: flag backtrace scrub failures for new files as okay 35400/head
Milind Changire [Tue, 2 Jun 2020 02:11:39 +0000 (07:41 +0530)]
mds: flag backtrace scrub failures for new files as okay

New, unwritten files, fail when backtracing during scrub.
This is not necessarily bad. So flag such failures as okay and continue
with other entries.

Fixes: https://tracker.ceph.com/issues/43543
Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit be650fe47ddc808c0d8517523ea41f7f34ef16f1)

Conflicts:
qa/tasks/cephfs/cephfs_test_case.py
- RuntimeError call has different number of arguments in nautilus, but
  this difference is not relevant to this backport

5 years agoqa/cephfs: add FUSE module before running mount -t fusectl 35399/head
Rishabh Dave [Tue, 28 Apr 2020 10:19:19 +0000 (15:49 +0530)]
qa/cephfs: add FUSE module before running mount -t fusectl

Also, change timeout from 15 minutes to 30 seconds for the command
"mount -t fusectl xxx xxx" since 15 minutes is too much as per Zheng.

Fixes: https://tracker.ceph.com/issues/45304
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 2d7c32997b9e5db5a13f5ed6e117ac9f71dac370)

5 years agoceph_fuse: enable fuse_debug when the '-d' option is specified 35398/head
Xiubo Li [Mon, 25 May 2020 01:05:42 +0000 (21:05 -0400)]
ceph_fuse: enable fuse_debug when the '-d' option is specified

The global_init() will check and remove the -d option, but it should
enable the libfuse debug mode.

Fixes: https://tracker.ceph.com/issues/45524
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit 818f56b0da249311c4950406b11c0f97faa86789)

5 years agomds: cleanup uncommitted fragments before mds goes to active 35397/head
Yan, Zheng [Mon, 25 May 2020 13:48:23 +0000 (21:48 +0800)]
mds: cleanup uncommitted fragments before mds goes to active

Fixes: https://tracker.ceph.com/issues/45699
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 77eb368d2d35f2418875227fff9a34b5ef15a290)

5 years agocommon/ceph_mutex: add more ceph_mutex_is_*() helpers 35393/head
Kefu Chai [Sun, 7 Jul 2019 08:17:35 +0000 (16:17 +0800)]
common/ceph_mutex: add more ceph_mutex_is_*() helpers

we have caller sites like

ceph_assert(!client->client_lock.is_locked_by_me())

in `src/client/Client.cc` and `src/librados/RadosClient.cc`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 307ccc42f09421b2bf1df3792a29a4b86bdd2b1a)

5 years agocommon/ceph_mutex: improve ceph::shared_mutex
Kefu Chai [Sun, 7 Jul 2019 04:32:53 +0000 (12:32 +0800)]
common/ceph_mutex: improve ceph::shared_mutex

add helpers for supporting `ceph_mutex_is_locked()` and
`ceph_mutex_is_wlocked()` macros

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit cc67c34a9e5b32e9372f6e109549619def3b6bc4)

5 years agovstart_runner: set mounted to True at the end of mount() 35396/head
Rishabh Dave [Wed, 27 May 2020 09:15:59 +0000 (14:45 +0530)]
vstart_runner: set mounted to True at the end of mount()

Not doing so prevents cleanup methods from running.

Fixes: https://tracker.ceph.com/issues/45723
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 418dea32c22f878936b883a6b7c2900ba02e72a1)

5 years agoclient: add a new inode release request callback
Jeff Layton [Fri, 17 Apr 2020 13:55:41 +0000 (09:55 -0400)]
client: add a new inode release request callback

trim_caps() walks the list of caps on the session, and releases
non-auth caps, and attempts to trim dentries until the cache
size is under the max_caps value requested by MDS.

This is fine for FUSE, but doesn't really match the use-case of
nfs-ganesha. Ganesha typically looks up inodes by inode number, not
by dentry. It's quite possible that after a restart, we may have a
ton of outstanding inodes with no dentries associated with them.

Ganesha holds a reference to each inode, so libcephfs can't release
them, and we don't have a way to request that ganesha do so.

Add a new ino_release_callback and finisher. The intent is to allow
libcephfs to "upcall" to the application and request that it release
references to a specific inode.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit e3b9df78fa42add2dfea1f8bff1e00c832a35697)

5 years agoclient: expose ceph_ll_register_callbacks via libcephfs
Jeff Layton [Thu, 16 Apr 2020 16:19:59 +0000 (12:19 -0400)]
client: expose ceph_ll_register_callbacks via libcephfs

Allow applications based on libcephfs to register callbacks, like we
do for ceph-fuse.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit adcf12d6c329a3bd534e089bc0c8b42dfd3e4515)

5 years agoclient: move callback typedefs and arg struct into ceph_ll_client.h
Jeff Layton [Thu, 16 Apr 2020 16:09:54 +0000 (12:09 -0400)]
client: move callback typedefs and arg struct into ceph_ll_client.h

Put them in a common interface header file. This also allows us to
eliminate the duplicate definition of ceph_deleg_cb_t in Delegation.h.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 8370f70cacfb0bccc96d121cab687376155e8b8d)

Conflicts:
src/include/cephfs/libcephfs.h
- nautilus version of this file does not have the line:
      struct CephContext;

5 years agotest: add a new program for testing ino_release_cb
Jeff Layton [Tue, 28 Apr 2020 18:00:13 +0000 (14:00 -0400)]
test: add a new program for testing ino_release_cb

Create a bunch of files and get their inode numbers. Remount, look them
all up by inode number and hold references. Stop looking up inodes as
soon as we get a callback from libcephfs. If we got the callback, return
success. Fail otherwise.

Since this has the same cluster setup as the other client_trim_caps
testcase, we can piggyback onto that task.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit c0db8a01f0a04cf9e10f3715bfb802d619bc32b9)

5 years agoclient: rename ceph_statx.h to ceph_ll_client.h
Jeff Layton [Thu, 16 Apr 2020 16:01:05 +0000 (12:01 -0400)]
client: rename ceph_statx.h to ceph_ll_client.h

...so we can use it to include other definitions and types that need to
be shared with in-tree code that doesn't want to include libcephfs.h.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 4436f27a0476e96d10ed3367d738e1679d8b0a38)

Conflicts:
src/client/Client.h
- nautilus version does not have the line
      #include "include/common_fwd.h"
  which is not relevant to this backport

5 years agoclient: make client_dentry_callback_t more friendly for C
Jeff Layton [Thu, 16 Apr 2020 14:05:20 +0000 (10:05 -0400)]
client: make client_dentry_callback_t more friendly for C

C doesn't have the string type, and doesn't understand references.
Change client_dentry_callback_t to take separate pointer and length
arguments.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 79b588211017d8af15a0e49628563dbe45b55ccb)

5 years agoclient: only override umask_cb with non-NULL values
Jeff Layton [Tue, 21 Apr 2020 12:50:54 +0000 (08:50 -0400)]
client: only override umask_cb with non-NULL values

Client::init sets this, but if we later call ll_register_callbacks again
with a new set of function pointers that has umask_cb set to nullptr,
it'll override the value in the cmount.

Only reset umask_cb if the one in args is not nullptr.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 4cb17bb12feaa2b1a78a08612f8e80a191c87e5e)

5 years agomds: take xlock in the order requests start locking 35392/head
Yan, Zheng [Mon, 27 Apr 2020 06:48:33 +0000 (14:48 +0800)]
mds: take xlock in the order requests start locking

this avoid assertion in MutaionImpl::finish_locking()

Fix: https://tracker.ceph.com/issues/45261
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 2e11a35d5b06312e0b2d0aecd83e8eb882ddf719)

5 years agocephfs: allow pool names with '-' and '.'
Ramana Raja [Thu, 14 May 2020 10:06:22 +0000 (15:36 +0530)]
cephfs: allow pool names with '-' and '.'

... to be set as pool layouts for files and directories.

Fixes: https://tracker.ceph.com/issues/45521
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit d9f8f8e3d073de8e1cfd5075159420ca8dfdcf2d)

Conflicts:
doc/cephfs/administration.rst
- nautilus has "filesystems" where master has "file systems"
  - a difference that is not relevant to this backport

5 years agoqa/workunits/rados/test_envlibrados_rocksdb: Build correct rocksdb 35387/head
Brad Hubbard [Thu, 9 Apr 2020 04:33:51 +0000 (14:33 +1000)]
qa/workunits/rados/test_envlibrados_rocksdb: Build correct rocksdb

We should be building the version of rocksdb the release is pinned to,
not master. Let's just update the rocksdb submodule and clone that.

Fixes: https://tracker.ceph.com/issues/44981
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit 1361913f5995f8a4c8e1b0f5c661ad09e66fe9aa)

5 years agolibrbd: Watcher should not attempt to re-watch after detecting blacklisting 35385/head
Jason Dillaman [Thu, 28 May 2020 20:38:40 +0000 (16:38 -0400)]
librbd: Watcher should not attempt to re-watch after detecting blacklisting

Currently, the Watcher state machine will spin as fast as it can sending
re-watch requests to the OSD and then retrying after it fails with the
EBLACKLISTED error. Treat a blacklisting similarly to how removal of the
object is treated: stop attempting to re-watch.

Fixes: https://tracker.ceph.com/issues/45715
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 6be1d49c35be4c937664939947a52f33696b0d8f)

5 years agorgw/url: fix commensts from review #34717 35384/head
Yuval Lifshitz [Tue, 19 May 2020 13:29:46 +0000 (16:29 +0300)]
rgw/url: fix commensts from review #34717

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Fixes: https://tracker.ceph.com/issues/45269
(cherry picked from commit 32a93ecf50a236ea654448f761371e7cce89c262)