]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agorbd-mirror: refresh image after creating sync point snapshot 9627/head
Jason Dillaman [Wed, 8 Jun 2016 16:49:04 +0000 (12:49 -0400)]
rbd-mirror: refresh image after creating sync point snapshot

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

9 years agorbd-mirror: consistently use dout/derr for debug logging
Jason Dillaman [Wed, 8 Jun 2016 16:03:33 +0000 (12:03 -0400)]
rbd-mirror: consistently use dout/derr for debug logging

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

9 years agoMerge pull request #9612 from dillaman/wip-16208
Jason Dillaman [Fri, 10 Jun 2016 16:32:21 +0000 (12:32 -0400)]
Merge pull request #9612 from dillaman/wip-16208

jewel: rbd-mirror: support bootstrap canceling

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9610 from dillaman/wip-16209
Jason Dillaman [Fri, 10 Jun 2016 16:32:02 +0000 (12:32 -0400)]
Merge pull request #9610 from dillaman/wip-16209

jewel: librbd: prevent error messages when journal externally disabled

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9611 from dillaman/wip-16210
Jason Dillaman [Fri, 10 Jun 2016 16:19:47 +0000 (12:19 -0400)]
Merge pull request #9611 from dillaman/wip-16210

jewel: librbd: journal IO error results in failed assertion in AioCompletion

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9580 from Abhishekvrshny/wip-15996-jewel
Jason Dillaman [Fri, 10 Jun 2016 16:16:49 +0000 (12:16 -0400)]
Merge pull request #9580 from Abhishekvrshny/wip-15996-jewel

jewel: librbd: reuse ImageCtx::finisher and SafeTimer for lots of images case

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9609 from dillaman/wip-16216
Jason Dillaman [Fri, 10 Jun 2016 16:15:51 +0000 (12:15 -0400)]
Merge pull request #9609 from dillaman/wip-16216

jewel: librbd: refresh image if needed in mirror functions

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9608 from dillaman/wip-16189
Jason Dillaman [Fri, 10 Jun 2016 16:15:32 +0000 (12:15 -0400)]
Merge pull request #9608 from dillaman/wip-16189

jewel: cls_rbd: mirror image status summary should read full directory

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9556 from Abhishekvrshny/wip-16162-jewel
Jason Dillaman [Fri, 10 Jun 2016 16:15:08 +0000 (12:15 -0400)]
Merge pull request #9556 from Abhishekvrshny/wip-16162-jewel

jewel: ceph_test_librbd_fsx crashes during journal replay shut down

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9554 from Abhishekvrshny/wip-16084-jewel
Jason Dillaman [Fri, 10 Jun 2016 16:14:49 +0000 (12:14 -0400)]
Merge pull request #9554 from Abhishekvrshny/wip-16084-jewel

jewel: librbd: validate image metadata configuration overrides

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9555 from Abhishekvrshny/wip-16147-jewel
Jason Dillaman [Fri, 10 Jun 2016 16:13:06 +0000 (12:13 -0400)]
Merge pull request #9555 from Abhishekvrshny/wip-16147-jewel

jewel: Object Map is showing as invalid, even when Object Map is disabled for that Image.

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9550 from Abhishekvrshny/wip-15969-jewel
Jason Dillaman [Fri, 10 Jun 2016 16:12:47 +0000 (12:12 -0400)]
Merge pull request #9550 from Abhishekvrshny/wip-15969-jewel

jewel: Initial python APIs to support mirroring

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9548 from Abhishekvrshny/wip-15963-jewel
Jason Dillaman [Fri, 10 Jun 2016 16:12:37 +0000 (12:12 -0400)]
Merge pull request #9548 from Abhishekvrshny/wip-15963-jewel

jewel: Disabling journaling feature results in "Transport endpoint is not connected" error

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9424 from SUSE/wip-16107-jewel
Loic Dachary [Thu, 9 Jun 2016 22:55:47 +0000 (00:55 +0200)]
Merge pull request #9424 from SUSE/wip-16107-jewel

jewel: ceph gid mismatch on upgrade from hammer with pre-existing ceph user (SUSE)

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #8802 from SUSE/wip-15606-jewel
Loic Dachary [Thu, 9 Jun 2016 22:54:52 +0000 (00:54 +0200)]
Merge pull request #8802 from SUSE/wip-15606-jewel

