]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Josh Durgin [Tue, 10 Apr 2018 01:43:40 +0000 (18:43 -0700)]
Merge pull request #21199 from smithfarm/wip-22403-jewel
jewel: osd: replica read can trigger cache promotion
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Josh Durgin [Tue, 10 Apr 2018 01:40:53 +0000 (18:40 -0700)]
Merge pull request #21200 from ovh/bp-jewel-backport-22448
jewel: osd/PrimaryLogPG: dump snap_trimq size
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Josh Durgin [Mon, 9 Apr 2018 23:44:49 +0000 (16:44 -0700)]
Merge pull request #21197 from smithfarm/wip-23521-jewel
jewel: ceph_authtool: add mode option
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Josh Durgin [Mon, 9 Apr 2018 23:38:12 +0000 (16:38 -0700)]
Merge pull request #20381 from pdvian/wip-22941-jewel
jewel: core: librados: Double free in rados_getxattrs_next
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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
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
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
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 )
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 )
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
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
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
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
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 )
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
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
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 )
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
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 )
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>
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 )
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
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
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
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
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 )
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 )
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
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 )
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 )
Piotr Dałek [Tue, 3 Apr 2018 08:27:00 +0000 (10:27 +0200)]
osd/PrimaryLogPG: dump snap_trimq size
One can just parse the snap_trimq string, but that's much more
expensive than just reading an unsigned int.
This is adaptation of commit
dc7781cf17d11cb09067656cb25c0d710ab60d71
for Jewel - cherrypick is not possible due to code differences.
Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
Sage Weil [Fri, 15 Sep 2017 14:17:07 +0000 (10:17 -0400)]
osd/PrimaryLogPG: move cache_mode==none check to top
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
5a26ac4d0f643f90d1f513ee33081faa9b0a7e7d )
Conflicts:
src/osd/PrimaryLogPG.cc - file does not exist in jewel; backported manually
Sage Weil [Mon, 7 Aug 2017 22:42:57 +0000 (18:42 -0400)]
osd/PrimaryLogPG: send requests to primary on cache miss
If a client has {BALANCE,LOCALIZE}_READS and sends a request to a
replica, but the object isn't in the cache, send them back to the
primary. Otherwise we might do something rash (like trigger a
promotion from a replica).
Fixes: http://tracker.ceph.com/issues/20919
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
741a8720996b74434a036b143209111ce5203cbc )
Conflicts:
src/osd/PrimaryLogPG.cc - file does not exist in jewel; backported manually
src/osd/PrimaryLogPG.h - file does not exist in jewel; backported manually
Sébastien Han [Fri, 23 Jun 2017 13:45:57 +0000 (15:45 +0200)]
ceph_authtool: add mode option
We now have the ability to set the keyring file mode with the help of
'--mode MODE'. The mode needs to be specified in octal using the format:
0600.
Closes: http://tracker.ceph.com/issues/23513
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit
b179cd275526613a3838cb52e6f1c35950b6f3a8 )
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
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>
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 )
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>
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.
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 )
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
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 )
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
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);")
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 )
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 )
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)
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>
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>
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>
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>
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)
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)