]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agorgw: If use 'copy part' without 'x-amz-copy-source-range', 21294/head
yuliyang [Mon, 9 Apr 2018 05:12:42 +0000 (13:12 +0800)]
rgw: If use 'copy part' without 'x-amz-copy-source-range',

it will copy an entire source object

Signed-off-by: Malcolm Lee <fengxueyu35@126.com>
(cherry picked from commit 753b3a7)

Conflicts:
 1. in original commit, copy_source is std::string, jewel
    version is const char *.
 2. in original commit, url_decode take only one param,
    jewel version take 2 params.
 3. in original commit, get_obj_state take 6 params, jewel
    version takes 4 params.

7 years agoMerge pull request #21203 from smithfarm/wip-22394-jewel
Nathan Cutler [Sun, 8 Apr 2018 20:03:00 +0000 (22:03 +0200)]
Merge pull request #21203 from smithfarm/wip-22394-jewel

jewel: librbd: cannot copy all image-metas if we have more than 64 key/value pairs

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
7 years agoMerge pull request #21098 from smithfarm/wip-23348-jewel
Nathan Cutler [Sun, 8 Apr 2018 19:54:40 +0000 (21:54 +0200)]
Merge pull request #21098 from smithfarm/wip-23348-jewel

jewel: rgw: inefficient buffer usage for PUTs

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Marcus Watts <mwatts@redhat.com>
7 years agoMerge pull request #21215 from smithfarm/wip-23546-jewel
Nathan Cutler [Sun, 8 Apr 2018 16:37:17 +0000 (18:37 +0200)]
Merge pull request #21215 from smithfarm/wip-23546-jewel

jewel: journal: Message too long error when appending journal

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

jewel: cephfs: client: prevent fallback to remount when dentry_invalidate_cb is true but root->dir is NULL

Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #21232 from pdvian/wip-23543-jewel
Nathan Cutler [Sun, 8 Apr 2018 16:26:06 +0000 (18:26 +0200)]
Merge pull request #21232 from pdvian/wip-23543-jewel

jewel: rbd-nbd: fix ebusy when do map

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

jewel: librbd: cannot clone all image-metas if we have more than 64 key/value pairs

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

jewel: rbd: clean up warnings when mirror commands used on non-setup pool

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

jewel: rbd-mirror: ignore permission errors on rbd_mirroring object

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

jewel: librbd: list_children should not attempt to refresh image

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

jewel: rbd-mirror: strip environment/CLI overrides for remote cluster

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

jewel: librbd: object map batch update might cause OSD suicide timeout

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

jewel: librbd: create+truncate for whole-object layered discards

Reviewed-by: Mykola Golub <mgolub@suse.com>
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 agorgw: fix memory fragmentation problem reading data from client. 21098/head
Marcus Watts [Mon, 5 Mar 2018 21:10:29 +0000 (16:10 -0500)]
rgw: fix memory fragmentation problem reading data from client.

mg_read returns 0 on EOF.  In some versions of civetweb, mg_read can
return "short" reads.  The logic in the rest of ceph depends on a read
always filling its buffer when possible.  So loop here and fill the
buffer.  Looping to fill the buffer means we must also track when
mg_read returns EOF, because after that further calls to mg_read will return -1.

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

Conflicts:
    src/rgw/rgw_civetweb.cc:
        - master RGWCivetWeb::RGWCivetWeb() becomes RGWMongoose::RGWMongoose() in jewel,
          with slightly different initializer list; adapt mg_read() call for jewel
        - master RGWCivetWeb::read_data() becomes RGWMongoose::read_data() in jewel,
          and inside this function we return -EIO in jewel, instead of throwing an exception

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 agorbd-nbd: fix ebusy when do map 21232/head
Li Wang [Thu, 7 Dec 2017 14:03:45 +0000 (22:03 +0800)]
rbd-nbd: fix ebusy when do map

When doing rbd-nbd map, if the Ceph service is not available,
the codes will wait on rados.connect(), unless killing the process.
In that case, the close_nbd logic is skipped with NBD_CLEAR_SOCK ioctl
not called. On the CentOS 7 kernel, it leaves nbd->file not cleared, which
causes the subsequent map requests return EBUSY, this patch fixes it
by connecting Ceph first prior to calling NBD_SET_SOCK ioctl