jewel: ceph-{mds,mon,osd,radosgw} systemd unit files need wants=time-sync.target

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #9320 from SUSE/wip-16017-jewel
Samuel Just [Thu, 9 Jun 2016 22:44:13 +0000 (15:44 -0700)]
Merge pull request #9320 from SUSE/wip-16017-jewel

jewel: ceph: cli: exception when pool name has non-ascii characters

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #9270 from Abhishekvrshny/wip-15852-jewel
Samuel Just [Thu, 9 Jun 2016 22:43:48 +0000 (15:43 -0700)]
Merge pull request #9270 from Abhishekvrshny/wip-15852-jewel

jewel: mon/Monitor: memory leak on Monitor::handle_ping()

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #9237 from SUSE/wip-15961-jewel
Samuel Just [Thu, 9 Jun 2016 22:43:04 +0000 (15:43 -0700)]
Merge pull request #9237 from SUSE/wip-15961-jewel

jewel: ceph-osd valgrind invalid reads/writes

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #9103 from Abhishekvrshny/wip-15797-jewel
Samuel Just [Thu, 9 Jun 2016 22:42:32 +0000 (15:42 -0700)]
Merge pull request #9103 from Abhishekvrshny/wip-15797-jewel

jewel: deadlock in OSD::_committed_osd_maps

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #9101 from Abhishekvrshny/wip-15799-jewel
Samuel Just [Thu, 9 Jun 2016 22:41:52 +0000 (15:41 -0700)]
Merge pull request #9101 from Abhishekvrshny/wip-15799-jewel

jewel: osd boot race with noup being set

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #9104 from Abhishekvrshny/wip-15795-jewel
Samuel Just [Thu, 9 Jun 2016 22:40:43 +0000 (15:40 -0700)]
Merge pull request #9104 from Abhishekvrshny/wip-15795-jewel

jewel: LibRadosWatchNotifyPPTests/LibRadosWatchNotifyPP.WatchNotify2Timeout/1 segv

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #9427 from SUSE/wip-16104-jewel
Samuel Just [Thu, 9 Jun 2016 22:37:43 +0000 (15:37 -0700)]
Merge pull request #9427 from SUSE/wip-16104-jewel

jewel: ceph-disk: workaround gperftool hang

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #9614 from ceph/wip-16113-jewel
Sage Weil [Thu, 9 Jun 2016 18:55:31 +0000 (14:55 -0400)]
Merge pull request #9614 from ceph/wip-16113-jewel

osd: hobject_t::get_max() vs is_max() discrepancy

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agorbd-mirror: don't return split-brain error if we still in MIRROR_PEER_STATE_SYNCING 9612/head
Mykola Golub [Wed, 4 May 2016 12:30:05 +0000 (15:30 +0300)]
rbd-mirror: don't return split-brain error if we still in MIRROR_PEER_STATE_SYNCING

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 3ac620c5d66d8516e68264fcdb5e97b0e803d0ec)

9 years agorbd-mirror: refactor split-brain detection code
Mykola Golub [Tue, 3 May 2016 09:48:06 +0000 (12:48 +0300)]
rbd-mirror: refactor split-brain detection code

to make it more readable and extendable.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 039cd2d2e3bb6a9c5042c125d2c67ec9adc02c47)

9 years agorbd-mirror: support bootstrap canceling
Mykola Golub [Tue, 31 May 2016 12:00:30 +0000 (15:00 +0300)]
rbd-mirror: support bootstrap canceling

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 21f895f48498e518c3675a9e851559f4d071f6dd)

9 years agorbd-mirror: return ECANCELED when ImageReplayer start is canceled
Mykola Golub [Mon, 30 May 2016 13:24:24 +0000 (16:24 +0300)]
rbd-mirror: return ECANCELED when ImageReplayer start is canceled

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit f581dbcb2eca108ce9440629b8f00f3229c07b95)

9 years agolibrbd: flush journal commit positions before starting op 9611/head
Jason Dillaman [Tue, 7 Jun 2016 05:01:09 +0000 (01:01 -0400)]
librbd: flush journal commit positions before starting op

