]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agoMerge pull request #21207 from smithfarm/wip-23525-jewel
Nathan Cutler [Sun, 8 Apr 2018 16:18:04 +0000 (18:18 +0200)]
Merge pull request #21207 from smithfarm/wip-23525-jewel

jewel: rbd: is_qemu_running in qemu_rebuild_object_map.sh and qemu_dynamic_features.sh may return false positive

Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #21206 from smithfarm/wip-23012-jewel
Nathan Cutler [Sun, 8 Apr 2018 16:16:41 +0000 (18:16 +0200)]
Merge pull request #21206 from smithfarm/wip-23012-jewel

jewel: rbd: [journal] allocating a new tag after acquiring the lock should use on-disk committed position

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #21205 from smithfarm/wip-22578-jewel
Nathan Cutler [Sun, 8 Apr 2018 16:15:10 +0000 (18:15 +0200)]
Merge pull request #21205 from smithfarm/wip-22578-jewel

jewel: rbd: rbd-mirror split brain test case can have a false-positive failure until teuthology

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #21125 from smithfarm/wip-23508-jewel
Nathan Cutler [Sun, 8 Apr 2018 16:12:20 +0000 (18:12 +0200)]
Merge pull request #21125 from smithfarm/wip-23508-jewel

jewel: tests: test_admin_socket.sh may fail on wait_for_clean

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20627 from pdvian/wip-23153-jewel
Nathan Cutler [Sun, 8 Apr 2018 15:28:49 +0000 (17:28 +0200)]
Merge pull request #20627 from pdvian/wip-23153-jewel

jewel: rbd: TestLibRBD.RenameViaLockOwner may still fail with -ENOENT

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #18304 from smithfarm/wip-21546-jewel
Nathan Cutler [Fri, 6 Apr 2018 14:47:02 +0000 (16:47 +0200)]
Merge pull request #18304 from smithfarm/wip-21546-jewel

jewel: rgw: file write error

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Amit Kumar <amitkuma@redhat.com>
7 years agoMerge pull request #21100 from cbodley/wip-23311
Nathan Cutler [Fri, 6 Apr 2018 13:26:25 +0000 (15:26 +0200)]
Merge pull request #21100 from cbodley/wip-23311

jewel: rgw: s3website error handler uses original object name

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #21073 from linuxbox2/wip-rgw-tcmalloc
Nathan Cutler [Fri, 6 Apr 2018 13:25:03 +0000 (15:25 +0200)]
Merge pull request #21073 from linuxbox2/wip-rgw-tcmalloc

jewel: rgw: tcmalloc

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #20800 from theanalyst/jewel-fe-fixes
Nathan Cutler [Fri, 6 Apr 2018 13:23:44 +0000 (15:23 +0200)]
Merge pull request #20800 from theanalyst/jewel-fe-fixes

jewel: rgw:  make init env methods return an error

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20639 from mkogan1/wip-rgw-t23171
Nathan Cutler [Fri, 6 Apr 2018 13:21:54 +0000 (15:21 +0200)]
Merge pull request #20639 from mkogan1/wip-rgw-t23171

jewel: rgw: core dump, recursive lock of RGWKeystoneTokenCache

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #20421 from oritwas/wip-rgw-jewel-22124
Nathan Cutler [Fri, 6 Apr 2018 13:20:34 +0000 (15:20 +0200)]
Merge pull request #20421 from oritwas/wip-rgw-jewel-22124

jewel: rgw: bucket resharding should not update bucket ACL or user stats

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #20076 from smithfarm/wip-22774-jewel
Nathan Cutler [Fri, 6 Apr 2018 13:18:33 +0000 (15:18 +0200)]
Merge pull request #20076 from smithfarm/wip-22774-jewel

jewel: rgw: file deadlock on lru evicting

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #19887 from pdvian/wip-22636-jewel
Nathan Cutler [Fri, 6 Apr 2018 13:16:09 +0000 (15:16 +0200)]
Merge pull request #19887 from pdvian/wip-22636-jewel

jewel: rgw: add xml output header in RGWCopyObj_ObjStore_S3 response msg

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #18207 from smithfarm/wip-21205-jewel
Nathan Cutler [Fri, 6 Apr 2018 13:13:41 +0000 (15:13 +0200)]
Merge pull request #18207 from smithfarm/wip-21205-jewel

jewel: rgw: bi list entry count incremented on error, distorting error code

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #21264 from smithfarm/wip-rgw-drop-btrfs-jewel
Nathan Cutler [Fri, 6 Apr 2018 06:10:30 +0000 (08:10 +0200)]
Merge pull request #21264 from smithfarm/wip-rgw-drop-btrfs-jewel

jewel: tests: rip out vestiges of btrfs from rgw suite

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #21184 from smithfarm/wip-21786-jewel
Nathan Cutler [Fri, 6 Apr 2018 01:56:33 +0000 (03:56 +0200)]
Merge pull request #21184 from smithfarm/wip-21786-jewel

