]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoMerge pull request #36167 from ajarr/nautilus-mgr-fs-volumes-misc
Ramana Raja [Mon, 27 Jul 2020 18:38:28 +0000 (00:08 +0530)]
Merge pull request #36167 from ajarr/nautilus-mgr-fs-volumes-misc

nautilus: mgr/fs/volumes misc fixes

Reviewed-by: Kotresh HR <khiremat@redhat.com>
4 years agoMerge pull request #36294 from ajarr/wip-46470
Yuri Weinstein [Mon, 27 Jul 2020 15:35:08 +0000 (08:35 -0700)]
Merge pull request #36294 from ajarr/wip-46470

nautilus: client: release the client_lock before copying data in read

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36215 from vshankar/wip-46388
Yuri Weinstein [Mon, 27 Jul 2020 15:34:32 +0000 (08:34 -0700)]
Merge pull request #36215 from vshankar/wip-46388

nautilus: client: introduce timeout for client shutdown

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36180 from ajarr/wip-46464-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:33:57 +0000 (08:33 -0700)]
Merge pull request #36180 from ajarr/wip-46464-nautilus

nautilus: pybind/cephfs: fix custom exception raised by cephfs.pyx

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36179 from smithfarm/wip-46523-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:33:08 +0000 (08:33 -0700)]
Merge pull request #36179 from smithfarm/wip-46523-nautilus

nautilus: mds: fix hang issue when accessing a file under a lost parent directory

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36178 from smithfarm/wip-46521-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:32:43 +0000 (08:32 -0700)]
Merge pull request #36178 from smithfarm/wip-46521-nautilus

nautilus: mds: do not submit omap_rm_keys if the dir is the basedir of merge.

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36177 from smithfarm/wip-46517-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:31:44 +0000 (08:31 -0700)]
Merge pull request #36177 from smithfarm/wip-46517-nautilus

nautilus: cephfs: client: fix directory inode can not call release callback

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge pull request #36175 from smithfarm/wip-46474-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:30:13 +0000 (08:30 -0700)]
Merge pull request #36175 from smithfarm/wip-46474-nautilus

nautilus: mds: make threshold for MDS_TRIM configurable

4 years agoMerge pull request #36173 from smithfarm/wip-46409-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:29:40 +0000 (08:29 -0700)]
Merge pull request #36173 from smithfarm/wip-46409-nautilus

nautilus: cephfs: client: fix setxattr for 0 size value (NULL value)

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
4 years agoMerge pull request #36172 from smithfarm/wip-46310-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:29:10 +0000 (08:29 -0700)]
Merge pull request #36172 from smithfarm/wip-46310-nautilus

nautilus: tests: qa/tasks/cephfs/cephfs_test_case.py: skip cleaning the core dumps when in program case

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
4 years agoMerge pull request #36171 from smithfarm/wip-46200-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:28:36 +0000 (08:28 -0700)]
Merge pull request #36171 from smithfarm/wip-46200-nautilus

nautilus: tests: Revert "Revert "qa/suites/rados/mgr/tasks/module_selftest: whitelist …

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
4 years agoMerge pull request #36170 from smithfarm/wip-46189-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:27:57 +0000 (08:27 -0700)]
Merge pull request #36170 from smithfarm/wip-46189-nautilus

nautilus: mds: reset heartbeat in EMetaBlob replay

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36169 from smithfarm/wip-46187-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:27:16 +0000 (08:27 -0700)]
Merge pull request #36169 from smithfarm/wip-46187-nautilus

nautilus: cephfs: client: fix snap directory atime

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36270 from yuriw/wip-yuriw-nautilus-p2p-nautilus
Yuri Weinstein [Mon, 27 Jul 2020 15:15:19 +0000 (08:15 -0700)]
Merge pull request #36270 from yuriw/wip-yuriw-nautilus-p2p-nautilus

nautilus: qa/tests: changed rbd-python.yaml workunit to v14.2.10

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agonautilus: qa/test_volumes: Modify tests not to use json for 'ceph fs status' 36167/head
Kotresh HR [Mon, 27 Jul 2020 10:57:18 +0000 (16:27 +0530)]
nautilus: qa/test_volumes: Modify tests not to use json for 'ceph fs status'

Signed-off-by: Kotresh HR <khiremat@redhat.com>
4 years agonautilus: mgr/volumes: use MgrModule's mon_command()
Ramana Raja [Wed, 22 Jul 2020 10:26:36 +0000 (15:56 +0530)]
nautilus: mgr/volumes: use MgrModule's mon_command()

... instead of 'check_mon_command' which is not in nautilus, and not
compatible with python2 and early versions of py3.

Signed-off-by: Ramana Raja <rraja@redhat.com>
4 years agonautilus: mgr/volumes: fix import typing error
Ramana Raja [Mon, 20 Jul 2020 09:08:29 +0000 (14:38 +0530)]
nautilus: mgr/volumes: fix import typing error

... for python versions earlier than 3.5.