Ensure all IO has been properly flushed and committed to the
journal before starting an op that could affect the IO path.

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

9 years agolibrbd: leaked AioCompletion if IO issued after image shut down
Jason Dillaman [Tue, 7 Jun 2016 04:11:34 +0000 (00:11 -0400)]
librbd: leaked AioCompletion if IO issued after image shut down

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

9 years agolibrbd: resize and snap create can hang on journal replay failure
Jason Dillaman [Mon, 6 Jun 2016 23:00:47 +0000 (19:00 -0400)]
librbd: resize and snap create can hang on journal replay failure

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

9 years agolibrbd: missing journal state for flushing/restarting replay
Jason Dillaman [Mon, 6 Jun 2016 18:54:23 +0000 (14:54 -0400)]
librbd: missing journal state for flushing/restarting replay

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

9 years agolibrbd: track IO in the order issued
Jason Dillaman [Fri, 13 May 2016 01:22:56 +0000 (21:22 -0400)]
librbd: track IO in the order issued

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

9 years agolibrbd: AioCompletion should retrieve CephContext from ImageCtx
Jason Dillaman [Thu, 12 May 2016 19:15:04 +0000 (15:15 -0400)]
librbd: AioCompletion should retrieve CephContext from ImageCtx

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

9 years agolibrbd: only mark async completion as done after callback
Hector Martin [Wed, 25 May 2016 11:41:40 +0000 (20:41 +0900)]
librbd: only mark async completion as done after callback

This change in behavior was introduced in fde9f78.

Signed-off-by: Hector Martin <marcan@marcan.st>
(cherry picked from commit 77f7c1cf829e5417eb356ebf3bf1fbc8ff7a25a5)

9 years agolibrbd: Journal no longer requires AioCompletion for IO events
Jason Dillaman [Mon, 9 May 2016 22:17:49 +0000 (18:17 -0400)]
librbd: Journal no longer requires AioCompletion for IO events

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

9 years agolibrbd: bubble journal error up via existing AioObjectRequests
Jason Dillaman [Mon, 9 May 2016 21:59:09 +0000 (17:59 -0400)]
librbd: bubble journal error up via existing AioObjectRequests

The journal cannot directly fail the AioCompletion because it
might have one-or-more outstanding requests associated with
it.

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

9 years agolibrbd: potential duplicate snap removal can result in crash 9610/head
Jason Dillaman [Tue, 7 Jun 2016 02:34:30 +0000 (22:34 -0400)]
librbd: potential duplicate snap removal can result in crash

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

9 years agoObjectCacher: do not merge uncommitted journal bhs
Jason Dillaman [Thu, 2 Jun 2016 04:43:53 +0000 (00:43 -0400)]
ObjectCacher: do not merge uncommitted journal bhs

Avoid the possibility of an overwrite callback for regions
that were never associated with a journal write.

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

9 years agoObjectCacher: don't loop the extents of OSDRead in map_read
Zhiqiang Wang [Wed, 24 Feb 2016 13:54:34 +0000 (21:54 +0800)]
ObjectCacher: don't loop the extents of OSDRead in map_read

Looping the extents of OSDRead is done in _readx. The looping in
map_read is not needed.

Signed-off-by: Zhiqiang Wang <zhiqiang@xsky.com>
(cherry picked from commit fae912c3856cab6d03183411eecab90c6e6732d2)

9 years agoObjectCacher: fix the bytes_written in writex
Zhiqiang Wang [Wed, 24 Feb 2016 13:49:56 +0000 (21:49 +0800)]
ObjectCacher: fix the bytes_written in writex

The BufferHead returned after map_write may include other dirty data to
the left and/or right. The actual length of data been written is in the
ObjectExtent.

Signed-off-by: Zhiqiang Wang <zhiqiang@xsky.com>
(cherry picked from commit ca6f1681e4baf61682e258c5761536d67bf6bdb8)

9 years agoosdc: don't loop the extents of OSDWrite in map_write
Zhiqiang Wang [Wed, 24 Feb 2016 13:45:45 +0000 (21:45 +0800)]
osdc: don't loop the extents of OSDWrite in map_write