jewel: osd: OSDMap cache assert on shutdown

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
7 years agoqa: rgw/multifs: test on XFS, drop BTRFS 21264/head
Nathan Cutler [Fri, 6 Apr 2018 01:42:22 +0000 (03:42 +0200)]
qa: rgw/multifs: test on XFS, drop BTRFS

objectstore/filestore-xfs.yaml was overriding fs/btrfs.yaml anyway,
which was confusing.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agoqa: rgw/verify: test on XFS, drop BTRFS
Nathan Cutler [Fri, 6 Apr 2018 01:41:45 +0000 (03:41 +0200)]
qa: rgw/verify: test on XFS, drop BTRFS

Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #21156 from smithfarm/wip-22031-jewel
Nathan Cutler [Fri, 6 Apr 2018 01:12:27 +0000 (03:12 +0200)]
Merge pull request #21156 from smithfarm/wip-22031-jewel

jewel: mds: FAILED assert(get_version() < pv) in CDir::mark_dirty

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #21172 from smithfarm/wip-22384-jewel
Nathan Cutler [Thu, 5 Apr 2018 19:39:14 +0000 (21:39 +0200)]
Merge pull request #21172 from smithfarm/wip-22384-jewel

jewel: tests: src/test/libcephfs/test.cc:376: Expected: (len) > (0), actual: -34 vs 0

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #21163 from smithfarm/wip-22380-jewel
Nathan Cutler [Thu, 5 Apr 2018 18:39:00 +0000 (20:39 +0200)]
Merge pull request #21163 from smithfarm/wip-22380-jewel

jewel: cephfs: client reconnect gather race

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20111 from pdvian/wip-22764-jewel
Nathan Cutler [Thu, 5 Apr 2018 18:37:44 +0000 (20:37 +0200)]
Merge pull request #20111 from pdvian/wip-22764-jewel

jewel: cephfs-journal-tool: add "set pool_id" option

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #21152 from smithfarm/wip-21489-jewel
Nathan Cutler [Thu, 5 Apr 2018 18:36:41 +0000 (20:36 +0200)]
Merge pull request #21152 from smithfarm/wip-21489-jewel

jewel: tests: failures from pjd fstest

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #21175 from smithfarm/wip-22970-jewel
Nathan Cutler [Thu, 5 Apr 2018 16:26:05 +0000 (18:26 +0200)]
Merge pull request #21175 from smithfarm/wip-22970-jewel

jewel: mds: session reference leak

Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #21208 from ukernel/jewel-23529
Nathan Cutler [Thu, 5 Apr 2018 13:21:38 +0000 (15:21 +0200)]
Merge pull request #21208 from ukernel/jewel-23529

jewel: cephfs: fix tmap_upgrade crash

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #21084 from pdvian/wip-23413-jewel
Nathan Cutler [Wed, 4 Apr 2018 19:24:40 +0000 (21:24 +0200)]
Merge pull request #21084 from pdvian/wip-23413-jewel

jewel: log: Fix AddressSanitizer: new-delete-type-mismatch

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #20622 from dzafman/wip-info-soid
Nathan Cutler [Wed, 4 Apr 2018 19:23:07 +0000 (21:23 +0200)]
Merge pull request #20622 from dzafman/wip-info-soid

jewel: follow-on: osd: be_select_auth_object() sanity check oi soid

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #21158 from smithfarm/wip-21784-jewel
Nathan Cutler [Wed, 4 Apr 2018 18:24:14 +0000 (20:24 +0200)]
Merge pull request #21158 from smithfarm/wip-21784-jewel

jewel: cli/crushtools/build.t sometimes fails in jenkins' make check run

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #21135 from smithfarm/wip-23523-jewel
Nathan Cutler [Wed, 4 Apr 2018 18:22:18 +0000 (20:22 +0200)]
Merge pull request #21135 from smithfarm/wip-23523-jewel

jewel: tests: unittest_pglog timeout

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
7 years agoMerge pull request #20999 from pdvian/wip-23411-jewel
Nathan Cutler [Wed, 4 Apr 2018 18:19:11 +0000 (20:19 +0200)]
Merge pull request #20999 from pdvian/wip-23411-jewel

jewel: legal: remove doc license ambiguity

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #20882 from dzafman/wip-23307
Nathan Cutler [Wed, 4 Apr 2018 18:18:10 +0000 (20:18 +0200)]
Merge pull request #20882 from dzafman/wip-23307

jewel: ceph-objectstore-tool command to trim the pg log

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #20763 from tchaikov/wip-23185-jewel
Nathan Cutler [Wed, 4 Apr 2018 18:16:50 +0000 (20:16 +0200)]
Merge pull request #20763 from tchaikov/wip-23185-jewel

jewel: ceph.in: bypass codec when writing raw binary data

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #21234 from tchaikov/wip-jewel-rocksdb-without-jemalloc
Nathan Cutler [Wed, 4 Apr 2018 11:24:29 +0000 (13:24 +0200)]
Merge pull request #21234 from tchaikov/wip-jewel-rocksdb-without-jemalloc

