]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agoqa/test: added supported ditro 22090/head 22130/head
Yuri Weinstein [Fri, 18 May 2018 15:39:45 +0000 (08:39 -0700)]
qa/test: added supported ditro

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
7 years agoMerge pull request #21190 from smithfarm/wip-21033-jewel
Nathan Cutler [Thu, 17 May 2018 09:19:03 +0000 (11:19 +0200)]
Merge pull request #21190 from smithfarm/wip-21033-jewel

jewel: build/ops: rpm: bump epoch ahead of ceph-common in RHEL base

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
7 years agoMerge pull request #21213 from smithfarm/wip-23026-jewel
Nathan Cutler [Thu, 17 May 2018 09:16:19 +0000 (11:16 +0200)]
Merge pull request #21213 from smithfarm/wip-23026-jewel

jewel: rgw: data sync of versioned objects, note updating bi marker

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #21185 from smithfarm/wip-23158-jewel
Nathan Cutler [Tue, 10 Apr 2018 07:07:22 +0000 (09:07 +0200)]
Merge pull request #21185 from smithfarm/wip-23158-jewel

jewel: mds: underwater dentry check in CDir::_omap_fetched is racy

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #18010 from jdurgin/wip-rocksdb-jewel
Josh Durgin [Tue, 10 Apr 2018 05:29:35 +0000 (22:29 -0700)]
Merge pull request #18010 from jdurgin/wip-rocksdb-jewel

jewel: core: enable rocksdb for filestore

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #21199 from smithfarm/wip-22403-jewel
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>
7 years agoMerge pull request #21200 from ovh/bp-jewel-backport-22448
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>
7 years agoMerge pull request #21197 from smithfarm/wip-23521-jewel
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>
7 years agoMerge pull request #20381 from pdvian/wip-22941-jewel
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>
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 agoPendingReleaseNotes: note about changing omap backend to rocksdb 18010/head
Josh Durgin [Sat, 3 Mar 2018 02:37:15 +0000 (21:37 -0500)]
PendingReleaseNotes: note about changing omap backend to rocksdb

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
7 years agoos/filestore: disable rocksdb compression
Sage Weil [Fri, 3 Nov 2017 15:03:22 +0000 (10:03 -0500)]
os/filestore: disable rocksdb compression

Experience working with customer escalations suggests that disabling
compression improves performance, and the storage overhead is generally
not a concern for the metadata and omap data we are storing.

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

Conflicts:
src/common/options.cc

Config options moved files since jewel.

7 years agocommon/options: enable multiple rocksdb compaction threads for filestore
Josh Durgin [Tue, 10 Oct 2017 23:54:31 +0000 (19:54 -0400)]
common/options: enable multiple rocksdb compaction threads for filestore

One of the major benefits of rocksdb over leveldb is multithreaded
compaction. The default of 1 thread does not provide much benefit, and
is insufficient for heavy rgw workloads.

For high-write and delete omap workloads I've seen up to 8 compaction
threads be used.  There's little overhead to having a higher max than
are needed, so set the default to 8.

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

Conflicts:
src/common/options.cc (moved to config_opts.h)

7 years agotools/ceph-kvstore-tool: clean up destination store object
Josh Durgin [Tue, 26 Sep 2017 02:33:31 +0000 (19:33 -0700)]
tools/ceph-kvstore-tool: clean up destination store object

If left alive, background threads in the db may crash

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

7 years agotools/ceph-kvstore-tool: add destination store type to store-copy
Josh Durgin [Tue, 26 Sep 2017 02:32:39 +0000 (19:32 -0700)]
tools/ceph-kvstore-tool: add destination store type to store-copy

This allows e.g. copying from leveldb into rocksdb

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