Signed-off-by: Ramana Raja <rraja@redhat.com>
4 years agopybind/mgr/volumes: fix volume search for pools
Patrick Donnelly [Tue, 30 Jun 2020 15:33:59 +0000 (08:33 -0700)]
pybind/mgr/volumes: fix volume search for pools

Loop logic would bail out if it first sees any file system that does not
match the volume it's looking for.

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

4 years agomgr/volumes: Validate mon_allow_pool_delete before volume deletion
Kotresh HR [Tue, 23 Jun 2020 18:19:22 +0000 (23:49 +0530)]
mgr/volumes: Validate mon_allow_pool_delete before volume deletion

Volume deletion wasn't validating mon_allow_pool_delete config
before destroying volume metadata. Hence when mon_allow_pool_delete
is set to false, it was deleting metadata but failed to delete pool
resulting in inconsistent state. This patch validates the config
before going ahead with deletion.

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

4 years agoqa: manage config changes through mons
Patrick Donnelly [Mon, 10 Feb 2020 18:46:09 +0000 (10:46 -0800)]
qa: manage config changes through mons

This provides a generic framework for modifying Ceph configuration
changes in tests through the monitors rather than the asok interface or
local ceph.conf changes. Any changes are reverted during test teardown.

A future patch will convert existing tests manipulating the local
ceph.conf or admin socket.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 87292811215f6ded9a784d3216a910faaef648e2)

4 years agomgr/volumes: Fix pool removal on volume deletion
Kotresh HR [Fri, 5 Jun 2020 17:58:36 +0000 (23:28 +0530)]
mgr/volumes: Fix pool removal on volume deletion

While volume deletion, the associated pools are not always
removed. The pools are removed only if the volume is created
using mgr plugin and not if created with custom osd pools.
This is because mgr plugin generates pool names with specific
pattern. Both create and delete volume relies on it. This
patch fixes the issue by identifying the pools of the volume
without relying on the pattern.

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

Conflicts:
src/pybind/mgr/volumes/fs/operations/volume.py:
- In nautilus, fs volume create doesn't have placement arg
src/pybind/mgr/volumes/fs/volume.py:
- In nautilus, VolumeClient code not moved to mgr_util.py

4 years agoclient: release the client_lock before copying data in read 36294/head
00111048 [Fri, 5 Jun 2020 06:46:06 +0000 (14:46 +0800)]
client: release the client_lock before copying data in read

Fixes: https://tracker.ceph.com/issues/46025
Signed-off-by: Chencan <chen.can2@zte.com.cn>
(cherry picked from commit db292da7d5571ed3addedfb4c5ab8c61fe9bb5e8)

Conflicts:
       src/client/Client.cc
- in nautilus, not switched bufferlist::copy() to iterators

4 years agoMerge pull request #35500 from ifed01/wip-ifed-hybrid-alloc-nau
Igor Fedotov [Sat, 25 Jul 2020 19:46:21 +0000 (22:46 +0300)]
Merge pull request #35500 from ifed01/wip-ifed-hybrid-alloc-nau

nautilus: os/bluestore: implement Hybrid allocator

Reviewed-by: akupczyk@redhat.com
4 years agoqa/objectstore: test hybrid allocator instead of avl one. 35500/head
Igor Fedotov [Mon, 20 Apr 2020 11:31:50 +0000 (14:31 +0300)]
qa/objectstore: test hybrid allocator instead of avl one.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 0f639740a3b99d0600f6508d90d426ca12501a03)

4 years agoos/bluestore: set hybrid allocator as a default for bluefs/bluestore
Igor Fedotov [Thu, 16 Apr 2020 15:06:04 +0000 (18:06 +0300)]
os/bluestore: set hybrid allocator as a default for bluefs/bluestore

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit cacc7391dca779c7e6e3b57e6d1753a53b8c49b9)

 Conflicts:
src/test/objectstore/store_test.cc
 trivial

4 years agoos/bluestore: improve adjustent extents merge in hybrid allocatoc
Igor Fedotov [Wed, 25 Mar 2020 14:19:12 +0000 (17:19 +0300)]
os/bluestore: improve adjustent extents merge in hybrid allocatoc

Bitmap counterpart is inspected for adjustent free extents when
releasing extent and trying to add it to AVL tree.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit c27490e3d641f2b8ea65759fd79640e5f6dd398c)

4 years agoos/bluestore: remove HybridAllocator::init_add_free method.
Igor Fedotov [Mon, 23 Mar 2020 12:43:09 +0000 (15:43 +0300)]
os/bluestore: remove HybridAllocator::init_add_free method.

It's a 100% replica of AvlAllocator one which is inherited.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit cccbc62528e03f4e49882137342adfea20b9a0f2)

4 years agoos/bluestore: configure hybrid allocator threshold to fallback.
Igor Fedotov [Fri, 14 Feb 2020 14:26:17 +0000 (17:26 +0300)]
os/bluestore: configure hybrid allocator threshold to fallback.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit b682d9a8e8d3f41d55ad10d2fb3deca8edf8540a)

 Conflicts:
src/common/options.cc
 trivial

4 years agoos/bluestore: add hybrid (avl+bitmap) allocator
Igor Fedotov [Thu, 13 Feb 2020 22:04:39 +0000 (01:04 +0300)]
os/bluestore: add hybrid (avl+bitmap) allocator

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit c90eee34955734a5d4d2d4f0d1ff04b275374fb1)

 Conflicts:
src/os/CMakeLists.txt
src/test/objectstore/Allocator_bench.cc
src/test/objectstore/Allocator_test.cc
src/test/objectstore/CMakeLists.txt
  GTEST_SKIP not available, +trivial

4 years agoos/bluestore: do not require min_length to be power of two for bmap
Igor Fedotov [Thu, 13 Feb 2020 22:06:46 +0000 (01:06 +0300)]
os/bluestore: do not require min_length to be power of two for bmap
allocator.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 21532045efeb8d357518686df84a529ee3d32a60)

 Conflicts:
src/os/bluestore/fastbmap_allocator_impl.h
 variable rename

4 years agoos/bluestore: extend AvlAllocator interface.
Igor Fedotov [Thu, 13 Feb 2020 21:57:29 +0000 (00:57 +0300)]
os/bluestore: extend AvlAllocator interface.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit cccf94da463aa15370fe674bda24d168d331ceca)

4 years agotests/test_bluestore_types: show AvlAllocator's range_seg_t size.
Igor Fedotov [Thu, 13 Feb 2020 21:56:07 +0000 (00:56 +0300)]
tests/test_bluestore_types: show AvlAllocator's range_seg_t size.

Extend corresponding test case to be aware of the struct's sizeof.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 719cd7d9423d1d16e3005cc0b807699ed24533de)

4 years agoos/bluestore: make AvlAllocator overridable.
Igor Fedotov [Wed, 12 Feb 2020 13:17:40 +0000 (16:17 +0300)]
os/bluestore: make AvlAllocator overridable.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 59c0aa5eb40957364ddb0e9d62dffa3449991249)

4 years agoos/bluestore: intdoduce spillover mechanics to AvlAllocator.
Igor Fedotov [Wed, 12 Feb 2020 12:55:03 +0000 (15:55 +0300)]
os/bluestore: intdoduce spillover mechanics to AvlAllocator.

This to be utilized in AvlAllocator's descendant class(es) to be able
to limit amount of entries allocator tracks. Hence bringing a cap for
RAM used by the allocator.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit efedcc077c7ed4e1e5ea26ae989fa3d6cbd287d4)

4 years agoos/bluestore: avoid constant name replica in bitmap allocator.
Igor Fedotov [Mon, 19 Aug 2019 13:01:21 +0000 (16:01 +0300)]
os/bluestore: avoid constant name replica in bitmap allocator.
This was introduced by Adam's https://github.com/ceph/ceph/pull/29425

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 683f7bab5a571cc3a6c7106fdb1d4017cc843c5d)

4 years agoos/bluestore: implement original allocator fragmentation inspection.
Igor Fedotov [Mon, 19 Aug 2019 12:51:51 +0000 (15:51 +0300)]
os/bluestore: implement original allocator fragmentation inspection.

Using admin socket interface: bluestore allocator fragmentation
[block|bluefs-db|bluefs-wal|bluefs-slow]

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 11b5feb01d273365c32ec6419faead629fb8c20b)

4 years agoos/bluestore: simplify Allocator::get_fragmentation() signature
Igor Fedotov [Mon, 19 Aug 2019 12:19:25 +0000 (15:19 +0300)]
os/bluestore: simplify Allocator::get_fragmentation() signature
Remove alloc_unit parameter.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 3a96db924968b65afed5fc1355acbf185455c5c4)

4 years agoos/bluestore: StupidAllocator stucks on 4GB allocations
Igor Fedotov [Tue, 9 Jul 2019 18:19:37 +0000 (21:19 +0300)]
os/bluestore: StupidAllocator stucks on 4GB allocations

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 1a91a67bf2fab64d27a000b3c62d3d7beac1aa75)

 Conflicts:
src/test/objectstore/Allocator_test.cc
 Previous gtest version

4 years agotest/allocator_test: additional coverage for get_fragmentation_score
Igor Fedotov [Mon, 19 Aug 2019 11:39:31 +0000 (14:39 +0300)]
test/allocator_test: additional coverage for get_fragmentation_score

Tests the function results agains the same cases as we do for
get_fragmentation.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 6ae213181433dd2ae392d8eed85c2606b9c4bb54)

4 years agoos/bluestore: Adds shutdown in destructor of AvlAllocator
Adam Kupczyk [Thu, 12 Mar 2020 12:29:03 +0000 (13:29 +0100)]
os/bluestore: Adds shutdown in destructor of AvlAllocator