jewel: rocksdb: disable jemalloc explicitly

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agorocksdb: disable jemalloc explicitly 21234/head
Kefu Chai [Wed, 4 Apr 2018 08:39:12 +0000 (16:39 +0800)]
rocksdb: disable jemalloc explicitly

rocksdb's makefile tries to detect jemalloc automatically and compiles
with it enabled if it's found, but if ceph disable jemalloc, it won't
link against jemalloc. this causes link failure if we compile ceph
without jemalloc enabled in a host with jemalloc library installed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
Conflicts:
src/kv/Makefile.am: this change is not cherry-picked from
master. as master does not use autotools anymore. and master is
using rocksdb's cmake script for building, the latter does not
jemalloc by default.

7 years agotools/cephfs: fix tmap_upgrade crash 21208/head
Yan, Zheng [Tue, 3 Apr 2018 10:01:41 +0000 (18:01 +0800)]
tools/cephfs: fix tmap_upgrade crash

MDSUtility::shutdown() is called by deconstructor of MDSUtility.
shouldn't call it manually.

introduced by commit 1c7b6b00 "jewel: cephfs-journal-tool: move
shutdown to the deconstructor of MDSUtility" make

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: http://tracker.ceph.com/issues/23529
7 years agoqa/suites/rbd: set qemu task time_wait param 21207/head
Mykola Golub [Thu, 29 Mar 2018 11:10:58 +0000 (14:10 +0300)]
qa/suites/rbd: set qemu task time_wait param

so workloads qemu_dynamic_features.sh and qemu_rebuild_object_map.sh,
which check if qemu is finished with periodicity 60 sec, have enough
time to detect this before the rbd image is removed.

Fixes: https://tracker.ceph.com/issues/23502
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 6fe8d6470506a9947f685b05683e2e046457a9f5)

Conflicts:
qa/suites/rbd/maintenance/qemu/xfstests.yaml - trivial resolution

7 years agoqa/tasks/qemu: add a parameter to wait for workloads detect qemu finished
Mykola Golub [Thu, 29 Mar 2018 11:06:13 +0000 (14:06 +0300)]
qa/tasks/qemu: add a parameter to wait for workloads detect qemu finished

In the case when a workload needs to detect qemu finished by running a
check with a periodicity of N sec it needs to set time_wait to 2 * N
in order to avoid races on finish.

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit af15b2cef46c8d3ab1f9770601ae1abfe9c6b300)

Conflicts:
qa/tasks/qemu.py - trivial resolution

7 years agojournal: flush commit positions should wait for refresh 21206/head
Jason Dillaman [Tue, 13 Feb 2018 15:05:01 +0000 (10:05 -0500)]
journal: flush commit positions should wait for refresh

Fixes: http://tracker.ceph.com/issues/22945
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 24df022e0b34788953734c2e622c336077958e78)

Conflicts:
src/journal/JournalMetadata.cc - trivial resolution

7 years agojournal: support concurrent refresh requests
Jason Dillaman [Tue, 13 Feb 2018 15:18:25 +0000 (10:18 -0500)]
journal: support concurrent refresh requests

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit c5a5b20e08413630376e09fc62f33547e7b99fcc)

7 years agolibrbd: flush journal commit position after stopping replay
Jason Dillaman [Mon, 12 Feb 2018 22:50:01 +0000 (17:50 -0500)]
librbd: flush journal commit position after stopping replay

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit bcfcbcfe0b575822a4f44a1adc20a840b7f0f1b5)

7 years agoqa/workunits/rbd: simplify split-brain test to avoid potential race 21205/head
Jason Dillaman [Tue, 19 Dec 2017 21:29:18 +0000 (16:29 -0500)]
qa/workunits/rbd: simplify split-brain test to avoid potential race

Fixes: http://tracker.ceph.com/issues/22485
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8c2ee6dd0f4c77b9fbbc24a673841b04d3e175d6)

Conflicts:
qa/workunits/rbd/rbd_mirror.sh

7 years agocommon: by default, do not assert on leaks in the shared_cache code 21184/head
Greg Farnum [Mon, 9 Oct 2017 21:16:05 +0000 (14:16 -0700)]
common: by default, do not assert on leaks in the shared_cache code

Update the standard qa suite cluster configs so that we continue
asserting in our nightlies, but users don't hit this.

Fixes: http://tracker.ceph.com/issues/21737
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 165b61a7df2731602e9e28c5107a873444bf0507)

Conflicts:
src/common/options.cc - file does not exist in jewel; manually
                     backported the change to src/common/config_opts.h
        src/common/shared_cache.hpp - use jewel programming convention
                     for accessing config option values

7 years agomds: fix compilation error ensuing from session ref leak fix 21175/head
Nathan Cutler [Tue, 3 Apr 2018 03:56:11 +0000 (05:56 +0200)]
mds: fix compilation error ensuing from session ref leak fix