We are looping all the extents of the OSDWrite in writex. The looping in
map_write is not needed. And if there are same object in these
extents,they will be mapped multiple times.

Signed-off-by: Zhiqiang Wang <zhiqiang@xsky.com>
(cherry picked from commit 322f1059670898762a890a01af6d3b0dd3ccf826)

9 years agolibrbd: notify image feature update before releasing lock
Jason Dillaman [Thu, 2 Jun 2016 04:42:30 +0000 (00:42 -0400)]
librbd: notify image feature update before releasing lock

If a client is waiting for the lock, ensure it sees the latest
version of the image features.

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

9 years agolibrbd: refresh image after acquiring exclusive lock
Jason Dillaman [Thu, 2 Jun 2016 03:19:20 +0000 (23:19 -0400)]
librbd: refresh image after acquiring exclusive lock

It's possible that the object map or journaling features have
been disabled while the lock was not owned.

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

9 years agolibrbd: refresh image if needed in mirror functions 9609/head
Jon Bernard [Thu, 2 Jun 2016 01:01:30 +0000 (21:01 -0400)]
librbd: refresh image if needed in mirror functions

Fixes: http://tracker.ceph.com/issues/16096
Signed-off-by: Jon Bernard <jbernard@tuxion.com>
(cherry picked from commit a355c8f6d9e792517a8d0e096a99a64474369cfc)

9 years agocls_rbd: mirror image status summary should read full directory 9608/head
Jason Dillaman [Tue, 7 Jun 2016 13:36:02 +0000 (09:36 -0400)]
cls_rbd: mirror image status summary should read full directory

Previously only retrieved the status for the first 64 images in
the rbd_mirroring directory.

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

9 years agoMerge pull request #8938 from SUSE/wip-15739-jewel
Nathan Cutler [Wed, 8 Jun 2016 10:00:31 +0000 (12:00 +0200)]
Merge pull request #8938 from SUSE/wip-15739-jewel

jewel: ceph.spec.in: drop support for RHEL<7 and SUSE<1210 in jewel and above

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
9 years agoosdc/Objecter: upper bound watch_check result 9104/head
Sage Weil [Fri, 6 May 2016 13:09:43 +0000 (09:09 -0400)]
osdc/Objecter: upper bound watch_check result

This way we always return a safe upper bound on the amount of time
since we did a check.  Among other things, this prevents us from
returning a value of 0, which is confusing.

Fixes: http://tracker.ceph.com/issues/15760
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 2e2ce365866a7569b55aff338a82c132aa927089)

9 years agoOSD: fix deadlock in OSD::_committed_osd_maps 9103/head
Xinze Chi [Wed, 4 May 2016 01:49:40 +0000 (09:49 +0800)]
OSD: fix deadlock in OSD::_committed_osd_maps

Fixes: http://tracker.ceph.com/issues/15701
Signed-off-by: Xinze Chi <xinze@xsky.com>
(cherry picked from commit 4fbf3891aab16347d02782f7c1c0400f9e0896af)

9 years agoosd: handle boot racing with NOUP set 9101/head
Sage Weil [Tue, 3 May 2016 03:28:18 +0000 (23:28 -0400)]
osd: handle boot racing with NOUP set

This is a follow-on to 7139a232d26beef441ffbc13bc087baab3505ea8,
which handled the NOUP set + clear case when the OSD found out
about the flag being cleared.  However, it's possible that the
flag will get cleared but the OSD won't get a map update (because
it hasn't subscribed and is not doing any work).

This means that it is *more* likely than before that we will
restart the boot process even though the OSD did successfully
mark us up.  However, as before, it is unavoidable because there
is no notification of whether our boot request succeeds or not.

And it is still mostly harmless (an extra mark down + up cycle).

Fixes: http://tracker.ceph.com/issues/15678
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 11e4242fbdb2f2f6f654d4cb3a7c95d5b38a88c2)

9 years agoTaskFinisher: use singleton SafeTimer and Finisher 9580/head
Haomai Wang [Sun, 28 Feb 2016 15:35:17 +0000 (23:35 +0800)]
TaskFinisher: use singleton SafeTimer and Finisher

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