Fixes: http://tracker.ceph.com/issues/23528
Signed-off-by: Li Wang <laurence.liwang@gmail.com>
(cherry picked from commit ab77dcc0170c0d63795fe0d50427cda630bfd593)

Conflicts:
src/tools/rbd_nbd/rbd-nbd.cc: - Resolved for cfg changes & devpath.empty()
      - Removed cfg->exclusive condition as exclusive
bool not available

7 years agorbd: mirror "get" actions now have cleaner error messages 21227/head
Jason Dillaman [Fri, 8 Sep 2017 20:43:58 +0000 (16:43 -0400)]
rbd: mirror "get" actions now have cleaner error messages

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

Conflicts:
src/librbd/api/Mirror.cc: methods moved from internal.cc
src/tools/rbd/action/MirrorPool.cc: refactored post-Jewel

7 years agocls/rbd: avoid recursively listing the watchers on rbd_mirroring object
Jason Dillaman [Fri, 8 Sep 2017 19:41:36 +0000 (15:41 -0400)]
cls/rbd: avoid recursively listing the watchers on rbd_mirroring object

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

Conflicts:
src/cls/rbd/cls_rbd.cc: trivial resolution

7 years agotest_librbd:add a test case of 70 key/val pairs in TestClone2 21228/head
PCzhangPC [Sat, 28 Oct 2017 06:29:45 +0000 (14:29 +0800)]
test_librbd:add a test case of 70 key/val pairs in TestClone2

Signed-off-by: PCzhangPC <pengcheng.zhang@easystack.cn>
(cherry picked from commit 85713bdcc3870728dce02f87ee3cfd36257ae533)

7 years agotest_librbd:add a test case of 70 key/val pairs in TestClone
PCzhangPC [Sat, 21 Oct 2017 03:31:02 +0000 (11:31 +0800)]
test_librbd:add a test case of 70 key/val pairs in TestClone

Signed-off-by: PCzhangPC <pengcheng.zhang@easystack.cn>
(cherry picked from commit 3e08577a296bc4ce2c1592849108926b45e9b541)

7 years agolibrbd: cannot clone all image-metas if we have more than 64 key/value pairs
PCzhangPC [Fri, 20 Oct 2017 06:21:09 +0000 (14:21 +0800)]
librbd: cannot clone all image-metas if we have more than 64 key/value pairs

Signed-off-by: PCzhangPC <pengcheng.zhang@easystack.cn>
(cherry picked from commit ccc56384032be7f6bd48e28b6825b3ce589c7cf7)

Conflicts:
src/librbd/image/CloneRequest.h/cc: logic exists in internal.cc

7 years agorbd-mirror: ignore permission errors on rbd_mirroring object 21225/head
Jason Dillaman [Tue, 11 Jul 2017 17:42:35 +0000 (13:42 -0400)]
rbd-mirror: ignore permission errors on rbd_mirroring object

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

Conflicts:
src/tools/rbd_mirror/ClusterWatcher.cc: trivial resolution

7 years agolibrbd: list_children should not attempt to refresh image 21224/head
Jason Dillaman [Wed, 4 Oct 2017 14:46:46 +0000 (10:46 -0400)]
librbd: list_children should not attempt to refresh image

The snap_lock is being held when this method is invoked, which can
result in a deadlock.

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

Conflicts:
src/librbd/internal.cc: functions re-arranged in later release

7 years agorbd-mirror: strip environment/CLI overrides for remote cluster 21223/head
Jason Dillaman [Tue, 3 Apr 2018 21:37:49 +0000 (17:37 -0400)]
rbd-mirror: strip environment/CLI overrides for remote cluster

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

Conflicts:
    src/tools/rbd_mirror/Replayer.cc: utilize old-style config accessors
    src/tools/rbd_mirror/Replayer.h: trivial resolution

7 years agolibrbd: fix snap create/rm may taking long time 21220/head
Song Shun [Wed, 17 Jan 2018 01:32:45 +0000 (09:32 +0800)]
librbd: fix snap create/rm may taking long time

  fix snap create/rm may taking long time
  http://tracker.ceph.com/issues/22716