61b8b1d8420c46ca30d38d063e2dc97c9f28d7eb removes the local get_session functions
and replaces all calls to these functions with calls to mds->get_session()

Jewel has an extra call which is converted by this commit.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #21178 from tchaikov/wip-jewel-pr-21159
Nathan Cutler [Tue, 3 Apr 2018 02:37:34 +0000 (04:37 +0200)]
Merge pull request #21178 from tchaikov/wip-jewel-pr-21159

jewel: build/ops: drop deprecated --use-wheel option from pip invocations

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agosrc: s/--use-wheel// 21178/head
Kefu Chai [Sun, 1 Apr 2018 12:27:24 +0000 (20:27 +0800)]
src: s/--use-wheel//

--use-wheel was deprecated in favor of --only-binary in pip v7.0.0. and
--use-wheel was removed in a recent release of pip. but some packages
are source packages, so we cannot simply replace use-wheel with
only-binary. so a simpler approach is to drop --use-wheel option, as pip
respects --find-links, and will find the required package from the
wheelhouse.

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

Conflicts:
src/ceph-detect-init/CMakeLists.txt
src/ceph-disk/CMakeLists.txt: trivial resolution
src/pybind/mgr/dashboard/CMakeLists.txt: dashboard2 is not
in luminous, so drop this change.
src/tools/setup-virtualenv.sh:
src/ceph-detect-init/Makefile.am:
src/ceph-disk/Makefile.am: these files were dropped in
master, so update them also.

7 years agomds: reset connection's priv when marking down connection
Yan, Zheng [Mon, 29 Jan 2018 02:00:54 +0000 (10:00 +0800)]
mds: reset connection's priv when marking down connection

mds won't get reset for down connection, so it needs to break
circle reference between connection and session.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 1526e0884a7b4d8d8d4f9ba37487a6d51da90992)

7 years agomds: fix session reference leak
Yan, Zheng [Sun, 28 Jan 2018 11:20:24 +0000 (19:20 +0800)]
mds: fix session reference leak

"m->get_connection()->get_priv()" increases the session's reference
count by one. but we forget to release the reference at several places

Fixes: http://tracker.ceph.com/issues/22821
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 358f8a55f2e0614218909768f128c63e00d9de79)

Conflicts:
src/mds/Locker.cc - fbda12b1eefeebae1e1c64b01bc8f222c0d4c13d has not
been backported to jewel, so session->check_access() call has fewer arguments
than in master
src/mds/Server.cc - 3fe5e734be822492446a403ab176965d2be737fc has not
been backported to jewel, so there is no "bool blacklisted = false;" assignment
statement

7 years agotest: pass correct buffer length to ceph_getdents 21172/head
Patrick Donnelly [Wed, 22 Nov 2017 05:34:32 +0000 (21:34 -0800)]
test: pass correct buffer length to ceph_getdents

This test fails if the randvar r is 0.

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

7 years agomds: handle client reconnect gather race 21163/head
Yan, Zheng [Tue, 28 Nov 2017 09:06:47 +0000 (17:06 +0800)]
mds: handle client reconnect gather race

Fixes: http://tracker.ceph.com/issues/22263
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit e4ecf26a8ef622f8290129a682afb1c64b3e7e00)

Conflicts:
    src/mds/Server.cc: need to remove 'reconnect_evicting', otherwise compilation fails

7 years agocrushtool: print error message to stderr not dout(1) 21158/head
Kefu Chai [Wed, 11 Oct 2017 09:45:19 +0000 (17:45 +0800)]
crushtool: print error message to stderr not dout(1)

in hope to fix the mysterious test failure where cli/crushtool/build.t
prints nothing when error message is expected.

Fixes: http://tracker.ceph.com/issues/21758
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit dc78d40af77ff8d5e4f3d39497e6e3c98c309306)

Conflicts:
src/tools/crushtool.cc (master has "crush.find_roots(&roots);", jewel
                               has "crush.find_roots(roots);")

7 years agomds: fix CDir::log_mark_dirty() 21156/head
Yan, Zheng [Tue, 22 Aug 2017 01:59:12 +0000 (09:59 +0800)]
mds: fix CDir::log_mark_dirty()

the 'will dirty' check is wrong because we don't always project fnode.

Fixes: http://tracker.ceph.com/issues/21584
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 461bbc7e89a9ed440478f30145158b4989c137d0)

7 years agomds: fix CDir::log_mark_dirty()
Yan, Zheng [Fri, 21 Oct 2016 03:38:44 +0000 (11:38 +0800)]
mds: fix CDir::log_mark_dirty()

CDir::log_mark_dirty() moves dirfrag to current log segment's dirty
dirfrag list, but it does not submit any log event. Old log segments
(that include events which dirty the dirfrag) may get expired before
the dirfrag gets committed. If MDS crashes, the changes in expired
log segments get lost.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
(cherry picked from commit 7596f4b76a31d16b01ed733be9c52ecfffa7b21a)