9 years agotest/rbd: fsx needs to shut down the journal 9556/head
Jason Dillaman [Thu, 2 Jun 2016 14:41:18 +0000 (10:41 -0400)]
test/rbd: fsx needs to shut down the journal

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

9 years agoremove invalid objectmap flag when objectmap is disabled 9555/head
xinxin shu [Thu, 2 Jun 2016 06:13:09 +0000 (14:13 +0800)]
remove invalid objectmap flag when objectmap is disabled
Fixes: http://tracker.ceph.com/issues/16076
Signed-off-by: xinxin shu <shuxinxin@chinac.com>
(cherry picked from commit b2d475686ee7617bb2023d753941e3d6952f0878)

9 years agorbd: check value of config override when setting image-meta 9554/head
zhuangzeqiang [Sat, 7 Oct 2017 08:52:07 +0000 (16:52 +0800)]
rbd: check value of config override when setting image-meta

Fixes: http://tracker.ceph.com/issues/15522
Signed-off-by: zhuangzeqiang <zhuang.zeqiang@h3c.com>
(cherry picked from commit 4538f8152d0e73bdefc09874113c87467bdda622)

9 years agotest: initial python APIs to support mirroring 9550/head
Mykola Golub [Wed, 11 May 2016 11:33:00 +0000 (14:33 +0300)]
test: initial python APIs to support mirroring

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit bfad0ca33b9d65dcec65bc1a18596d35fb3098f3)

9 years agorbd: initial python APIs to support mirroring
Mykola Golub [Wed, 11 May 2016 11:29:17 +0000 (14:29 +0300)]
rbd: initial python APIs to support mirroring

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

9 years agorbd: close journal before removing 9548/head
Yuan Zhou [Mon, 16 May 2016 08:18:59 +0000 (16:18 +0800)]
rbd: close journal before removing

Otherwise there is some unwanted error message.

Fixes: http://tracker.ceph.com/issues/15863
Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
(cherry picked from commit ecdad4acca635d4b9f0b407889dde9985ab3a506)

9 years agosrc/: remove all direct comparisons to get_max() 9614/head
Samuel Just [Fri, 3 Jun 2016 00:13:09 +0000 (17:13 -0700)]
src/: remove all direct comparisons to get_max()

get_max() now returns a special singleton type from which hobject_t's
can be assigned and constructed, but which cannot be directly compared.

This patch also cleans up all such uses to use is_max() instead.

This should prevent some issues like 16113 by preventing us from
checking for max-ness by comparing against a sentinel value.  The more
complete fix will be to make all fields of hobject_t private and enforce
a canonical max() representation that way.  That patch will be hard to
backport, however, so we'll settle for this for now.

Fixes: http://tracker.ceph.com/issues/16113
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 7c5f2acaa57bd6caaf4b13b48154df3ad6fbe84d)

9 years agoPG::replica_scrub: don't adjust pool on max object
Samuel Just [Fri, 3 Jun 2016 00:39:09 +0000 (17:39 -0700)]
PG::replica_scrub: don't adjust pool on max object

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 8b7b7c7a2379ce77173bbdfd90c98c561d786155)

9 years agohobject: compensate for non-canonical hobject_t::get_max() encodings
Samuel Just [Fri, 3 Jun 2016 00:36:21 +0000 (17:36 -0700)]
hobject: compensate for non-canonical hobject_t::get_max() encodings

This closes a loop-hole that could allow a non-canonical in memory
hobject_t::get_max() object which would return true for is_max(), but
false for *this == hobject_t::get_max().

Fixes: http://tracker.ceph.com/issues/16113
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 42fad4b76def50a0984bf3de06f78ed434d56954)

9 years agoMerge pull request #9430 from ceph/wip-manila-backports
John Spray [Fri, 3 Jun 2016 11:37:00 +0000 (12:37 +0100)]
Merge pull request #9430 from ceph/wip-manila-backports

jewel: backports needed for Manila

Reviewed-by: John Spray <john.spray@redhat.com>
9 years agoMerge pull request #9423 from dillaman/wip-16101
Jason Dillaman [Thu, 2 Jun 2016 16:03:12 +0000 (12:03 -0400)]
Merge pull request #9423 from dillaman/wip-16101