Adds shutdown. Fixes incorrect mempool accounting.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit ea95309f478428b6e4b3af93b19459f6b5cc162d)

 Conflicts:
src/test/objectstore/Allocator_bench.cc
 trivial

4 years agoqa: add AvlAllocator test script
xie xingguo [Mon, 9 Oct 2017 12:31:57 +0000 (20:31 +0800)]
qa: add AvlAllocator test script

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 29512a70d45628ff4efcd4fd45b5d689b21b01d8)

4 years agosrc/test/objectstore/Allocator_{test,bench}.cc: test AvlAllocator too
xie xingguo [Sun, 8 Oct 2017 07:52:34 +0000 (15:52 +0800)]
src/test/objectstore/Allocator_{test,bench}.cc: test AvlAllocator too

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 97dfbc9c4816027d766731f0facf1ffa03455491)

 Conflicts:
src/test/objectstore/Allocator_bench.cc
src/test/objectstore/Allocator_test.cc
 GTEST_SKIP not present, +trivial

4 years agoos/bluestore: implement avl-extent-based allocator
xie xingguo [Sat, 7 Oct 2017 05:18:31 +0000 (13:18 +0800)]
os/bluestore: implement avl-extent-based allocator

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit adbc79a8ac28115c692a9fe6d4f6c098a7c7a5ea)

 Conflicts:
src/common/options.cc
 non-backported options

4 years agoMerge pull request #36290 from neha-ojha/wip-fio-nautilus
Yuri Weinstein [Fri, 24 Jul 2020 22:04:26 +0000 (15:04 -0700)]
Merge pull request #36290 from neha-ojha/wip-fio-nautilus

nautilus: qa/suites/rados/perf: run on ubuntu only

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoqa/suites/rados/perf: run on ubuntu only 36290/head
Neha Ojha [Fri, 24 Jul 2020 21:53:32 +0000 (21:53 +0000)]
qa/suites/rados/perf: run on ubuntu only

This change is specific to nautilus since fio tests have been failing
on centos and rhel 7.8 due to dependency issues.

Signed-off-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #36074 from neha-ojha/wip-46184-nautilus
Yuri Weinstein [Fri, 24 Jul 2020 19:12:09 +0000 (12:12 -0700)]
Merge pull request #36074 from neha-ojha/wip-46184-nautilus

nautilus: mgr/DaemonServer.cc: make 'config show' on fsid work

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #35713 from dzafman/wip-46116
Yuri Weinstein [Fri, 24 Jul 2020 19:11:40 +0000 (12:11 -0700)]
Merge pull request #35713 from dzafman/wip-46116

nautilus: tools: Add statfs operation to ceph-objecstore-tool

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #35464 from bk201/wip-45837-nautilus
Yuri Weinstein [Fri, 24 Jul 2020 19:09:04 +0000 (12:09 -0700)]
Merge pull request #35464 from bk201/wip-45837-nautilus

nautilus: monitoring: fixing some issues in RBD detail dashboard

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #35237 from smithfarm/wip-45677-nautilus
Yuri Weinstein [Fri, 24 Jul 2020 19:08:21 +0000 (12:08 -0700)]
Merge pull request #35237 from smithfarm/wip-45677-nautilus

nautilus: qa/workunits: Remove redundant Xenial cmake3 requirements

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
4 years agoMerge pull request #35841 from Vicente-Cheng/wip-46191-nautilus
Yuri Weinstein [Fri, 24 Jul 2020 19:06:20 +0000 (12:06 -0700)]
Merge pull request #35841 from Vicente-Cheng/wip-46191-nautilus

nautilus: mds: fix filelock state when Fc is issued

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Yan, Zheng <zyan@redhat.com>
4 years agoqa/tests: changed rbd-python.yaml workunit to v14.2.10 36270/head
Yuri Weinstein [Thu, 23 Jul 2020 17:16:51 +0000 (10:16 -0700)]
qa/tests: changed rbd-python.yaml workunit to v14.2.10

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoMerge pull request #36186 from smithfarm/wip-45930-nautilus
Yuri Weinstein [Wed, 22 Jul 2020 20:07:20 +0000 (13:07 -0700)]
Merge pull request #36186 from smithfarm/wip-45930-nautilus

nautilus: rgw: Add support wildcard subuser for bucket policy

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36163 from ivancich/nautilus-bucket-listing-clear-results
Yuri Weinstein [Wed, 22 Jul 2020 20:06:50 +0000 (13:06 -0700)]
Merge pull request #36163 from ivancich/nautilus-bucket-listing-clear-results

nautilus: rgw: cls_bucket_list_(un)ordered should clear results collection

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #35601 from smithfarm/wip-46012-nautilus
Yuri Weinstein [Wed, 22 Jul 2020 17:37:02 +0000 (10:37 -0700)]
Merge pull request #35601 from smithfarm/wip-46012-nautilus