7 years agoceph: do link/rename semantic checks after srcdn is readable 21152/head
Yan, Zheng [Sun, 17 Sep 2017 08:51:04 +0000 (16:51 +0800)]
ceph: do link/rename semantic checks after srcdn is readable

For hard link, source inode must not be directory. For rename,
types of source/destination inodes must match. If srcdn is replica
and we do these checks while it's not readble, it's possible that
wrong source inode is used in these checks.

Fixes: http://tracker.ceph.com/issues/21383
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 46962b253563a867707e7c5d7887abf2060cc4d7)

Conflicts:
src/mds/Server.cc (different placement of need_auth assignment in jewel)

7 years agoMerge pull request #20418 from pdvian/wip-22965-jewel
Nathan Cutler [Fri, 30 Mar 2018 20:35:43 +0000 (22:35 +0200)]
Merge pull request #20418 from pdvian/wip-22965-jewel

jewel: rbd-mirror: fix potential infinite loop when formatting status message

Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20524 from pdvian/wip-23065-jewel
Nathan Cutler [Fri, 30 Mar 2018 20:34:35 +0000 (22:34 +0200)]
Merge pull request #20524 from pdvian/wip-23065-jewel

jewel: test/librbd: utilize unique pool for cache tier testing

Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20285 from smithfarm/wip-22175-jewel
Nathan Cutler [Fri, 30 Mar 2018 20:33:17 +0000 (22:33 +0200)]
Merge pull request #20285 from smithfarm/wip-22175-jewel

jewel: rbd: possible deadlock in various maintenance operations

Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #20518 from smithfarm/wip-23076-jewel
Nathan Cutler [Fri, 30 Mar 2018 17:09:28 +0000 (19:09 +0200)]
Merge pull request #20518 from smithfarm/wip-23076-jewel

jewel: osd: objecter sends out of sync with pg epochs for proxied ops

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: David Zafman <dzafman@redhat.com>
7 years agotests: remove TestPGLog ASSERT_DEATH test 21135/head
Nathan Cutler [Thu, 29 Mar 2018 09:40:09 +0000 (11:40 +0200)]
tests: remove TestPGLog ASSERT_DEATH test

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

Conflicts:
src/test/osd/TestPGLog.cc (the code being removed is slightly different in jewel)

7 years agotests: remove TestPGLog EXPECT_DEATH tests
Loic Dachary [Wed, 7 Dec 2016 09:48:10 +0000 (10:48 +0100)]
tests: remove TestPGLog EXPECT_DEATH tests

As per Sam Just advice, remove the EXPECT_DEATH tests to avoid
intermittent hang because they do not play well with threads.

Fixes: http://tracker.ceph.com/issues/18030
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit f1b457ff9826dd3adc7f335f028ee19ecfa9f1b8)

Conflicts:
src/test/osd/TestPGLog.cc (the code being removed is slightly different in jewel)

7 years agoqa/workunits/rbd: remove sanity check in test_admin_socket.sh 21125/head
Mykola Golub [Thu, 29 Mar 2018 09:29:40 +0000 (12:29 +0300)]
qa/workunits/rbd: remove sanity check in test_admin_socket.sh

Fixes: https://tracker.ceph.com/issues/23499
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit d392393e1f92b5f35c76606a85e046211b7adddc)

7 years agoMerge pull request #20508 from smithfarm/wip-23066-jewel
Nathan Cutler [Thu, 29 Mar 2018 10:27:00 +0000 (12:27 +0200)]
Merge pull request #20508 from smithfarm/wip-23066-jewel

jewel: ceph.restart + ceph_manager.wait_for_clean is racy

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #18743 from shinobu-x/wip-21923-jewel
Nathan Cutler [Thu, 29 Mar 2018 09:16:22 +0000 (11:16 +0200)]
Merge pull request #18743 from shinobu-x/wip-21923-jewel

jewel: core: Objecter::C_ObjectOperation_sparse_read throws/catches exceptions on -ENOENT

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoGot rid of recursive mutex. 20639/head
Adam Kupczyk [Wed, 3 Aug 2016 15:56:30 +0000 (17:56 +0200)]
Got rid of recursive mutex.

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

Conflicts:
        src/rgw/rgw_keystone.cc - functions shifted and automatic merge failed, corrected by manual merge
        src/rgw/rgw_keystone.h - trivial merge conflicts, class elements unrelated to this pr are different in jewel

Signed-off-by: Mark Kogan <mkogan@redhat.com>
7 years agoMerge pull request #20435 from pdvian/wip-22968-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:49:06 +0000 (22:49 +0200)]
Merge pull request #20435 from pdvian/wip-22968-jewel

jewel: cephfs: osdc/Journaler: make sure flush() writes enough data

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20335 from pdvian/wip-22865-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:48:21 +0000 (22:48 +0200)]
Merge pull request #20335 from pdvian/wip-22865-jewel

jewel: mds: fix scrub crash

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20333 from pdvian/wip-22863-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:47:32 +0000 (22:47 +0200)]
Merge pull request #20333 from pdvian/wip-22863-jewel