Signed-off-by: Song Shun <song.shun3@zte.com.cn>
(cherry picked from commit d04ed348a1b20e5ea5bedada2462cb41f0f1d85a)

7 years agolibrbd: batch large object map updates into multiple chunks
Jason Dillaman [Sun, 15 Oct 2017 21:26:25 +0000 (17:26 -0400)]
librbd: batch large object map updates into multiple chunks

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

Conflicts:
src/librbd/ObjectMap.h: trivial resolution
src/librbd/object_map/UpdateRequest.cc: trivial resolution
src/librbd/object_map/UpdateRequest.h: trivial resolution

7 years agolibrbd: combine trim state machine object map batch update states
Jason Dillaman [Fri, 13 Oct 2017 18:44:40 +0000 (14:44 -0400)]
librbd: combine trim state machine object map batch update states

The PRE/POST states were previously divided into two halves for handling
the copy-up batch and the direct removal batch. This can be simplified by
just using a single PRE/POST for the entire deletion region.

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

Conflicts:
src/librbd/operation/TrimRequest.cc: trivial resolution
src/librbd/operation/TrimRequest.h: trivial resolution

7 years agocls/rbd: object map update now utilizes constant-time bit vector operations
Jason Dillaman [Fri, 13 Oct 2017 15:06:38 +0000 (11:06 -0400)]
cls/rbd: object map update now utilizes constant-time bit vector operations

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

7 years agocommon/bit_vector: provide constant time iteration of underlying bufferlist
Jason Dillaman [Fri, 13 Oct 2017 15:05:48 +0000 (11:05 -0400)]
common/bit_vector: provide constant time iteration of underlying bufferlist

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

Conflicts:
src/common/bit_vector.hpp: trivial resolution

7 years agocommon/buffer: expose hidden const deference operator
Jason Dillaman [Fri, 13 Oct 2017 15:03:25 +0000 (11:03 -0400)]
common/buffer: expose hidden const deference operator

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

7 years agolibrbd: create+truncate for whole-object layered discards 21219/head
Jason Dillaman [Tue, 3 Apr 2018 15:53:09 +0000 (11:53 -0400)]
librbd: create+truncate for whole-object layered discards

A whole-object layered discard is implemented as a truncate rather
than a delete: a dummy object is needed to prevent the CoW machinery
from kicking in.  However, a truncate on a non-existent object is
a no-op.  If the object doesn't exist in HEAD, a discard request is
effectively ignored -- parent blocks are still seen afterwards.

A non-exclusive create on an existing object is also a no-op, so the
fix is to do a compound create+truncate instead.

(derived from commit 0514480b16b0a1e76a9ba31cc3ba58a32b7bee18)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agojournal: limit number of appends sent in one librados op 21215/head
Mykola Golub [Sat, 24 Mar 2018 06:22:53 +0000 (08:22 +0200)]
journal: limit number of appends sent in one librados op

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

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 agotest:add a test case in test_librbd 21203/head
PCzhangPC [Fri, 20 Oct 2017 09:07:41 +0000 (17:07 +0800)]
test:add a test case in test_librbd

Signed-off-by: PCzhangPC <pengcheng.zhang@easystack.cn>
(cherry picked from commit be5ad8764f65f43b6844eaa99c591a31c4d3af82)

7 years agorbd:can not copy all image-metas if we have more than 64 key/value pairs
PCzhangPC [Mon, 16 Oct 2017 14:46:40 +0000 (22:46 +0800)]
rbd:can not copy all image-metas if we have more than 64 key/value pairs

Signed-off-by: PCzhangPC <pengcheng.zhang@easystack.cn>
(cherry picked from commit 71178643b2361557f31094e2490d4124b27cd7ff)

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 agoclient: use either dentry_invalidate_cb or remount_cb to invalidate kernel dcache 21189/head
Zhi Zhang [Mon, 5 Mar 2018 03:04:36 +0000 (11:04 +0800)]
client: use either dentry_invalidate_cb or remount_cb to invalidate kernel dcache

Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
(cherry picked from commit 6b823dc250223c2c25c341d6ffcfa64510f47bb2)

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>