nautilus: qa/vstart_runner: update vstart_runner.LocalRemote.sh

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
4 years agoMerge pull request #35401 from smithfarm/wip-45854-nautilus
Yuri Weinstein [Wed, 22 Jul 2020 17:34:45 +0000 (10:34 -0700)]
Merge pull request #35401 from smithfarm/wip-45854-nautilus

nautilus: tools/cephfs: don't bind to public_addr

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #34461 from Vicente-Cheng/wip-44487-nautilus
Yuri Weinstein [Wed, 22 Jul 2020 17:34:08 +0000 (10:34 -0700)]
Merge pull request #34461 from Vicente-Cheng/wip-44487-nautilus

nautilus: qa: add upgrade test for volume upgrade from legacy

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36166 from ShyamsundarR/wip-46527-nautilus
Ramana Raja [Tue, 21 Jul 2020 17:22:08 +0000 (22:52 +0530)]
Merge pull request #36166 from ShyamsundarR/wip-46527-nautilus

nautilus: mgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36193 from smithfarm/wip-46476-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:29:42 +0000 (08:29 -0700)]
Merge pull request #36193 from smithfarm/wip-46476-nautilus

nautilus: rgw/iam: correcting the result of get role policy.

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36192 from smithfarm/wip-46472-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:29:11 +0000 (08:29 -0700)]
Merge pull request #36192 from smithfarm/wip-46472-nautilus

nautilus: rgw: stop realm reloader before store shutdown

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #36191 from smithfarm/wip-46468-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:28:43 +0000 (08:28 -0700)]
Merge pull request #36191 from smithfarm/wip-46468-nautilus

nautilus: rgw: radoslist incomplete multipart uploads fix marker progression

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36189 from smithfarm/wip-46004-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:28:14 +0000 (08:28 -0700)]
Merge pull request #36189 from smithfarm/wip-46004-nautilus

nautilus: rgw: add check for index entry's existing when adding bucket stats during bucket reshard.

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36187 from smithfarm/wip-45932-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:27:48 +0000 (08:27 -0700)]
Merge pull request #36187 from smithfarm/wip-45932-nautilus

nautilus: rgw: Add subuser to OPA request

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36185 from smithfarm/wip-45927-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:27:19 +0000 (08:27 -0700)]
Merge pull request #36185 from smithfarm/wip-45927-nautilus

nautilus: rgw: fix loop problem with swift stat on account.

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #36184 from smithfarm/wip-45925-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:26:45 +0000 (08:26 -0700)]
Merge pull request #36184 from smithfarm/wip-45925-nautilus

nautilus: rgw: add quota enforcement to CopyObj

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #36165 from ivancich/wip-45923-nautilus
Yuri Weinstein [Tue, 21 Jul 2020 15:26:10 +0000 (08:26 -0700)]
Merge pull request #36165 from ivancich/wip-45923-nautilus

nautilus: rgw: bucket list/stats truncates for user w/ >1000 buckets

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agorgw: cls_bucket_list_(un)ordered should clear results collection 36163/head
J. Eric Ivancich [Tue, 3 Mar 2020 16:18:11 +0000 (11:18 -0500)]
rgw: cls_bucket_list_(un)ordered should clear results collection

Each call to cls_bucket_list_(un)ordered should have an empty
collection to populate with results. Rather than rely on the caller to
insure this, it's more reliable to have these functions do the clear.

Additionally in some cases, a reserve call was added to the collection
to pre-allocate the space needed for the expected number of
results. This will potentially result in fewer re-allocations plus
copies.

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

Conflicts:
    src/rgw/rgw_admin.cc
    src/rgw/rgw_rados.cc

4 years agoclient: introduce timeout for client shutdown 36215/head
Venky Shankar [Wed, 3 Jun 2020 07:17:38 +0000 (03:17 -0400)]
client: introduce timeout for client shutdown

Client::shutdown() could indefinitely wait when tearing down
MDS sessions if an MDS is unreachable during shutdown, but a
valid session existed, i.e., Client::mount() was successfull.

These failures were initially observed in mgr/volumes tests in
teuthology and lately during rados/mgr selftests where manager
plugins do not respawn as volumes plugin waits for cleaning up
libcephfs handles via Client::shutdown().

Fixes: http://tracker.ceph.com/issues/44276
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 7c716be4b94d7640d051d427f5d7e97fefe5baf2)

 Conflicts:
src/client/Client.cc
src/client/Client.h
src/common/options.cc

Condition variables in nautilus use WaitInterval() rather
than wait_for(). Client::_closed_mds_session() does not accept
errno parameter in nautilus -- so adjust for that. Also, fixup
config option conflict.

4 years agomgr/volumes: Remove enum usage in code for Py2 support 36166/head
Shyamsundar Ranganathan [Mon, 20 Jul 2020 12:32:43 +0000 (08:32 -0400)]
mgr/volumes: Remove enum usage in code for Py2 support