jewel: cephfs-journal-tool: move shutdown to the deconstructor of MDSUtility

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #20312 from pdvian/wip-22861-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:46:46 +0000 (22:46 +0200)]
Merge pull request #20312 from pdvian/wip-22861-jewel

jewel: cephfs: osdc: "FAILED assert(bh->last_write_tid > tid)" in powercycle-wip-yuri-master-1.19.18-distro-basic-smithi

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #19993 from pdvian/wip-22700-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:45:54 +0000 (22:45 +0200)]
Merge pull request #19993 from pdvian/wip-22700-jewel

jewel: cephfs: fuse client: ::rmdir() uses a deleted memory structure of dentry leads …

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #19961 from smithfarm/wip-22695-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:44:59 +0000 (22:44 +0200)]
Merge pull request #19961 from smithfarm/wip-22695-jewel

jewel: mds: fix dump last_sent

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #19141 from shinobu-x/wip-22241-jewel
Nathan Cutler [Wed, 28 Mar 2018 20:44:09 +0000 (22:44 +0200)]
Merge pull request #19141 from shinobu-x/wip-22241-jewel

jewel: cephfs: Processes stuck waiting for write with ceph-fuse

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agorgw: s3website error handler uses original object name 21100/head
Casey Bodley [Fri, 2 Mar 2018 19:22:30 +0000 (14:22 -0500)]
rgw: s3website error handler uses original object name

the s3website error handler needs to use the same object name for
redirect handling that retarget() does, but s->object.name may be
modified based on get_effective_key()

Fixes: http://tracker.ceph.com/issues/23201
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 8f7cbbce26c7fbccb7e9ae46040f3472d8762a88)

Conflicts:
src/rgw/rgw_rest_s3.cc (auth rework)
src/rgw/rgw_rest_s3website.h (frontend rework)

7 years agorgw: fix the subdir without slash of s3 website url
liuhong [Thu, 15 Jun 2017 07:28:23 +0000 (15:28 +0800)]
rgw: fix the subdir without slash of s3 website url

if we use the subdir without slash, we cannot visit the default index.html,
which we configured.It is not consistent with AWS S3.

Fixes: http://tracker.ceph.com/issues/20307
Signed-off-by: liuhong <liuhong@cmss.chinamobile.com>
(cherry picked from commit e817e22705ac4f6935cd2b1510446059e69b2499)

Conflicts:
src/rgw/rgw_rest_s3.cc (auth rework, rgw_obj, url_decode)
src/rgw/rgw_website.cc,h (changes for swift not backported)

7 years agoMerge pull request #20271 from smithfarm/wip-20823-jewel
Nathan Cutler [Wed, 28 Mar 2018 15:00:00 +0000 (17:00 +0200)]
Merge pull request #20271 from smithfarm/wip-20823-jewel

jewel: cephfs: client::mkdirs not handle well when two clients send mkdir request for a same dir

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agolog: Fix AddressSanitizer: new-delete-type-mismatch 21084/head
Brad Hubbard [Wed, 14 Mar 2018 03:55:03 +0000 (13:55 +1000)]
log: Fix AddressSanitizer: new-delete-type-mismatch

 If you directly call the operator new function, you must also directly
 call the operator delete function, and must manually call the
 destructor as well.

Fixes: http://tracker.ceph.com/issues/23324
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit 0fe0c1173b1b3efcb407c22e736d0e2d94bf5840)

Conflicts:
src/log/Entry.h: Resolved for Entry destructor

7 years agoradosgw: conditionally link with tcmalloc 21073/head
Matt Benjamin [Tue, 27 Mar 2018 17:49:53 +0000 (13:49 -0400)]
radosgw: conditionally link with tcmalloc

The radosgw program should be linked with tcmalloc (or
tcmalloc_minimal) when selected by the build (i.e, whenever other
Ceph daemons such as ceph-osd would be.

Just adding $(LIBTCMALLOC) to the linkage directive is sufficient
to do this.

Fixes: http://tracker.ceph.com/issues/23469
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #20982 from dzafman/wip-compact
David Zafman [Tue, 27 Mar 2018 15:48:18 +0000 (08:48 -0700)]
Merge pull request #20982 from dzafman/wip-compact

jewel: Add compact operation to ceph-osdomap-tool

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agolegal: remove doc license ambiguity 20999/head
Nathan Cutler [Tue, 13 Mar 2018 16:36:00 +0000 (17:36 +0100)]
legal: remove doc license ambiguity

The license applicable to the files under doc/ was originally declared (in the
top-level file COPYING) to be "Creative Commons Attribution-ShareAlike (CC
BY-SA)" by ed0653b493a3f919a3abc37a0aa9b5aa29ae0b0e

This license declaration omitted a version number.

Some time later ef7418421b3748c712019c8aedd02b8005c1e1ea was merged, mentioning
CC-BY-SA-1.0 as one of the Ceph source code licenses. Although the purpose of that
commit was only to summarize the canonical license information from COPYING, it
unintentionally became the only place in the source code where the doc license
version was specified.