7 years agoMakefile-rocksdb.am: update for new rocksdb version
Josh Durgin [Thu, 28 Sep 2017 21:31:43 +0000 (17:31 -0400)]
Makefile-rocksdb.am: update for new rocksdb version

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
7 years agoosd: switch filestore to default to rocksdb
Neha Ojha [Wed, 26 Apr 2017 17:20:35 +0000 (10:20 -0700)]
osd: switch filestore to default to rocksdb

Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit ba96197e6d4614377c80cf16a1b29b6e6ac70f90)

Conflicts:
src/common/config_opts.h (trivial)

7 years agorocksdb: remove experimental status
Sage Weil [Thu, 6 Oct 2016 17:56:43 +0000 (13:56 -0400)]
rocksdb: remove experimental status

We've been testing rocksdb on mons in QA for months now
with no problems.  We've also observed no problems with
its use in bluestore.

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

7 years agoinclude/assert: define ceph_abort_msg(cct, msg)
Sage Weil [Mon, 27 Jun 2016 18:34:31 +0000 (11:34 -0700)]
include/assert: define ceph_abort_msg(cct, msg)

Abort with an error string.

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

7 years agokv/RocksDBStore: abort if rocksdb EIO, don't return incorrect result
Haomai Wang [Fri, 23 Jun 2017 01:36:20 +0000 (09:36 +0800)]
kv/RocksDBStore: abort if rocksdb EIO, don't return incorrect result

If the underlying disk is missing, the current logic won't check the actual
reason why Get/Set failed, it will result to client get a empty key/value
pair which is not expected. The correct logic should be abort
right now. Otherwise, it will leads to undefined behavior.

Signed-off-by: Haomai Wang <haomai@xsky.com>
(cherry picked from commit 8c60b55d7d49bc6fa1d8d076c025fc83283c0776)

Conflicts:
src/kv/RocksDBStore.cc (trivial)

7 years agoos/kv: beautify kvdb statistics
Varada Kari [Thu, 22 Dec 2016 09:49:38 +0000 (15:19 +0530)]
os/kv: beautify kvdb statistics

Improves the presentation of rocksdb dump statistics

Signed-off-by: Varada Kari <varada.kari@sandisk.com>
(cherry picked from commit 8e1d4ac92e2f9cd5f7438a99459bc063adf2542b)

7 years agosrc/kv/RocksDBStore.cc:fix typos
xianxiaxiao [Wed, 14 Dec 2016 02:32:16 +0000 (02:32 +0000)]
src/kv/RocksDBStore.cc:fix typos

Signed-off-by: xianxiaxiao <xianxia.xiao@kylin-cloud.com>
(cherry picked from commit b26555a0422423a9fef0034aa9313b3a4c1308ef)

7 years agokv/RocksDBStore: dump extended stats
Varada Kari [Fri, 2 Dec 2016 18:19:48 +0000 (13:19 -0500)]
kv/RocksDBStore: dump extended stats

Signed-off-by: Varada Kari <varada.kari@sandisk.com>
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit 9fda9ce0b0fbf795469b50f6e9ebcb9bd0bc32a4)

Conflicts:
src/common/config_opts.h
src/kv/RocksDBStore.cc
src/kv/RocksDBStore.h
(trivial resolution)

7 years agokv/RocksDBStore: no reason to make write_batch using new/delete
Haomai Wang [Wed, 21 Sep 2016 08:20:48 +0000 (16:20 +0800)]
kv/RocksDBStore: no reason to make write_batch using new/delete

discards new/delete for bat

Signed-off-by: Haomai Wang <haomai@xsky.com>
(cherry picked from commit 79a6611c0aa2c5b16435fad53268dd29a8541188)

Conflicts:
src/kv/RocksDBStore.cc (trivial)

7 years agoLogging rocksdb transaction in ceph log
Somnath Roy [Thu, 8 Sep 2016 18:25:45 +0000 (14:25 -0400)]
Logging rocksdb transaction in ceph log

The rocksdb transaction is now been logged into ceph log based
on debug level. If transaction is failed, the error code,
error string and the entire transaction is dumped in the log.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
(cherry picked from commit 46f1f9e5ca2f4e34393dfa1952fa4283a859d869)