SubvolumeFeatures uses an enum for the feature list, this is
replaced with a constant instead.

Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
5 years agorgw/iam: correcting the result of get role policy. 36193/head
Pritha Srivastava [Fri, 5 Jun 2020 04:00:49 +0000 (09:30 +0530)]
rgw/iam: correcting the result of get role policy.

Fixes: https://tracker.ceph.com/issues/45671
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
(cherry picked from commit 9e1ae9de9905587a227e50d0aff6533e290a8f87)

5 years agorgw: add quota enforcement to CopyObj 36184/head
Casey Bodley [Thu, 14 May 2020 15:43:39 +0000 (11:43 -0400)]
rgw: add quota enforcement to CopyObj

Fixes: https://tracker.ceph.com/issues/45382
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 70d397541cc8c0a68b3e420a78fec8f0f66f06b0)

Conflicts:
    src/rgw/rgw_op.cc
- nautilus uses plain "store->" where master has "store->getRados()->"
- nautilus store->get_object_state takes 6 arguments instead of 7 in
  master

5 years agorgw: stop realm reloader before store shutdown 36192/head
Casey Bodley [Wed, 10 Jun 2020 14:53:55 +0000 (10:53 -0400)]
rgw: stop realm reloader before store shutdown

otherwise the two could race to destroy the store

Fixes: https://tracker.ceph.com/issues/45969
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7787dfb4926dcc2baa7530b620ae8cfccf90bc30)

Conflicts:
src/rgw/rgw_main.cc
- RGWRealmWatcher realm_watcher(...) line looks different in nautilus

5 years agorgw: radoslist incomplete multipart uploads fix marker progression 36191/head
J. Eric Ivancich [Tue, 23 Jun 2020 16:55:39 +0000 (12:55 -0400)]
rgw: radoslist incomplete multipart uploads fix marker progression

When the radosgw-admin radoslist was running, the portion where it
lists the incomplete multipart uploads did not handle the marker
correctly between calls to the ordered list op. This fixes those
issues and does some additional clean-up.

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

5 years agorgw: add check for index entry's existing when we add bucket stats during resharding. 36189/head
zhang Shaowen [Tue, 16 Jul 2019 09:41:48 +0000 (17:41 +0800)]
rgw: add check for index entry's existing when we add  bucket stats during resharding.

Signed-off-by: zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
(cherry picked from commit ce42734773203bfd2d620e6974e428e1b5d3f480)

5 years agorgw: Add subuser to OPA request 36187/head
Seena Fallah [Wed, 8 Apr 2020 19:45:20 +0000 (00:15 +0430)]
rgw: Add subuser to OPA request

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 793aaaaed9029e032128b50767a5faf1bb7f6d81)

Conflicts:
src/rgw/rgw_opa.cc
- jf.dump_object("user_info", ...) line looks different in nautilus

5 years agorgw: Add support wildcard subuser for bucket policy 36186/head
Seena Fallah [Thu, 5 Mar 2020 19:00:39 +0000 (22:30 +0330)]
rgw: Add support wildcard subuser for bucket policy

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 0008f84cb03402b159001bf6b6c3a2ff48b2de9b)

5 years agorgw: fix loop problem with swift stat on account. 36185/head
Marcus Watts [Tue, 10 Mar 2020 04:34:01 +0000 (00:34 -0400)]
rgw: fix loop problem with swift stat on account.

Loop logic in RGWStatAccount::execute was failing to change the
marker before repeating a call to rgw_read_user_buckets().  This resulted
that in the case that a user had more than 1000 buckets, this routine
would loop forever.

Fixes: https://tracker.ceph.com/issues/44671
Signed-off-by: Marcus Watts <mwatts@redhat.com>
(cherry picked from commit c9f3cf6ed6a649812d47dc1fa1357ae0749dbcbf)

Conflicts:
src/rgw/rgw_op.cc

5 years agomds: fix hang issue when accessing a file under a lost parent directory 36179/head
Zhi Zhang [Fri, 10 Jul 2020 09:03:50 +0000 (17:03 +0800)]
mds: fix hang issue when accessing a file under a lost parent directory

When a directory metadata is lost, if we looked up a file under this lost directory,
this request will hang forever.

Fixes: https://tracker.ceph.com/issues/46129
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
(cherry picked from commit 778917c426d3c8611c5e5f209840a674c09fef0a)

Conflicts:
src/mds/CDir.h
- "git cherry-picked" failed to find the right hunk; made the change
  manually

5 years agopybind/cephfs: raise custom Exception with same arguments 36180/head
Ramana Raja [Sun, 5 Jul 2020 11:46:15 +0000 (17:16 +0530)]
pybind/cephfs: raise custom Exception with same arguments

... so that's easier for a higher level application to handle
it.

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

5 years agomds: do not submit omap_rm_keys if the dir is the basedir of merge. 36178/head
Chencan [Tue, 30 Jun 2020 11:30:12 +0000 (19:30 +0800)]
mds: do not submit omap_rm_keys if the dir is the basedir of merge.