In March 2018, the Debian project warned that CC-BY-SA-1.0 does not meet its
criteria for inclusion in the "free" section of the Debian distribution. (For
that, at least version 3.0 must be used.)

This new commit removes the doc license ambiguity by setting it to CC-BY-SA-3.0
in all places where the license is mentioned.

The exact spelling of the license name is taken from https://spdx.org/licenses/

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

Conflicts:
ceph.spec.in: resolved License

7 years agoMerge pull request #21014 from dzafman/wip-remove-bc-jewel
Nathan Cutler [Fri, 23 Mar 2018 14:10:12 +0000 (15:10 +0100)]
Merge pull request #21014 from dzafman/wip-remove-bc-jewel

jewel: test: Replace bc command with printf command

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agotest: Replace bc command with printf command 21014/head
David Zafman [Thu, 22 Mar 2018 22:24:03 +0000 (15:24 -0700)]
test: Replace bc command with printf command

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 293ac9895f86b1258434d0dc539a7d4b7046cb6d)

7 years agoMerge pull request #20479 from pdvian/wip-23021-jewel
Nathan Cutler [Thu, 22 Mar 2018 14:45:40 +0000 (15:45 +0100)]
Merge pull request #20479 from pdvian/wip-23021-jewel

jewel: rgw: fix the max-uploads parameter not work

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20561 from smithfarm/wip-22894-jewel
Nathan Cutler [Thu, 22 Mar 2018 14:43:52 +0000 (15:43 +0100)]
Merge pull request #20561 from smithfarm/wip-22894-jewel

jewel: rgw: ECANCELED in rgw_get_system_obj() leads to infinite loop

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20496 from pdvian/wip-23023-jewel
Nathan Cutler [Thu, 22 Mar 2018 14:43:04 +0000 (15:43 +0100)]
Merge pull request #20496 from pdvian/wip-23023-jewel

jewel: rgw: upldate the max-buckets when the quota is uploaded

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20749 from theanalyst/wip-jewel-curl-ssl
Nathan Cutler [Thu, 22 Mar 2018 12:50:06 +0000 (13:50 +0100)]
Merge pull request #20749 from theanalyst/wip-jewel-curl-ssl

jewel: rgw: libcurl & ssl fixes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #19635 from linuxbox2/wip-rgw-jewel-20101
Nathan Cutler [Thu, 22 Mar 2018 12:48:55 +0000 (13:48 +0100)]
Merge pull request #19635 from linuxbox2/wip-rgw-jewel-20101

jewel: rgw: S3 POST policy should not require Content-Type

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #19488 from dplyakin/jewel-get-website-error-code
Nathan Cutler [Thu, 22 Mar 2018 12:45:26 +0000 (13:45 +0100)]
Merge pull request #19488 from dplyakin/jewel-get-website-error-code

jewel: rgw: fix GET website response error code

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20293 from smithfarm/wip-22572-jewel
Nathan Cutler [Wed, 21 Mar 2018 20:14:22 +0000 (21:14 +0100)]
Merge pull request #20293 from smithfarm/wip-22572-jewel

jewel: rgw: stale bucket index entry remains after object deletion

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20292 from smithfarm/wip-22018-jewel
Nathan Cutler [Wed, 21 Mar 2018 20:12:54 +0000 (21:12 +0100)]
Merge pull request #20292 from smithfarm/wip-22018-jewel

jewel: rgw: segmentation fault when starting radosgw after reverting .rgw.root

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #20291 from smithfarm/wip-21954-jewel
Nathan Cutler [Wed, 21 Mar 2018 20:10:13 +0000 (21:10 +0100)]
Merge pull request #20291 from smithfarm/wip-21954-jewel

jewel: rgw: list bucket which enable versioning get wrong result when user marker

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20269 from smithfarm/wip-21951-jewel
Nathan Cutler [Wed, 21 Mar 2018 20:08:14 +0000 (21:08 +0100)]
Merge pull request #20269 from smithfarm/wip-21951-jewel

jewel: rgw: multisite: data sync status advances despite failure in RGWListBucketIndexesCR

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20262 from smithfarm/wip-21950-jewel
Nathan Cutler [Wed, 21 Mar 2018 20:01:05 +0000 (21:01 +0100)]
Merge pull request #20262 from smithfarm/wip-21950-jewel

jewel: rgw: null instance mtime incorrect when enable versioning

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #20179 from shinobu-x/wip-21655-jewel
Nathan Cutler [Wed, 21 Mar 2018 19:59:30 +0000 (20:59 +0100)]
Merge pull request #20179 from shinobu-x/wip-21655-jewel

jewel: rgw: add ability to sync user stats from admin api

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #19057 from shinobu-x/wip-22188-jewel
Nathan Cutler [Wed, 21 Mar 2018 19:33:12 +0000 (20:33 +0100)]
Merge pull request #19057 from shinobu-x/wip-22188-jewel

