]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agorgw: adjust manifest head object 10866/head
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)

8 years agorgw: adjust objs when copying obj with explicit_objs set
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)

8 years agorgw: patch manifest to handle explicit objs copy issue
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)

8 years agoMerge pull request #9405 from SUSE/wip-16083-jewel
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>
8 years agoMerge pull request #10654 from dachary/wip-9577-jewel
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>
8 years agoMerge pull request #10791 from dachary/wip-17004-jewel
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>
8 years agoMerge pull request #10827 from dillaman/wip-16950-jewel
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>
8 years agoMerge pull request #10653 from dachary/wip-10495-jewel
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>
8 years agoMerge pull request #10357 from SUSE/wip-16748-jewel
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>
8 years agoMerge pull request #10790 from dachary/wip-17005-jewel
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>
8 years agoMerge pull request #10792 from dachary/wip-16978-jewel
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>
8 years agoMerge pull request #10646 from dachary/wip-16576-jewel
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>
8 years agoMerge pull request #10647 from dachary/wip-16593-jewel
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>
8 years agoMerge pull request #10786 from dachary/wip-17061-jewel
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>
8 years agoMerge pull request #10421 from SUSE/wip-16659-jewel
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>
8 years agoMerge pull request #10501 from Abhishekvrshny/wip-16621-jewel
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>
8 years agoMerge pull request #10816 from SUSE/wip-17092-jewel
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>
8 years agolibrbd: delay acquiring exclusive lock if watch has failed 10827/head
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)

8 years agolibrbd: convert ImageWatcher class to template
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

8 years agoMerge pull request #10103 from xiaoxichen/wip-16037-jewel
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>
8 years agoMerge pull request #10105 from xiaoxichen/wip-16515-jewel
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>
8 years agoMerge pull request #10106 from xiaoxichen/wip-16215-jewel
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>
8 years agoMerge pull request #10108 from xiaoxichen/wip-16320-jewel
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>
8 years agoMerge pull request #10199 from SUSE/wip-16625-jewel
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>
8 years agoMerge pull request #10499 from Abhishekvrshny/wip-16299-jewel
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>
8 years agoMerge pull request #10500 from Abhishekvrshny/wip-16620-jewel
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>
8 years agoMerge pull request #10502 from Abhishekvrshny/wip-16797-jewel
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>
8 years agoMerge pull request #10104 from xiaoxichen/wip-16560-jewel
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>
8 years agoMerge pull request #10074 from ceph/jewel-16002
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>
8 years agobuild/ops: bump rocksdb submodule 10816/head
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>
8 years agoMerge pull request #10537 from theanalyst/wip-16778-jewel
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>
8 years agoMerge pull request #10655 from dachary/wip-16163-jewel
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>
8 years agoMerge pull request #10580 from dreamhost/wip-16928-jewel
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>
8 years agoMerge pull request #10216 from SUSE/wip-16637-jewel
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>
8 years agoMerge pull request #10167 from jmunhoz/aws4-streaming-backport-jewel
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>
8 years agoMerge pull request #9544 from Abhishekvrshny/wip-16085-jewel
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>
8 years agoMerge pull request #10525 from Abhishekvrshny/wip-16732-jewel
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>
8 years agoMerge pull request #10188 from dreamhost/wip-16618-jewel
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>
8 years agoMerge pull request #9266 from Abhishekvrshny/wip-15964-jewel
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>
8 years agoMerge pull request #10710 from rzarzynski/wip-16393-jewel
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>
8 years agoMerge pull request #10797 from trociny/wip-17080-jewel
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>
8 years agolibrbd: cache was not switching to writeback after first flush 10797/head
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)

8 years agotest: unit test cases for disabling librbd journal by policy
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)

8 years agolibrbd: utilize factory methods to create AioObjectRequest objects
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)

8 years agolibrbd: convert AioObjectRequest/AioObjectRead classes to templates
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)

8 years agolibrbd: move read callback helpers to narrowest scope
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)