jewel: rbd-mirror: replicate cloned images

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agopybind: configurable cephfs_vol_client prefix and ns_prefix. 9430/head
Xiaoxi Chen [Tue, 26 Apr 2016 22:51:48 +0000 (17:51 -0500)]
pybind: configurable cephfs_vol_client prefix and ns_prefix.

Which is useful if we would like to have multiple backends
in manila and potentially set different layout based on prefix.

And also make ns_prefix configurable also in order to support
multiple backend.

Fixes #15417

Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
(cherry picked from commit d1a21b07ede77ab3f2be7a753426d76de0343086)

9 years agoceph_volume_client: evict client also based on mount path
Ramana Raja [Wed, 13 Apr 2016 08:33:51 +0000 (14:03 +0530)]
ceph_volume_client: evict client also based on mount path

Evict clients based on not just their auth ID, but also based on the
volume path mounted. This is needed for the Manila use-case, where
the clients using an auth ID are denied further access to a share.

Fixes: http://tracker.ceph.com/issues/15855
Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit 68714b9dda8ed6010cad6730e0ddf54b3219150d)
(cherry picked from commit aaa0e9aea9fcf2f63e73e544bd40c10a0d694408)

9 years agoclient: report root's quota in statfs
John Spray [Wed, 11 May 2016 12:18:23 +0000 (13:18 +0100)]
client: report root's quota in statfs

When user is mounted a quota-restricted inode
as the root, report that inode's quota status
as the filesystem statistics in statfs.

This allows us to have a fairly convincing illusion
that someone has a filesystem to themselves, when
they're really mounting a restricted part of
the larger global filesystem.

Fixes: http://tracker.ceph.com/issues/15599
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit b6d2b6d1a51969c210ae75fef93c71ac21f511a6)

9 years agopybind: fix unicode handling in CephFSVolumeClient::purge
John Spray [Fri, 1 Apr 2016 13:27:31 +0000 (14:27 +0100)]
pybind: fix unicode handling in CephFSVolumeClient::purge

os.path.join is sensitive to string encoding, but
just doing a straight substitution should not be.

Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit e590f4d05fdb46747e83e35e66a26d9f4aa0314d)

9 years agoceph-disk: workaround gperftool hang 9427/head
Loic Dachary [Thu, 26 May 2016 10:55:51 +0000 (12:55 +0200)]
ceph-disk: workaround gperftool hang

Temporary workaround: if ceph-osd --mkfs does not
complete within 5 minutes, assume it is blocked
because of https://github.com/gperftools/gperftools/issues/786

References http://tracker.ceph.com/issues/13522

Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit c092321c24b9ca493d90a9ccc8f0b4b9a38677f1)

9 years agorpm: unconditionally set ceph user's primary group to ceph (SUSE) 9424/head
Nathan Cutler [Thu, 12 May 2016 17:23:31 +0000 (19:23 +0200)]
rpm: unconditionally set ceph user's primary group to ceph (SUSE)

This commit brings the user/group creation into greater semantic alignment
with the Debian packaging.

Fixes: http://tracker.ceph.com/issues/15869
Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit b3dfa8d90962e60b6841555db830c8ea635f4cce)

9 years agoqa/workunits/rbd: basic cloned image test 9423/head
Jason Dillaman [Thu, 26 May 2016 16:49:45 +0000 (12:49 -0400)]
qa/workunits/rbd: basic cloned image test

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

9 years agorbd-mirror: copy snapshot parent image settings
Jason Dillaman [Thu, 26 May 2016 12:22:16 +0000 (08:22 -0400)]
rbd-mirror: copy snapshot parent image settings

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

9 years agocls_rbd: asynchronous helper method to set parent
Jason Dillaman [Thu, 26 May 2016 16:01:15 +0000 (12:01 -0400)]
cls_rbd: asynchronous helper method to set parent

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

9 years agorbd-mirror: add support for cloning images from mirrored parent
Jason Dillaman [Wed, 25 May 2016 21:38:06 +0000 (17:38 -0400)]
rbd-mirror: add support for cloning images from mirrored parent

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

9 years agolibrbd: extend internal API to clone from open parent image
Jason Dillaman [Wed, 25 May 2016 21:36:06 +0000 (17:36 -0400)]
librbd: extend internal API to clone from open parent image

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