Fixes: https://tracker.ceph.com/issues/46273
Signed-off-by: Chencan <chen.can2@zte.com.cn>
(cherry picked from commit d8a6715b0740bebfe7922391868aae2df304db6b)

5 years agoclient: fix directory inode can not call release callback 36177/head
sepia-liu [Sat, 30 May 2020 10:10:15 +0000 (18:10 +0800)]
client: fix directory inode can not call release callback

When use client like nfs-ganesha hold ref of dir inode,
the dentry of the inode does not expirable because its
state is always lru_pinned.

The current code location does not tell nfs-ganesha to
release dir inodes, so we should call release_callback
to tell nfs-ganesha release first, and then trim dentry
when its state becomes unpin.

Fixes: https://tracker.ceph.com/issues/46355
Signed-off-by: sepia-liu <liuwei_coder@163.com>
(cherry picked from commit 60de0363ec7e1423665091bf42f67b78f11d9c1f)

5 years agopybind/cephfs: add DiskQuotaExceeded exception
Ramana Raja [Fri, 3 Jul 2020 12:24:44 +0000 (17:54 +0530)]
pybind/cephfs: add DiskQuotaExceeded exception

Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit 4cd247e6d0b7d38eb8e9bf5f6a656fd78393b4f6)

Conflicts:
       src/pybind/cephfs/cephfs.pyx
- certain exceptions were missing in nautilus
       src/test/pybind/test_cephfs.py
- some cephfs pybind interfaces and their tests were missing in nautilus

5 years agomds: make threshold for MDS_TRIM configurable 36175/head
Paul Emmerich [Fri, 5 Jun 2020 11:54:15 +0000 (13:54 +0200)]
mds: make threshold for MDS_TRIM configurable

Fixes: https://tracker.ceph.com/issues/45906
Signed-off-by: Paul Emmerich <paul.emmerich@croit.io>
(cherry picked from commit d905678a87326195c71ce6da16933e671b0d90eb)

5 years agoclient: Fix setxattr with 0 size specified 36173/head
Sidharth Anupkrishnan [Mon, 6 Jul 2020 09:15:46 +0000 (14:45 +0530)]
client: Fix setxattr with 0 size specified

When xattrs are set with 0 size, the value should be set to an empty string.
Signed-off-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
(cherry picked from commit dd8f1a544d5c98277d42ecace4dad854c428b262)

5 years agoqa/tasks/cephfs/cephfs_test_case.py: skip cleaning the core dumps 36172/head
Xiubo Li [Wed, 13 May 2020 08:53:40 +0000 (04:53 -0400)]
qa/tasks/cephfs/cephfs_test_case.py: skip cleaning the core dumps

|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h

If the first character of this file is a pipe symbol (|), then the
remainder of the line is interpreted as the command-line for a
user-space program (or script) that is to be executed. More detail,
please see: http://man7.org/linux/man-pages/man5/core.5.html

Here will just skip cleaning the core dumps in this case.

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

5 years agoRevert "Revert "qa/suites/rados/mgr/tasks/module_selftest: whitelist mgr client getti... 36171/head
Venky Shankar [Thu, 11 Jun 2020 04:07:57 +0000 (00:07 -0400)]
Revert "Revert "qa/suites/rados/mgr/tasks/module_selftest: whitelist mgr client getting backlisted""

This reverts commit a7994a0fdddfa2eadd678ae0f3ec58324f19731d.

Failed attempt at solving the issue is in PR #33272. Until we
find a clean solution for this, whiltelisting the warning is
probably the best thing for now.

Fixes: http://tracker.ceph.com/issues/43943
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 60b8f7a46b88bfe381499a5fd8cbc1c851b6e614)

5 years agomds: reset heartbeat in EMetaBlob replay 36170/head
Yanhu Cao [Tue, 16 Jun 2020 06:07:26 +0000 (14:07 +0800)]
mds: reset heartbeat in EMetaBlob replay

Fixes: https://tracker.ceph.com/issues/46042
Signed-off-by: Yanhu Cao <jrcaoyanhu@jd.com>
(cherry picked from commit 07031a0de9654e029fc5063899c2d9394c7f4668)

5 years agoclient: fix snap directory atime 36169/head
Luis Henriques [Wed, 11 Mar 2020 11:10:05 +0000 (11:10 +0000)]
client: fix snap directory atime

For consistency, also get the .snap directory atime from the parent
directory.  Otherwise, this timestamp will be kept at 1970-01-01.

Fixes: https://tracker.ceph.com/issues/46070
Signed-off-by: Luis Henriques <lhenriques@suse.com>
(cherry picked from commit 057842132600d6d5854f16600b90131075a1b509)

5 years agomgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots
Shyamsundar Ranganathan [Tue, 23 Jun 2020 20:53:46 +0000 (16:53 -0400)]
mgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots

Subvolume snapshots required to be protected, prior to cloning the same.

Also, protected snapshots were not allowed to be unprotected or removed,
if there were in-flight clones, whose source was the snapshot being
removed.

