]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Yehuda Sadeh [Fri, 8 Jul 2016 01:01:54 +0000 (18:01 -0700)]
rgw: adjust manifest head object
adjust the manifest head object:
- when reading manifest, set the head object to the object
we read the manifest from (and its size). Some manifests are
broken and point at a different object
- when copying multipart object, set the manifest head object to
point at the new head object
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
419264586fc46337322f0d60b0ffcdcce3bb5c5a )
Yehuda Sadeh [Thu, 7 Jul 2016 22:49:07 +0000 (15:49 -0700)]
rgw: adjust objs when copying obj with explicit_objs set
If the head object contains data, need to set it in the list of
objs (in addition to being pointed at by head_obj).
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
1e012112b99004745952accc6fb11ada5e8e0045 )
Yehuda Sadeh [Thu, 7 Jul 2016 22:36:33 +0000 (15:36 -0700)]
rgw: patch manifest to handle explicit objs copy issue
Fixes: http://tracker.ceph.com/issues/16435
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
b51476466e5bb03bbaa6e428bb6bb189a259b9fd )
Loic Dachary [Thu, 25 Aug 2016 07:17:52 +0000 (09:17 +0200)]
Merge pull request #9405 from SUSE/wip-16083-jewel
jewel: mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Thu, 25 Aug 2016 07:02:17 +0000 (09:02 +0200)]
Merge pull request #10654 from dachary/wip-9577-jewel
jewel: mon: "mon metadata" fails when only one monitor exists
Reviewed-by: John Spray <john.spray@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 20:08:58 +0000 (22:08 +0200)]
Merge pull request #10791 from dachary/wip-17004-jewel
jewel: rbd-mirror: FAILED assert(m_state == STATE_STOPPING)
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 20:08:30 +0000 (22:08 +0200)]
Merge pull request #10827 from dillaman/wip-16950-jewel
jewel: librbd: delay acquiring lock if image watch has failed
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 16:57:23 +0000 (18:57 +0200)]
Merge pull request #10653 from dachary/wip-10495-jewel
jewel : 60-ceph-partuuid-workaround-rules still needed by debian jessie (udev 215-17)
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 16:51:54 +0000 (18:51 +0200)]
Merge pull request #10357 from SUSE/wip-16748-jewel
jewel: mount.ceph: move from ceph-base to ceph-common and add symlink in /sbin for SUSE
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 15:48:00 +0000 (17:48 +0200)]
Merge pull request #10790 from dachary/wip-17005-jewel
jewel: ImageReplayer::is_replaying does not include flush state
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 15:47:45 +0000 (17:47 +0200)]
Merge pull request #10792 from dachary/wip-16978-jewel
jewel: rbd-mirror: FAILED assert(m_on_update_status_finish == nullptr)
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 15:47:36 +0000 (17:47 +0200)]
Merge pull request #10646 from dachary/wip-16576-jewel
jewel: rbd-mirror: FAILED assert(m_local_image_ctx->object_map != nullptr)
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 15:47:18 +0000 (17:47 +0200)]
Merge pull request #10647 from dachary/wip-16593-jewel
jewel: FAILED assert(object_no < m_object_map.size())
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 15:47:08 +0000 (17:47 +0200)]
Merge pull request #10786 from dachary/wip-17061-jewel
jewel: bashism in src/rbdmap
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Loic Dachary [Wed, 24 Aug 2016 12:12:34 +0000 (14:12 +0200)]
Merge pull request #10421 from SUSE/wip-16659-jewel
jewel: ReplicatedBackend doesn't increment stats on pull, only push
Reviewed-by: Kefu Chai <kchai@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 13:42:11 +0000 (15:42 +0200)]
Merge pull request #10501 from Abhishekvrshny/wip-16621-jewel
jewel: mds: tell command blocks forever with async messenger (TestVolumeClient.test_evict_client failure)
Reviewed-by: Douglas Fuller <dfuller@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 13:23:34 +0000 (15:23 +0200)]
Merge pull request #10816 from SUSE/wip-17092-jewel
jewel: build/ops: need rocksdb commit
7ca731b12ce for ppc64le build
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Jason Dillaman [Thu, 4 Aug 2016 17:24:54 +0000 (13:24 -0400)]
librbd: delay acquiring exclusive lock if watch has failed
Fixes: http://tracker.ceph.com/issues/16923
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
dfe9f3eac9cca3b83962e0e1b7eac38e6e76d7a5 )
Jason Dillaman [Thu, 4 Aug 2016 17:47:33 +0000 (13:47 -0400)]
librbd: convert ImageWatcher class to template
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
814c305ce8c35b5ce01d7e29a912d5ef3978754b )
Conflicts:
src/librbd/ImageWatcher.cc: no shrink guard
src/librbd/Operations.cc: no shrink guard
Loic Dachary [Tue, 23 Aug 2016 06:48:19 +0000 (08:48 +0200)]
Merge pull request #10103 from xiaoxichen/wip-16037-jewel
jewel: MDSMonitor::check_subs() is very buggy
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:48:01 +0000 (08:48 +0200)]
Merge pull request #10105 from xiaoxichen/wip-16515-jewel
jewel: Session::check_access() is buggy
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:47:37 +0000 (08:47 +0200)]
Merge pull request #10106 from xiaoxichen/wip-16215-jewel
jewel: client: crash in unmount when fuse_use_invalidate_cb is enabled
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:47:23 +0000 (08:47 +0200)]
Merge pull request #10108 from xiaoxichen/wip-16320-jewel
jewel: fuse mounted file systems fails SAMBA CTDB ping_pong rw test with v9.0.2
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:47:10 +0000 (08:47 +0200)]
Merge pull request #10199 from SUSE/wip-16625-jewel
jewel: Failing file operations on kernel based cephfs mount point leaves unaccessible file behind on hammer 0.94.7
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:46:53 +0000 (08:46 +0200)]
Merge pull request #10499 from Abhishekvrshny/wip-16299-jewel
jewel: mds: fix SnapRealm::have_past_parents_open()
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:46:38 +0000 (08:46 +0200)]
Merge pull request #10500 from Abhishekvrshny/wip-16620-jewel
jewel: Fix shutting down mds timed-out due to deadlock
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:46:13 +0000 (08:46 +0200)]
Merge pull request #10502 from Abhishekvrshny/wip-16797-jewel
jewel: MDS Deadlock on shutdown active rank while busy with metadata IO
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Loic Dachary [Tue, 23 Aug 2016 06:45:41 +0000 (08:45 +0200)]
Merge pull request #10104 from xiaoxichen/wip-16560-jewel
jewel: mds: enforce a dirfrag limit on entries
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Loic Dachary [Mon, 22 Aug 2016 23:19:33 +0000 (01:19 +0200)]
Merge pull request #10074 from ceph/jewel-16002
jewel: ObjectCacher split BufferHead read fix
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Nathan Cutler [Mon, 22 Aug 2016 18:56:38 +0000 (20:56 +0200)]
build/ops: bump rocksdb submodule
Fixes a FTBFS on ppc64le
Fixes: http://tracker.ceph.com/issues/17092
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Loic Dachary [Mon, 22 Aug 2016 08:37:14 +0000 (10:37 +0200)]
Merge pull request #10537 from theanalyst/wip-16778-jewel
jewel: rgw multisite: preserve zone's extra pool
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:31:39 +0000 (10:31 +0200)]
Merge pull request #10655 from dachary/wip-16163-jewel
jewel: rgw: can set negative max_buckets on RGWUserInfo
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:29:40 +0000 (10:29 +0200)]
Merge pull request #10580 from dreamhost/wip-16928-jewel
jewel: rgw: Fix civetweb IPv6
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:28:14 +0000 (10:28 +0200)]
Merge pull request #10216 from SUSE/wip-16637-jewel
jewel: add socket backlog setting for via ceph.conf
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:27:03 +0000 (10:27 +0200)]
Merge pull request #10167 from jmunhoz/aws4-streaming-backport-jewel
jewel: rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:13:51 +0000 (10:13 +0200)]
Merge pull request #9544 from Abhishekvrshny/wip-16085-jewel
jewel: A query on a static large object fails with 404 error
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:10:25 +0000 (10:10 +0200)]
Merge pull request #10525 from Abhishekvrshny/wip-16732-jewel
jewel: Bucket index shards orphaned after bucket delete
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:09:21 +0000 (10:09 +0200)]
Merge pull request #10188 from dreamhost/wip-16618-jewel
jewel: rgw: fix multi-delete query param parsing.
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Orit Wasserman [Mon, 22 Aug 2016 08:06:51 +0000 (10:06 +0200)]
Merge pull request #9266 from Abhishekvrshny/wip-15964-jewel
jewel: rgw: realm pull fails when using apache frontend
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Loic Dachary [Mon, 22 Aug 2016 08:02:20 +0000 (10:02 +0200)]
Merge pull request #10710 from rzarzynski/wip-16393-jewel
jewel: rgw: improve support for Swift's object versioning.
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Loic Dachary [Sun, 21 Aug 2016 19:48:20 +0000 (21:48 +0200)]
Merge pull request #10797 from trociny/wip-17080-jewel
jewel: the option 'rbd_cache_writethrough_until_flush=true' dosn't work
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Jason Dillaman [Wed, 17 Aug 2016 16:08:37 +0000 (12:08 -0400)]
librbd: cache was not switching to writeback after first flush
Fixes: http://tracker.ceph.com/issues/16654
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2d9840af39555ce00246b50e4a5c186798bd88ff )
Jason Dillaman [Wed, 27 Jul 2016 03:28:43 +0000 (23:28 -0400)]
test: unit test cases for disabling librbd journal by policy
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
4a256f5044ac54a8a0a9598ee7fd151b8ea08f84 )
Conflicts:
src/test/librbd/CMakeLists.txt (test_ConsistencyGroups.cc)
Jason Dillaman [Wed, 27 Jul 2016 14:56:48 +0000 (10:56 -0400)]
librbd: utilize factory methods to create AioObjectRequest objects
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2e5076eb19172919deeb0f4d11f2b2b6cc03fab3 )
Jason Dillaman [Wed, 27 Jul 2016 13:07:00 +0000 (09:07 -0400)]
librbd: convert AioObjectRequest/AioObjectRead classes to templates
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
840a473e7fb94124ca7c571fc3dd2c787e0d265a )
Jason Dillaman [Wed, 27 Jul 2016 13:54:44 +0000 (09:54 -0400)]
librbd: move read callback helpers to narrowest scope
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
65b336f68596a430629692a8682c5cfe883c31f1 )
Jason Dillaman [Wed, 27 Jul 2016 03:26:08 +0000 (23:26 -0400)]
librbd: convert AioImageRequest derived classes to templates
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
a945c2c235d9259b1d4a8a579d7e6efc2ed35916 )
Jason Dillaman [Wed, 27 Jul 2016 12:49:44 +0000 (08:49 -0400)]
librbd: removed namespace indentation from legacy classes
Better follows the Ceph C++ style guide
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
f1e391982b43ddfb363ff913260460368a6d5834 )
Jason Dillaman [Wed, 27 Jul 2016 02:58:24 +0000 (22:58 -0400)]
librbd: do not record journal events if append is disabled by policy
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
405142c615352613e8bacee46e92484eb0c08f26 )
Jason Dillaman [Wed, 27 Jul 2016 00:57:40 +0000 (20:57 -0400)]
librbd: remove unused journal replay canceled callback
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
f453554edcb16ec72714b2456c08bab9e339b1eb )
Jason Dillaman [Wed, 27 Jul 2016 00:48:13 +0000 (20:48 -0400)]
librbd: optionally support disabling journal appends via policy
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
f7eeacd02f8f80c5d1d5d9cfed35bbd23f64b018 )
shawn [Fri, 17 Jun 2016 05:45:58 +0000 (01:45 -0400)]
librbd: optimize header file dependency & modify related file.
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
2185a6275c89d9462611e965da407ea0d504987d )
shawn [Tue, 7 Jun 2016 07:12:55 +0000 (03:12 -0400)]
librbd: optimize operation header file dependency
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
88afa408683238b803606f3d63de326ead8cefee )
shawn [Tue, 7 Jun 2016 05:59:05 +0000 (01:59 -0400)]
librbd: optimize journal header file dependency
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
59397e27a04fb0f2b990a86dcaf3c418457d1b72 )
shawn [Tue, 7 Jun 2016 03:36:06 +0000 (23:36 -0400)]
librbd: optimize image_watcher header file dependency
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
aee1559f312e9493d6580e5ffcb606fe21ee3c59 )
shawn [Tue, 7 Jun 2016 03:22:39 +0000 (23:22 -0400)]
librbd: optimize image header file dependency
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
461958ebc7e8ccef76b3f08a979482762267c10b )
shawn [Tue, 7 Jun 2016 02:56:49 +0000 (22:56 -0400)]
librbd: optimize exclusive_lock header file dependency
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
01282eb5cdeda7bbbb77438c7d1953d023ea54b6 )
shawn [Mon, 6 Jun 2016 07:37:22 +0000 (03:37 -0400)]
librbd: optimize object-map header file dependency
Signed-off-by: Xiaowei Chen <chen.xiaowei@h3c.com>
(cherry picked from commit
1a2276927d5956918f7a4830b4a44048ac090328 )
Mykola Golub [Thu, 30 Jun 2016 11:31:23 +0000 (14:31 +0300)]
test: fix librbd tests for rbd_skip_partial_discard
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit
9717417b7b8aa1b24a82a0bfddbfc23748188641 )
Conflicts:
src/rocksdb this was a mistake in the original commit
Mykola Golub [Thu, 30 Jun 2016 11:30:08 +0000 (14:30 +0300)]
librbd: discard hangs when 'rbd_skip_partial_discard' is enabled
Fixes: http://tracker.ceph.com/issues/16386
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit
dc41731fbfd73d9fbb63d3ff360d4c5dd62deaf1 )
xinxin shu [Tue, 7 Jun 2016 04:07:55 +0000 (12:07 +0800)]
librbd: object_may_exist always return true when you write an empty object
if you write an empty object, object map is updated firstly
Signed-off-by: xinxin shu <shuxinxin@chinac.com>
(cherry picked from commit
a54073808146d205d54d6a932a6e0fd750f1dc38 )
Jason Dillaman [Mon, 25 Jul 2016 16:43:13 +0000 (12:43 -0400)]
librbd: ensure that AIO ops are started prior to request
Fixes: http://tracker.ceph.com/issues/16708
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
6064f2346de0a8bf2878bf5bfac9a992cda7c4ca )
Jason Dillaman [Mon, 25 Jul 2016 16:42:26 +0000 (12:42 -0400)]
librbd: helper method for creating and starting AioCompletions
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
3df7213c0a9f0186e3a37c9e4a10f1c8bc84446e )
Loic Dachary [Fri, 19 Aug 2016 18:35:19 +0000 (20:35 +0200)]
Merge pull request #10649 from dachary/wip-16867-jewel
jewel: mkfs.xfs slow performance with discards and object map
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Mon, 8 Aug 2016 18:41:00 +0000 (14:41 -0400)]
rbd-mirror: potential assertion failure during error-induced shutdown
Fixes: http://tracker.ceph.com/issues/16956
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
6a465d9dad417e8b52909c5478f7e3e433748948 )
Jason Dillaman [Wed, 10 Aug 2016 16:50:53 +0000 (12:50 -0400)]
rbd-mirror: potential race condition during failure shutdown
Fixes: http://tracker.ceph.com/issues/16980
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
74ec7c91f17630c77647cfc9813090d688b3410d )
Jason Dillaman [Tue, 9 Aug 2016 12:13:30 +0000 (08:13 -0400)]
rbd-mirror: replaying state should include flush action
Fixes: http://tracker.ceph.com/issues/16970
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
7246f1b771b4d1f336ac11b9e881c9eb32bcd4e1 )
Jason Dillaman [Mon, 15 Aug 2016 18:10:27 +0000 (14:10 -0400)]
doc: added rbdmap man page to RBD restructured index
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
4e05cbf7e6eda797a9b08e0081aead19523d5762 )
Jason Dillaman [Mon, 15 Aug 2016 18:07:43 +0000 (14:07 -0400)]
rbdmap: specify bash shell interpreter
Fixes: http://tracker.ceph.com/issues/16608
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
51237c33d1ec4034c5c07f5d63d63838a76bce88 )
Loic Dachary [Fri, 19 Aug 2016 05:12:40 +0000 (07:12 +0200)]
Merge pull request #10684 from dillaman/wip-16904-jewel
jewel: rbd-mirror: reduce memory footprint during journal replay
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Mykola Golub [Thu, 30 Jun 2016 13:18:56 +0000 (16:18 +0300)]
rbd-mirror: remove ceph_test_rbd_mirror_image_replay test case
Fixes: http://tracker.ceph.com/issues/16539
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit
06a333b116383de4d39c9e098e6e5fa195ceb370 )
Jason Dillaman [Wed, 20 Jul 2016 20:18:23 +0000 (16:18 -0400)]
qa/workunits/rbd: override rbd-mirror integration test poll frequency
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
574be7486ad737892422aed0322f80e5750a75a0 )
Jason Dillaman [Thu, 21 Jul 2016 11:28:54 +0000 (07:28 -0400)]
rbd-mirror: do not cancel maintenance ops with missing finish events
librbd will replay these ops when opening an image, so rbd-mirror
should also ensure these ops are replayed.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
862e581553fff510286b58135a1fd69705c06096 )
Jason Dillaman [Tue, 19 Jul 2016 19:46:49 +0000 (15:46 -0400)]
rbd-mirror: potential memory leak when attempting to cancel image sync
The cancel request could race with the actual scheduling of the image
sync operation.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
e6cdf955bad500561ddada2791641eba5fb27762 )
Jason Dillaman [Tue, 19 Jul 2016 19:42:27 +0000 (15:42 -0400)]
rbd-mirror: fix issues detected when attempting clean shut down
Fixed lockdep issue from status update callback and fixed the
potential for a stuck status state.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
0275c7ca23b27dc5250cd33f317e2273470a9fe8 )
Jason Dillaman [Tue, 19 Jul 2016 17:50:20 +0000 (13:50 -0400)]
rbd-mirror: shut down image replayers in parallel
When multiple pools are being replicated, start the shut down
process concurrently across all pool replayers.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
73cdd08007c27d2c3c41fe644601e7a144f21c82 )
Jason Dillaman [Tue, 19 Jul 2016 04:50:14 +0000 (00:50 -0400)]
rbd-mirror: configuration options to control replay throttling
Fixes: http://tracker.ceph.com/issues/16223
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
24883e0605907d1f9bcd1206c8a95c3bde30d5dc )
Jason Dillaman [Wed, 20 Jul 2016 12:11:53 +0000 (08:11 -0400)]
librbd: new configuration option to restrict journal payload size
Ensure that, by default, IO journal events are broken up into manageable
sizes when factoring in that an rbd-mirror daemon might be replaying
events from thousands of images.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
11d7500b9bcda7b7c1d8756ade3373f404257f32 )
Jason Dillaman [Tue, 19 Jul 2016 04:42:16 +0000 (00:42 -0400)]
librbd: wait for journal commit op event to be safely recorded
Operation request op finish events should not be fire and forget.
Instead, ensure the event is committed to the journal before
completing the op. This will avoid several possible split-brain
events during mirroring.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
47e0fbf231e52d00069c97b72c57c3158445bcf0 )
Conflicts:
src/test/librbd/operation/test_mock_ResizeRequest.cc: no shrink restriction
Jason Dillaman [Wed, 20 Jul 2016 20:17:41 +0000 (16:17 -0400)]
journal: optimize speed of live replay journal pruning
When streaming playback, avoid the unnecessary watch delay when
one or more entries have been pruned.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
08a8ee98c03b5dfb30341c8d209f0c231b2c5d27 )
Jason Dillaman [Wed, 20 Jul 2016 14:04:21 +0000 (10:04 -0400)]
journal: possible deadlock during flush of journal entries
If a future flush is requested at the exact same moment that an
overflow is detected, the two threads will deadlock since locks
are not taken in a consistent order.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2c65471de4b0f54b8ed722f5deaf51ba62632e37 )
Jason Dillaman [Wed, 20 Jul 2016 13:15:26 +0000 (09:15 -0400)]
journal: improve debug log messages
rbd-mirror debugging involved potentially thousands of journals
concurrently running. The instance address will correlate log
messages between journals.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
11475f4fe740cccdfea459ebeabdca8cb94dc911 )
Jason Dillaman [Mon, 18 Jul 2016 19:34:53 +0000 (15:34 -0400)]
journal: support streaming entry playback
Now that it's possible for the ObjectPlayer to only read a
partial subset of available entries, the JournalPlayer needs
to detect that more entries might be available.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
28d5ca16cbcb445f985469413b2a8a3048ab66b7 )
Jason Dillaman [Mon, 18 Jul 2016 19:15:58 +0000 (15:15 -0400)]
journal: replay should only read from a single object set
Previously it was prefetching up to 2 object sets worth of journal
data objects which consumed too much memory.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2666d366645b22a5db2a2bcbfce466726bf0b3c0 )
Jason Dillaman [Wed, 20 Jul 2016 12:06:13 +0000 (08:06 -0400)]
journal: optionally restrict maximum entry payload size
Journal playback will need to read at least a full entry which was
currently limited to the maximum object size. In memory constrained
environment, this new optional limit will set a fix upper bound on
memory usage.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
8c1877b82fee0db1dba76252b32ff348226d41a7 )
Jason Dillaman [Mon, 18 Jul 2016 15:01:26 +0000 (11:01 -0400)]
journal: optionally fetch entries in small chunks during replay
Support fetching the full object or incremental chunks (with a
minimum of at least a single decoded entry if available).
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
f7362e9a57e484fffd840ca0eef01778dcacb65b )
Jason Dillaman [Mon, 18 Jul 2016 13:31:40 +0000 (09:31 -0400)]
journal: helper class for organizing optional settings
Additional runtime configuration settings will be needed. The
new class will avoid the need to expand the constructor.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
dad8328f2d502d18923c35f7b86a0cc2ccec133a )
Jason Dillaman [Mon, 11 Jul 2016 19:32:45 +0000 (15:32 -0400)]
rbd-mirror: preprocess journal events prior to applying
Fixes: http://tracker.ceph.com/issues/16622
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
4df913d10b2dd0444db806fccb2812547efa1b56 )
Jason Dillaman [Fri, 8 Jul 2016 20:19:52 +0000 (16:19 -0400)]
rbd-mirror: event preprocessor to handle snap rename operations
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
fdfca557370c9d86acb81d50edb6aafc42044747 )
Jason Dillaman [Fri, 8 Jul 2016 19:16:04 +0000 (15:16 -0400)]
librbd: improve journaling debug log messages
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
270cb74bc276bfb1f828a6a6933fa827f6cdce42 )
Conflicts:
src/librbd/journal/Replay.cc: no snap limit restriction
Jason Dillaman [Fri, 8 Jul 2016 18:37:14 +0000 (14:37 -0400)]
librbd: separate journal event decoding and processing
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
57cd75e8058b84b5dce38f3d8f4b7b4138ac6c9a )
Jason Dillaman [Fri, 8 Jul 2016 13:14:58 +0000 (09:14 -0400)]
librbd: record original snap name in snap rename journal event
Remote peers need a key to map snapshot ids between clusters.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
f70b90c48d9520bbb4bb29058375e8205cf63771 )
Jason Dillaman [Fri, 8 Jul 2016 13:13:07 +0000 (09:13 -0400)]
librbd: simple duplicate op checks for all maintenance operations
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
77699bfe749bc7a898024638fb8347c53fe12123 )
Conflicts:
src/test/librbd/mock/MockOperations.h: no shrink restriction
Jason Dillaman [Fri, 8 Jul 2016 02:16:51 +0000 (22:16 -0400)]
qa/workunits/rbd: exercise snapshot renames within rbd-mirror test
Snapshot rename operations utilize the (cluster) unique snapshot
sequence to prevent attempts at replays. When mirroring to a
different cluster, these sequences will not align.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2f4cb26d8bbd1457bc261547103b56ad40b3c464 )
Mykola Golub [Wed, 15 Jun 2016 08:31:14 +0000 (11:31 +0300)]
librbd: re-register watch on old format image rename
The watching object name is changed when renaming an old format image,
so unregister the watcher before the rename, and register back after,
to avoid "Transport endpoint is not connected" error.
Fixes: http://tracker.ceph.com/issues/16321
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit
1a3973c8814200dc449a557a4fc8212911633985 )
Jason Dillaman [Fri, 24 Jun 2016 00:28:33 +0000 (20:28 -0400)]
rbd-mirror: gracefully restart pool replayer when blacklisted
Fixes: http://tracker.ceph.com/issues/16349
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2f55aa5e33b2fe242ebb9702ba9ff6f8d5cef96c )
Jason Dillaman [Fri, 24 Jun 2016 00:28:02 +0000 (20:28 -0400)]
rbd-mirror: do not clear image replayer error code after shut down
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
1fc27545c2092c178293ed636b6aadb11bc8cbd3 )
Jason Dillaman [Thu, 23 Jun 2016 20:57:50 +0000 (16:57 -0400)]
rbd-mirror: image deleter should use provided librados connection
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
03c2aec4c613f11fcfed5bcd47855005f42abd79 )
Jason Dillaman [Thu, 23 Jun 2016 20:03:03 +0000 (16:03 -0400)]
rbd-mirror: each pool replayer should use its own librados connection
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
48f301decbf1f27937bb77a3b47e54933f272d7d )
Jason Dillaman [Mon, 27 Jun 2016 13:05:33 +0000 (09:05 -0400)]
rbd-mirror: clean up ImageReplayer before stopping state machine
Fixes: http://tracker.ceph.com/issues/16489
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
c97f7245a015dbdda25584134840d023fd65cdd1 )