9 years agocls_rbd: asynchronous helper methods to retrieve mirror image metadata
Jason Dillaman [Wed, 25 May 2016 21:13:59 +0000 (17:13 -0400)]
cls_rbd: asynchronous helper methods to retrieve mirror image metadata

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

9 years agorbd-mirror: helper state machine to open remote/read-only images
Jason Dillaman [Wed, 25 May 2016 19:16:28 +0000 (15:16 -0400)]
rbd-mirror: helper state machine to open remote/read-only images

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

9 years agoMerge pull request #9409 from dillaman/wip-16068
Jason Dillaman [Tue, 31 May 2016 17:11:22 +0000 (13:11 -0400)]
Merge pull request #9409 from dillaman/wip-16068

jewel: rbd-mirror: support multiple replicated pools

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agorbd-mirror: cluster-level asok commands need to support multiple pools 9409/head
Jason Dillaman [Fri, 27 May 2016 15:40:58 +0000 (11:40 -0400)]
rbd-mirror: cluster-level asok commands need to support multiple pools

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

9 years agorbd-mirror: replayer should only handle a single pool
Jason Dillaman [Fri, 27 May 2016 03:26:20 +0000 (23:26 -0400)]
rbd-mirror: replayer should only handle a single pool

The pool watcher now only needs to scan a single pool for
its associated replayer since a peer is inherently tied to
a single pool.

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

9 years agorbd-mirror: group peers by local pools
Jason Dillaman [Thu, 26 May 2016 20:03:59 +0000 (16:03 -0400)]
rbd-mirror: group peers by local pools

The peer structure is automatically unique per pool due to its
UUID, so grouping local pools by a single peer doesn't work.

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

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

9 years agorbd-mirror: stop stale replayers before starting new replayers
Jason Dillaman [Wed, 25 May 2016 18:00:34 +0000 (14:00 -0400)]
rbd-mirror: stop stale replayers before starting new replayers

If the connection details are tweaked for a remote peer, stop
the existing replayer before potentially starting a new replayer
against the same remote.

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

9 years agorbd-mirror: normalize debug log message prefix
Jason Dillaman [Thu, 26 May 2016 17:29:49 +0000 (13:29 -0400)]
rbd-mirror: normalize debug log message prefix

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

9 years agoqa/workunits/rbd: create secondary replicated pool
Jason Dillaman [Thu, 26 May 2016 17:26:57 +0000 (13:26 -0400)]
qa/workunits/rbd: create secondary replicated pool

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

9 years agoMerge pull request #9373 from dillaman/wip-16055 9325/head
Jason Dillaman [Tue, 31 May 2016 15:51:05 +0000 (11:51 -0400)]
Merge pull request #9373 from dillaman/wip-16055

jewel: journal: support asynchronous shutdown

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #9372 from dillaman/wip-15995
Jason Dillaman [Tue, 31 May 2016 15:49:39 +0000 (11:49 -0400)]
Merge pull request #9372 from dillaman/wip-15995

jewel: rbd-mirror: Delete local image mirror when remote image mirroring is disabled

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agorbd-mirror: image replay now uses asynchronous journal shutdown 9373/head
Jason Dillaman [Wed, 25 May 2016 06:31:11 +0000 (02:31 -0400)]
rbd-mirror: image replay now uses asynchronous journal shutdown

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

9 years agolibrbd: integrate with async journaler shutdown API
Jason Dillaman [Wed, 25 May 2016 04:21:14 +0000 (00:21 -0400)]
librbd: integrate with async journaler shutdown API

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

9 years agojournal: extend asynchronous shutdown to facade
Jason Dillaman [Tue, 24 May 2016 20:12:16 +0000 (16:12 -0400)]
journal: extend asynchronous shutdown to facade

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

9 years agojournal: trimmer now has asynchronous shutdown
Jason Dillaman [Tue, 24 May 2016 19:53:12 +0000 (15:53 -0400)]
journal: trimmer now has asynchronous shutdown

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

9 years agojournal: metadata init and shutdown now asynchronous
Jason Dillaman [Tue, 24 May 2016 19:36:17 +0000 (15:36 -0400)]
journal: metadata init and shutdown now asynchronous

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