The protection of snapshots explicitly is not required, as these can be
prevented from being removed based only on the in-flight clones checks.

This commit hence deprecates the additional protect/unprotect requirements
prior to cloning a snapshot.

In addition to deprecating the above, support to query a subvolume for
supported features, via the info command, is added. The feature list
is set to "clone" and "auto-protect", where the latter is useful to
decide if protect/unprotect commands are required or not.

Fixes: https://tracker.ceph.com/issues/45371
Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
(cherry picked from commit c52a7383d391864b7dce3ba09197a077a998dff7)

Conflicts:
src/pybind/mgr/volumes/fs/operations/versions/subvolume_v1.py
- required manual resolution during cherry-pick to delete unused functions
doc/cephfs/fs-volumes.rst
- added line space for correcting multi-line command rendering

5 years agoMerge pull request #36104 from neha-ojha/wip-45228-nautilus
Yuri Weinstein [Sat, 18 Jul 2020 00:30:28 +0000 (17:30 -0700)]
Merge pull request #36104 from neha-ojha/wip-45228-nautilus

nautilus: mgr/alert: can't set inventory_cache_timeout/service_cache_timeout from CLI

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoMerge pull request #35918 from callithea/wip-46172-nautilus
Yuri Weinstein [Sat, 18 Jul 2020 00:29:13 +0000 (17:29 -0700)]
Merge pull request #35918 from callithea/wip-46172-nautilus

nautilus: mgr/prometheus: improve Prometheus module cache

Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
5 years agorgw: convert rgw_user_max_buckets to new config options 36165/head
J. Eric Ivancich [Thu, 4 Jun 2020 22:34:27 +0000 (18:34 -0400)]
rgw: convert rgw_user_max_buckets to new config options

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

5 years agorgw: clean up code around buckets listing
J. Eric Ivancich [Thu, 4 Jun 2020 16:41:26 +0000 (12:41 -0400)]
rgw: clean up code around buckets listing

This commit adds some const correctness, avoids some string/structure
copying, and reformats some code.

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

Conflicts:
src/rgw/rgw_bucket.cc -- small organizational differences

5 years agorgw: bucket list/stats truncates for user w/ >1000 buckets
J. Eric Ivancich [Thu, 4 Jun 2020 16:41:06 +0000 (12:41 -0400)]
rgw: bucket list/stats truncates for user w/ >1000 buckets

The is_truncated flag was not being handled properly and therefore
limited the output on these radosgw-admin commands to 1000 buckets.

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

Conflicts:
src/rgw/rgw_bucket.cc -- small organizational adjustments
src/rgw/rgw_sal.h -- does not exist in nautilus

5 years agoMerge pull request #36075 from smithfarm/wip-46515-nautilus
Yuri Weinstein [Fri, 17 Jul 2020 17:39:45 +0000 (10:39 -0700)]
Merge pull request #36075 from smithfarm/wip-46515-nautilus

nautilus: mgr/progress: Skip pg_summary update if _events dict is empty.

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
5 years agoMerge pull request #36031 from smithfarm/wip-46017-nautilus
Yuri Weinstein [Fri, 17 Jul 2020 17:38:59 +0000 (10:38 -0700)]
Merge pull request #36031 from smithfarm/wip-46017-nautilus

nautilus: remove ceph_test_rados_watch_notify

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #35738 from neha-ojha/wip-46164-nautilus
Yuri Weinstein [Fri, 17 Jul 2020 17:38:23 +0000 (10:38 -0700)]
Merge pull request #35738 from neha-ojha/wip-46164-nautilus

nautilus: osd: make message cap option usable again

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
5 years agoMerge pull request #35959 from callithea/wip-46393-nautilus
Yuri Weinstein [Fri, 17 Jul 2020 17:31:00 +0000 (10:31 -0700)]
Merge pull request #35959 from callithea/wip-46393-nautilus

nautilus: mon/PGMap: do not consider changing pg stuck

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #36086 from smithfarm/wip-46512-nautilus
Yuri Weinstein [Fri, 17 Jul 2020 17:00:57 +0000 (10:00 -0700)]
Merge pull request #36086 from smithfarm/wip-46512-nautilus

nautilus:  rgw: lc: fix Segmentation Fault when the tag of the object was not found

Reviewed-by: Friedmann <ofriedma@redhat.com>
5 years agoMerge pull request #34127 from ivancich/nautilus-rados-list
Yuri Weinstein [Fri, 17 Jul 2020 16:59:53 +0000 (09:59 -0700)]
Merge pull request #34127 from ivancich/nautilus-rados-list

nautilus: rgw: add "rgw-orphan-list" tool and "radosgw-admin bucket radoslist ..."

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #35044 from smithfarm/wip-45480-nautilus
Nathan Cutler [Fri, 17 Jul 2020 14:38:49 +0000 (16:38 +0200)]
Merge pull request #35044 from smithfarm/wip-45480-nautilus

nautilus: doc/rgw: document 'rgw gc max concurrent io'

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>