7 years agoRocksDBStore: use Get for multiget
Haomai Wang [Thu, 2 Jun 2016 15:01:01 +0000 (23:01 +0800)]
RocksDBStore: use Get for multiget

Signed-off-by: Haomai Wang <haomai@xsky.com>
(cherry picked from commit a44f4f7238585996f83f7e35e01587671fe675d4)

7 years agokv/RocksDBStore: convert get() to use rocksdb Get() instead of iterator
Jianjian Huo [Wed, 25 May 2016 23:38:10 +0000 (16:38 -0700)]
kv/RocksDBStore: convert get() to use rocksdb Get() instead of iterator

For RocksDB, iterator will bypass row cache.
We don't want this to happen for get(), after row cache is enabled.

Signed-off-by: Jianjian Huo <jianjian.huo@ssi.samsung.com>
(cherry picked from commit f6ac5579190549291f6385775070c305dc8fba8b)

Conflicts:
src/kv/RocksDBStore.cc (trivial)

7 years agotests: unittest_rocksdb_option: remove deprecated option
Kefu Chai [Wed, 12 Apr 2017 05:56:01 +0000 (13:56 +0800)]
tests: unittest_rocksdb_option: remove deprecated option

* disable_data_sync was removed from rocksdb, see
  https://github.com/facebook/rocksdb/blob/02799ad77a16332ee5bfb570f62ab6162a788a5a/HISTORY.md#530-03082017.
  so remove it.
* and check options.compression, which was commented out.

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

7 years agorocksdb update
Sage Weil [Fri, 22 Sep 2017 19:47:05 +0000 (15:47 -0400)]
rocksdb update

This is the version in 12.2.0, that we have been running for ~6 month or so.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agokv/Makefile: fix rocksdb build options (USE_RTTI=1)
Sage Weil [Fri, 22 Sep 2017 20:21:54 +0000 (16:21 -0400)]
kv/Makefile: fix rocksdb build options (USE_RTTI=1)

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agokv/RocksDBStore: Add table options for filter and index tuning.
Mark Nelson [Wed, 19 Jul 2017 02:39:36 +0000 (21:39 -0500)]
kv/RocksDBStore: Add table options for filter and index tuning.

This is a modified cherry-pick of commit 9c15338 to work with the old
config_opts settings.

Signed-off-by: Mark Nelson <mnelson@redhat.com>
(cherry picked from commit 9c15338ad3049f5171cdecafb9370d6bf5dbe913)

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 agorgw: log unlink_instance mtime as object's mtime 21213/head
Yehuda Sadeh [Wed, 15 Feb 2017 00:18:53 +0000 (16:18 -0800)]
rgw: log unlink_instance mtime as object's mtime

This is needed so that when squashing entries during data
sync we get a consistent mtime for that object.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit bef22609de95843008b5d02eb075252bb97fbe90)

7 years agomds: fix check of underwater dentries 21185/head
Yan, Zheng [Sat, 17 Feb 2018 01:37:48 +0000 (09:37 +0800)]
mds: fix check of underwater dentries

Underwater dentry is dentry that is dirty in our cache from journal
replay, but had already been flushed to disk before the mds failed.
To decide if an dentry is underwater, original code compares dirty
dentry's version to on-disk dirfrag's version. This method is racy
because CDir::log_mark_dirty() can increase dirfrag's version without
adding log event. After mds failover, version of dirfrag from journal
replay can be less than on-disk dirfrag's version. So newly dirtied
dentry can be equal to or less than the on-disk dirfrag's version.

The race can cause incorrect fragstat/rstat

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

Conflicts:
src/mds/CDir.cc - conditional being replaced by "if (!dn)" is different
  in jewel; refrain from changing "touching wanted dn"
                          conditional
src/mds/CDir.h - undef_inodes pointer, which is being deleted, has
                         different type in jewel

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