jewel: rgw: add cors header rule check in cors option request

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #18772 from smithfarm/wip-22028-jewel
Nathan Cutler [Wed, 21 Mar 2018 19:31:14 +0000 (20:31 +0100)]
Merge pull request #18772 from smithfarm/wip-22028-jewel

jewel: rgw: boto3 v4 SignatureDoesNotMatch failure due to sorting of sse-kms headers

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoceph-osdomap-tool: Add compact comand option 20982/head
David Zafman [Thu, 19 Oct 2017 19:56:58 +0000 (12:56 -0700)]
ceph-osdomap-tool: Add compact comand option

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit b1f397f4fc3313ee0325722156759bfe32286c6b)

7 years agotools: Add pg log trim command to ceph-objectstore-tool 20882/head
Josh Durgin [Tue, 6 Mar 2018 01:04:10 +0000 (20:04 -0500)]
tools: Add pg log trim command to ceph-objectstore-tool

Add test script that verifies the command in qa/standalone/osd

Fixes: http://tracker.ceph.com/issues/23242
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit b01e4ea5e2c1d2e9e997f53621aba73a7f7c9241)

Conflicts:
src/tools/ceph_objectstore_tool.cc
Different ops
Need ObjectStore::Sequencer
Use apply_transaction()
qa/standalone/special/ceph_objectstore_tool.py
Different ops

(cherry picked from commit b055cde916d00014e0d148f129934216f29252d4)

Conflicts:
src/common/legacy_config_opts.h src/common/options.cc
         Use src/common/config_opts.h in Jewel
src/test/ceph_objectstore_tool.py (different ops)
src/tools/ceph_objectstore_tool.cc (different ops, no PastIntervals)
src/test/osd/repro_long_log.sh
Moved from ../qa/standalone/osd
Use Jewel ceph-helpers.sh location
No ceph-mgr in Jewel
Single test that creates 51 write entries and trims to 30

7 years agorgw: make init env methods return an error 20800/head
Abhishek Lekshmanan [Mon, 12 Feb 2018 17:05:03 +0000 (18:05 +0100)]
rgw:  make init env methods return an error

Since web frontends may signal an error when requests are malformed or so, let
us double check this and raise errors early. The current user of this is
civetweb frontend; which can potentially return null from `parse_http_headers`
when a HTTP header without a ":" is supplied at which point headers.value is
null which can lead to undefined behaviour later in RGW.

Fixes: http://tracker.ceph.com/issues/23039
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 7872a831783e17dcc4d0aa70cffc256afb664f7a)

src/rgw/rgw_lib.h:
  Added https://github.com/ceph/ceph/pull/19065 to the backport as it is harmless

7 years agoceph.in: bypass codec when writing raw binary data 20763/head
Kefu Chai [Wed, 7 Mar 2018 04:05:10 +0000 (12:05 +0800)]
ceph.in: bypass codec when writing raw binary data

See-also: 615f8f45
Fixes: http://tracker.ceph.com/issues/23185
Signed-off-by: Oleh Prypin <oleh@pryp.in>
(cherry picked from commit 8fc67075c6d7d4443747f53687e498439f80b57a)

Conflicts: this change was introduced to master by 8fc67075. but that commit
  involves a lot of py3 compatibility changes, which are not the focus of
  jewel or this fix. so i am only cherry-pick the change writing buffer
  returned by asock to stdout.

7 years agorgw: rgw_admin use raii for curl init/teardown 20749/head
Abhishek Lekshmanan [Mon, 5 Mar 2018 16:59:33 +0000 (17:59 +0100)]
rgw: rgw_admin use raii for curl init/teardown

Since a lot of rgw-admin commands can exit early

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 4667937e4cece63751d5406d75c140418910a823)

7 years agorgw: call setup and release curl handles in setup_curl
Abhishek Lekshmanan [Mon, 5 Mar 2018 15:30:15 +0000 (16:30 +0100)]
rgw: call setup and release curl handles in setup_curl

Since rgw admin can also use it which will fail otherwise.

Fixes: http://tracker.ceph.com/issues/23203
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 08c4c05f5d939976c9e1607b9338f0a9b287708d)

7 years agorgw: rgw_admin also inits curl
Abhishek Lekshmanan [Fri, 2 Mar 2018 09:41:51 +0000 (10:41 +0100)]
rgw: rgw_admin also inits curl

since we use http manager which in turn uses curl and uses curl multi
interfaces. While curl is initialized at the first call of curl_easy_init() this
method isn't guaranteed to be safe when multiple threads may call the function
since curl_global_init isn't reentrant. Calling curl_global_init via
rgw::curl::setup_curl which additionally sets up ssl interfaces etc. when
openssl is used as curl's ssl backend. Similarly moving rgw target link to
accomodate this change.

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 112ba0b4dae5972b520aec39fe99275a6dfa899d)

 Conflicts:
  src/rgw/CMakeLists.txt
  beast submodule related changes which are not a part of this patchset
  src/rgw/rgw_admin.cc
  trivial whitespace conflicts #