8 years agolibrbd: convert AioImageRequest derived classes to templates
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)

8 years agolibrbd: removed namespace indentation from legacy classes
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)

8 years agolibrbd: do not record journal events if append is disabled by policy
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)

8 years agolibrbd: remove unused journal replay canceled callback
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)

8 years agolibrbd: optionally support disabling journal appends via policy
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)

8 years agolibrbd: optimize header file dependency & modify related file.
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)

8 years agolibrbd: optimize operation header file dependency
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)

8 years agolibrbd: optimize journal header file dependency
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)

8 years agolibrbd: optimize image_watcher header file dependency
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)

8 years agolibrbd: optimize image header file dependency
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)

8 years agolibrbd: optimize exclusive_lock header file dependency
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)

8 years agolibrbd: optimize object-map header file dependency
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)

8 years agotest: fix librbd tests for rbd_skip_partial_discard
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

8 years agolibrbd: discard hangs when 'rbd_skip_partial_discard' is enabled
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)

8 years agolibrbd: object_may_exist always return true when you write an empty object
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)

8 years agolibrbd: ensure that AIO ops are started prior to request
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)

8 years agolibrbd: helper method for creating and starting AioCompletions
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)

8 years agoMerge pull request #10649 from dachary/wip-16867-jewel
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>
8 years agorbd-mirror: potential assertion failure during error-induced shutdown 10792/head
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)

8 years agorbd-mirror: potential race condition during failure shutdown 10791/head
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)

8 years agorbd-mirror: replaying state should include flush action 10790/head
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)

8 years agodoc: added rbdmap man page to RBD restructured index 10786/head
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)

8 years agorbdmap: specify bash shell interpreter
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)

8 years agoMerge pull request #10684 from dillaman/wip-16904-jewel
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>
8 years agorbd-mirror: remove ceph_test_rbd_mirror_image_replay test case 10684/head
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)

8 years agoqa/workunits/rbd: override rbd-mirror integration test poll frequency
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)

8 years agorbd-mirror: do not cancel maintenance ops with missing finish events
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)

8 years agorbd-mirror: potential memory leak when attempting to cancel image sync
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)

8 years agorbd-mirror: fix issues detected when attempting clean shut down
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)

8 years agorbd-mirror: shut down image replayers in parallel
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)

8 years agorbd-mirror: configuration options to control replay throttling
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)

8 years agolibrbd: new configuration option to restrict journal payload size
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)

8 years agolibrbd: wait for journal commit op event to be safely recorded
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

8 years agojournal: optimize speed of live replay journal pruning
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)

8 years agojournal: possible deadlock during flush of journal entries
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)

8 years agojournal: improve debug log messages
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)

8 years agojournal: support streaming entry playback
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)

8 years agojournal: replay should only read from a single object set
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)

8 years agojournal: optionally restrict maximum entry payload size
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)

8 years agojournal: optionally fetch entries in small chunks during replay
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)

8 years agojournal: helper class for organizing optional settings
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)

8 years agorbd-mirror: preprocess journal events prior to applying
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)

8 years agorbd-mirror: event preprocessor to handle snap rename operations
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)

8 years agolibrbd: improve journaling debug log messages
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

8 years agolibrbd: separate journal event decoding and processing
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)

8 years agolibrbd: record original snap name in snap rename journal event
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)

8 years agolibrbd: simple duplicate op checks for all maintenance operations
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

8 years agoqa/workunits/rbd: exercise snapshot renames within rbd-mirror test
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)

8 years agolibrbd: re-register watch on old format image rename
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)

8 years agorbd-mirror: gracefully restart pool replayer when blacklisted
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)

8 years agorbd-mirror: do not clear image replayer error code after shut down
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)

8 years agorbd-mirror: image deleter should use provided librados connection
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)

8 years agorbd-mirror: each pool replayer should use its own librados connection
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)

8 years agorbd-mirror: clean up ImageReplayer before stopping state machine
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)