9 years agojournal: player shutdown is now handled asynchronously
Jason Dillaman [Tue, 24 May 2016 16:06:26 +0000 (12:06 -0400)]
journal: player shutdown is now handled asynchronously

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

9 years agotest: use randomized write sizes for rbd-mirror stress test
Jason Dillaman [Tue, 24 May 2016 02:26:05 +0000 (22:26 -0400)]
test: use randomized write sizes for rbd-mirror stress test

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

9 years agojournal: eliminate watch delay for object refetches
Jason Dillaman [Tue, 24 May 2016 02:21:33 +0000 (22:21 -0400)]
journal: eliminate watch delay for object refetches

The randomized write sizes of the modified rbd-mirror stress
test results in a lot of journal object with few entries.
Immediately fetch objects when performing a refetch check prior
to closing an empty object.

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

9 years agojournal: keep active tag to assist with pruning watched objects
Jason Dillaman [Mon, 23 May 2016 18:57:03 +0000 (14:57 -0400)]
journal: keep active tag to assist with pruning watched objects

It's possible that there might be additional entries to prune in
objects that haven't been prefetched yet. Keep the active tag
to allow these entries to be pruned after they have been loaded.

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

9 years agojournal: update commit entry object number upon overflow
Jason Dillaman [Mon, 23 May 2016 16:15:49 +0000 (12:15 -0400)]
journal: update commit entry object number upon overflow

Otherwise the recorded object positions might point to an older
object that doesn't contain the actual entry.

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

9 years agojournal: cleanup watch refetch flag handling
Jason Dillaman [Mon, 23 May 2016 15:01:05 +0000 (11:01 -0400)]
journal: cleanup watch refetch flag handling

Clear the refetch required flag while scheduling the watch
and remove the stale object after the watch completes if still
empty. Previously, it was possible for the flag to become
out-of-sync with whether or not it was actually refreshed
and pruned.

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

9 years agorbd-mirror: test: added image-deleter test case when mirroring is disabled 9372/head
Ricardo Dias [Fri, 13 May 2016 15:47:25 +0000 (16:47 +0100)]
rbd-mirror: test: added image-deleter test case when mirroring is disabled

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit d85e312ead1da7c35d5ee4fe4be3d6e69a68b572)

9 years agorbd-mirror: Unregister clients from non-primary images journal
Ricardo Dias [Fri, 13 May 2016 15:44:53 +0000 (16:44 +0100)]
rbd-mirror: Unregister clients from non-primary images journal

A non-primary image may have registered clients on its journal
(for instance a primary image that was later demoted). We must
unregister the clients when disabling image mirroring with the
force option.

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 9cb0b180bc8a12ea2ebb0d7e32279b696ddd127e)

9 years agorbd-mirror: test: Added unit test for testing image-deleter thread
Ricardo Dias [Tue, 19 Apr 2016 11:35:49 +0000 (12:35 +0100)]
rbd-mirror: test: Added unit test for testing image-deleter thread

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit ac9514941b0accb6c738ce4aa0953c36cdcf69a6)

9 years agorbd-mirror: test: Fixed test_PoolWatcher to support the new changes in PoolWatcher...
Ricardo Dias [Mon, 18 Apr 2016 11:22:19 +0000 (12:22 +0100)]
rbd-mirror: test: Fixed test_PoolWatcher to support the new changes in PoolWatcher class

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit e3677f115e1f369a49227fba51a1d34505d487ac)

9 years agorbd-mirror: Replayer: bootstrap existing mirrored images
Ricardo Dias [Tue, 5 Apr 2016 08:47:32 +0000 (09:47 +0100)]
rbd-mirror: Replayer: bootstrap existing mirrored images

Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 3c2615aa6da837bfef2365f701f56a34c49b536f)

9 years agorbd-mirror: replayer: Added image-deleter thread to replayer
Ricardo Dias [Thu, 28 Apr 2016 10:49:43 +0000 (11:49 +0100)]
rbd-mirror: replayer: Added image-deleter thread to replayer

Fixes: http://tracker.ceph.com/issues/14421
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit a6d698829d925894e4afcdec0ee42b1fc1205db0)