]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoMerge pull request #3994 from athanatos/wip-11069
Samuel Just [Tue, 17 Mar 2015 17:15:46 +0000 (10:15 -0700)]
Merge pull request #3994 from athanatos/wip-11069

PGLog: split divergent priors as well

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
10 years agoPGLog: split divergent priors as well 3994/head
Samuel Just [Mon, 9 Mar 2015 15:25:27 +0000 (08:25 -0700)]
PGLog: split divergent priors as well

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3945 from tchaikov/hammer-fix-xio-requeue
Sage Weil [Mon, 16 Mar 2015 19:50:49 +0000 (12:50 -0700)]
Merge pull request #3945 from tchaikov/hammer-fix-xio-requeue

XIO: Handle requeue case of XIO messages

10 years agoMerge pull request #3977 from tchaikov/fix-xio-loop-conn-cleanup
Sage Weil [Mon, 16 Mar 2015 19:48:35 +0000 (12:48 -0700)]
Merge pull request #3977 from tchaikov/fix-xio-loop-conn-cleanup

Fix XioLoopbackConnection Lifecycle.

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3982 from dzafman/wip-10678-2
David Zafman [Sat, 14 Mar 2015 00:58:56 +0000 (17:58 -0700)]
Merge pull request #3982 from dzafman/wip-10678-2

Update ceph.8 man page to match ceph -h output

Reviewed-by: Nilamdyuti Goswami <ngoswami@redhat.com>
10 years agodoc: Fix ceph command manpage to match ceph -h (hammer) 3982/head
David Zafman [Thu, 12 Mar 2015 21:55:54 +0000 (14:55 -0700)]
doc: Fix ceph command manpage to match ceph -h (hammer)

Include rebuilt man/ceph.8

Fixes: #10678
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agodoc: Fix ceph command manpage to match ceph -h (firefly)
David Zafman [Thu, 12 Mar 2015 18:39:52 +0000 (11:39 -0700)]
doc: Fix ceph command manpage to match ceph -h (firefly)

Improve synopsis section
Fixes: #10676
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 9ac488c1eb0e30511079ba05aaf11c79615b3940)

Conflicts:

doc/man/8/ceph.rst
man/ceph.8

10 years agorbd: regenerate rbd(8) man page
Ilya Dryomov [Thu, 12 Mar 2015 11:27:32 +0000 (14:27 +0300)]
rbd: regenerate rbd(8) man page

merge-diff and status commands, --image-features and --image-shared
options, other stuff.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 356a749f63181d401d16371446bb8dc4f196c2a6)

10 years agodoc: Fix typo in ceph pg dump_stuck usage in man page
David Zafman [Wed, 11 Mar 2015 03:04:23 +0000 (20:04 -0700)]
doc: Fix typo in ceph pg dump_stuck usage in man page

Cause by 9db596974c82207dc0769ca6bc9810a9d6bcb5cc

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoMerge pull request #3981 from ceph/wip-librbd-invalidate-object-map
Josh Durgin [Thu, 12 Mar 2015 21:27:37 +0000 (14:27 -0700)]
Merge pull request #3981 from ceph/wip-librbd-invalidate-object-map

librbd: invalid snapshot object maps should only affect the snapshot

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #3978 from tchaikov/hammer-sca-fixes
Loic Dachary [Thu, 12 Mar 2015 21:06:15 +0000 (22:06 +0100)]
Merge pull request #3978 from tchaikov/hammer-sca-fixes

sca fixes ported from master

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agolibrbd: invalidating snapshot object maps should set snapshot flag 3981/head
Jason Dillaman [Thu, 12 Mar 2015 17:20:59 +0000 (13:20 -0400)]
librbd: invalidating snapshot object maps should set snapshot flag

Instead of setting the HEAD image flag to indicate an invalid
object map, set the flag for the specific snapshot that is
invalid.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agotest_cls_rbd: verify set_flags updates snapshots
Jason Dillaman [Thu, 12 Mar 2015 17:02:54 +0000 (13:02 -0400)]
test_cls_rbd: verify set_flags updates snapshots

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agocls_rbd_client: add snap_id param to set_flags
Jason Dillaman [Thu, 12 Mar 2015 16:59:17 +0000 (12:59 -0400)]
cls_rbd_client: add snap_id param to set_flags

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agocls_rbd: set_flags can now update snapshots
Jason Dillaman [Thu, 12 Mar 2015 16:56:14 +0000 (12:56 -0400)]
cls_rbd: set_flags can now update snapshots

It's possible for an object map to be invalid only for
a snapshot, so allow snapshot flags to be updated. This
will also be required when rebuilding the object map and
clearing the invalid flag.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorgw_main.cc: fix null-deref in case get_storage() fails 3978/head
Danny Al-Gaaf [Thu, 5 Mar 2015 04:26:48 +0000 (05:26 +0100)]
rgw_main.cc: fix null-deref in case get_storage() fails

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit 921c08fce503e171199f8f8b9208dcdf75ac41c4)

10 years agorgw/rgw_op.cc: fix potential null-deref in strcmp()
Danny Al-Gaaf [Thu, 5 Mar 2015 05:04:37 +0000 (06:04 +0100)]
rgw/rgw_op.cc: fix potential null-deref in strcmp()

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit de7bcfd8d0e578207cbd9237bc166937fdadcd62)

10 years agoFix XioLoopbackConnection Lifecycle. 3977/head
Matt Benjamin [Wed, 11 Mar 2015 17:42:37 +0000 (13:42 -0400)]
Fix XioLoopbackConnection Lifecycle.

Since XioLoopbackConnection is a RefCountedObject, it can't be
an expanded member of XioMessenger.

Fixes cleanup/shutdown errors.

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
(cherry picked from commit f5735b28d154612b339cf5d3b558e4dc5eaa2884)

10 years agoXIO: Handle requeue case of XIO messages 3945/head
Raju Kurunkad [Tue, 10 Mar 2015 07:58:28 +0000 (13:28 +0530)]
XIO: Handle requeue case of XIO messages

If we are not able to send the XIO message using xio_send_msg(),
remove the XIO message from the send Q, before queuing it to the resend
Q. Otherwise, boost will generate a assert.

Signed-off-by: Raju Kurunkad <raju.kurunkad@sandisk.com>
(cherry picked from commit dbb8c93d41d92ffe4a6c181ea199d2fd211a1b37)

10 years agoMerge branch 'wip-add-cache' into hammer
Sage Weil [Wed, 11 Mar 2015 03:16:26 +0000 (20:16 -0700)]
Merge branch 'wip-add-cache' into hammer

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoqa,cephtool: add test case for 'ceph osd tier add-cache'
Jianpeng Ma [Tue, 10 Mar 2015 14:21:56 +0000 (22:21 +0800)]
qa,cephtool: add test case for 'ceph osd tier add-cache'

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agomon: Don't forget set read_tier/write_tier for 'osd tier add-cache'.
Jianpeng Ma [Mon, 9 Mar 2015 15:41:29 +0000 (23:41 +0800)]
mon: Don't forget set read_tier/write_tier for 'osd tier add-cache'.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge branch 'wip-11067' into hammer
Josh Durgin [Tue, 10 Mar 2015 22:42:21 +0000 (15:42 -0700)]
Merge branch 'wip-11067' into hammer

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agotests: add unit test for multiple concurrent resize ops
Jason Dillaman [Tue, 10 Mar 2015 19:08:27 +0000 (15:08 -0400)]
tests: add unit test for multiple concurrent resize ops

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: retrieve image size at start of resize op
Jason Dillaman [Tue, 10 Mar 2015 18:51:51 +0000 (14:51 -0400)]
librbd: retrieve image size at start of resize op

For the case where multiple resize requests were pending,
queued resizes should use the most recent value for the
current image size -- not the image size when the resize
was queued.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: do not invalidate oversized object map
Jason Dillaman [Tue, 10 Mar 2015 05:11:38 +0000 (01:11 -0400)]
librbd: do not invalidate oversized object map

If the object map is too large for the current image, it implies
that a resize operation was interrupted.  It should only be
considered invalid if the object map is smaller than the image,
which shouldn't be possible.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: avoid canceling object map / header updates
Jason Dillaman [Tue, 10 Mar 2015 05:04:15 +0000 (01:04 -0400)]
librbd: avoid canceling object map / header updates

During a resize, reduce the possibility that the object map
and the header will get out-of-sync during a resize operation
that is canceled.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: update size / parent overlap after resize completes
Jason Dillaman [Tue, 10 Mar 2015 01:45:06 +0000 (21:45 -0400)]
librbd: update size / parent overlap after resize completes

Update the in-memory image metadata for size and parent
overlap after updating the on-disk image metadata. Also
schedule an image refresh in case multiple resizes are
enqueued -- since ictx_refresh isn't async.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: use image size and parent overlap from active shrink op
Jason Dillaman [Tue, 10 Mar 2015 15:17:49 +0000 (11:17 -0400)]
librbd: use image size and parent overlap from active shrink op

If a shrink operation is in progress, all operations should use
the new size and new parent overlap for IO operations.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: queue multiple resize requests
Jason Dillaman [Tue, 10 Mar 2015 01:30:17 +0000 (21:30 -0400)]
librbd: queue multiple resize requests

Only allow a single resize request to be executed concurrently.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoxlist: add const versions of front / back
Jason Dillaman [Tue, 10 Mar 2015 01:29:01 +0000 (21:29 -0400)]
xlist: add const versions of front / back

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: use ImageCtx::get_parent_overlap helper function
Jason Dillaman [Tue, 10 Mar 2015 00:31:46 +0000 (20:31 -0400)]
librbd: use ImageCtx::get_parent_overlap helper function

Replace all direct references to ImageCtx::parent_md.overlap
with the helper method.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: resize/flatten should validate image is R/W
Jason Dillaman [Mon, 9 Mar 2015 23:48:45 +0000 (19:48 -0400)]
librbd: resize/flatten should validate image is R/W

When proxying resize/flatten requests, the current image
R/W state is not validated.  Also ensure the proper locks
are held when reading image metadata.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: hold write snap_lock when refreshing object map
Jason Dillaman [Mon, 9 Mar 2015 13:55:08 +0000 (09:55 -0400)]
librbd: hold write snap_lock when refreshing object map

If the object map needs to be invalidated, a write lock on
snap_lock is required.

Fixes: #11067
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #3923 from ceph/wip-11079
Sage Weil [Tue, 10 Mar 2015 15:44:31 +0000 (08:44 -0700)]
Merge pull request #3923 from ceph/wip-11079

crush: fix get_weight and destroy for straw2 buckets

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agocrushtool: improve straw2 compile/decompile test 3923/head
Sage Weil [Tue, 10 Mar 2015 13:45:01 +0000 (06:45 -0700)]
crushtool: improve straw2 compile/decompile test

This way it catches #11079.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agocrush: fix crush_get_bucket_item_weight and bucket destroy for straw2
Sage Weil [Tue, 10 Mar 2015 13:38:06 +0000 (06:38 -0700)]
crush: fix crush_get_bucket_item_weight and bucket destroy for straw2

Fixes: #11079
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agocrushtool: fix straw2 cli test
Sage Weil [Tue, 10 Mar 2015 13:32:51 +0000 (06:32 -0700)]
crushtool: fix straw2 cli test

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3917 from dachary/wip-rhel6-doc
Kefu Chai [Tue, 10 Mar 2015 08:02:12 +0000 (16:02 +0800)]
Merge pull request #3917 from dachary/wip-rhel6-doc

doc: rhel6.5 is rhel6

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #3845 from ceph/wip-wn-rgw-hammer
Sage Weil [Tue, 10 Mar 2015 02:49:21 +0000 (19:49 -0700)]
Merge pull request #3845 from ceph/wip-wn-rgw-hammer

Wip wn rgw hammer

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3911 from athanatos/wip-11057
Sage Weil [Tue, 10 Mar 2015 02:43:02 +0000 (19:43 -0700)]
Merge pull request #3911 from athanatos/wip-11057

ReplicatedPG: block write on degraded object if there are waiters

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodoc: rhel6.5 is rhel6 3917/head
Loic Dachary [Tue, 10 Mar 2015 01:06:10 +0000 (02:06 +0100)]
doc: rhel6.5 is rhel6

RHEL 6.5 is actually  http://ceph.com/rpm-giant/rhel6/

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3909 from dachary/wip-11068-debian-jessie
Loic Dachary [Mon, 9 Mar 2015 22:40:04 +0000 (23:40 +0100)]
Merge pull request #3909 from dachary/wip-11068-debian-jessie

deb: add zlib1g-dev to Build-Depends for Debian/jessie

Reviewed-by: Yann Dupont <yann@objoo.org>
10 years agodeb: add zlib1g-dev to Build-Depends for Debian/jessie 3909/head
Loic Dachary [Mon, 9 Mar 2015 14:41:21 +0000 (15:41 +0100)]
deb: add zlib1g-dev to Build-Depends for Debian/jessie

The zlib1g-dev is installed indirectly for Ubuntu 12.04 or Ubuntu 14.04
but it is only suggested in Debian/jessie. Adding it to the
Build-depends is redundant and harmless for Ubuntu and resolves the
missing dependency for Debian.

http://tracker.ceph.com/issues/11068 Fixes: #11068

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3882 from dachary/wip-install-deps-alternatives
Loic Dachary [Mon, 9 Mar 2015 12:53:25 +0000 (13:53 +0100)]
Merge pull request #3882 from dachary/wip-install-deps-alternatives

install-deps.sh: strip | in the list of packages

Reviewed-by: Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3897 from ceph/wip-11015
Sage Weil [Mon, 9 Mar 2015 12:41:21 +0000 (05:41 -0700)]
Merge pull request #3897 from ceph/wip-11015

crush: fix compilation of strwa2 buckets (fixes 11015)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3899 from yuyuyu101/hammer-test
Sage Weil [Mon, 9 Mar 2015 12:40:49 +0000 (05:40 -0700)]
Merge pull request #3899 from yuyuyu101/hammer-test

TestAsyncDriver: Fix typo in ceph_test_async_driver

10 years agoMerge pull request #3874 from ceph/wip-10828
Sage Weil [Mon, 9 Mar 2015 04:04:19 +0000 (21:04 -0700)]
Merge pull request #3874 from ceph/wip-10828

objecter: fix linger cancel link bug 10828

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoTestAsyncDriver: Fix typo in ceph_test_async_driver 3899/head
Haomai Wang [Sat, 28 Feb 2015 09:42:52 +0000 (17:42 +0800)]
TestAsyncDriver: Fix typo in ceph_test_async_driver

Fix: #11058
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoReplicatedPG: block write on degraded object if there are waiters 3911/head
Samuel Just [Sat, 7 Mar 2015 02:02:25 +0000 (18:02 -0800)]
ReplicatedPG: block write on degraded object if there are waiters

Suppose we have min_size of 2 and size of 3, foo exists only on the
primary.
- block op 1 on foo due to < min_size
- start recovery on foo for replicas 1 and 2
- complete push to replica 1 (2 copies now)
- allow op 2 on foo through since we have 2 copies
- complete recovery on foo, requeue op 1

Fixes: 11057
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agocrushtool: test compilation of a rule with straw2 buckets 3897/head
Sage Weil [Sat, 7 Mar 2015 01:47:03 +0000 (17:47 -0800)]
crushtool: test compilation of a rule with straw2 buckets

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agocrush: parse alg names that include a digit
Sage Weil [Sat, 7 Mar 2015 01:43:11 +0000 (17:43 -0800)]
crush: parse alg names that include a digit

The str_p("straw2") won't parse straw2, it seems because the digit is throwing
it off.  Use the existing name rule instead which is more robust.  Note that
not constraining the alg value here is better anyway because instead of a
'cannot parse' error that is hard to debug we instead get a 'unknown alg foo'
error when doing the semantic pass.

Fixes: #11015
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agotests: add Debian jessie dockerfile 3882/head
Loic Dachary [Thu, 5 Mar 2015 11:34:48 +0000 (12:34 +0100)]
tests: add Debian jessie dockerfile

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: DEBIAN_FRONTEND=noninteractive apt-get install
Loic Dachary [Thu, 5 Mar 2015 11:17:26 +0000 (12:17 +0100)]
tests: DEBIAN_FRONTEND=noninteractive apt-get install

Go into non interactive mode when installing the compilation
dependencies, in case a package has a different default mode.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agotests: jq is not available on Ubuntu precise
Loic Dachary [Thu, 5 Mar 2015 11:06:21 +0000 (12:06 +0100)]
tests: jq is not available on Ubuntu precise

It should be installed from precise-backports but since it is not
currently used, just remove it.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoinstall-deps.sh: strip | in the list of packages
Loic Dachary [Thu, 5 Mar 2015 10:38:18 +0000 (11:38 +0100)]
install-deps.sh: strip | in the list of packages

Alternatives were introduced lately and the | needs to be stripped from
the list of packages to install otherwise apt-get will try to install
all packages.

Signed-off-by: Yann Dupont <yann@objoo.org>
10 years agorgw: flush watch after unregistering 3845/head
Yehuda Sadeh [Thu, 5 Mar 2015 21:03:02 +0000 (13:03 -0800)]
rgw: flush watch after unregistering

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3835 from ceph/wip-mon-datahealth-fix.hammer
Sage Weil [Sat, 7 Mar 2015 00:20:52 +0000 (16:20 -0800)]
Merge pull request #3835 from ceph/wip-mon-datahealth-fix.hammer

[hammer] mon: initialize data store stats structs to avoid weird behaviors

10 years agoMerge pull request #3877 from ceph/hammer-backports-hadoop
Gregory Farnum [Fri, 6 Mar 2015 17:29:22 +0000 (09:29 -0800)]
Merge pull request #3877 from ceph/hammer-backports-hadoop

Hammer backports hadoop

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoClient: do not require successful remount when unmounting
Greg Farnum [Tue, 3 Mar 2015 06:29:10 +0000 (22:29 -0800)]
Client: do not require successful remount when unmounting

Fixes: #10982
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 71f2686252ffe29d0234cc8be7304be1450d090e)

10 years agoMerge pull request #3880 from jdurgin/wip-librbd-permissions-test
Jason Dillaman [Thu, 5 Mar 2015 21:13:39 +0000 (16:13 -0500)]
Merge pull request #3880 from jdurgin/wip-librbd-permissions-test

librbd: remove bad assert and fix permissions test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agorgw: only finialize finisher if it's not null
Yehuda Sadeh [Mon, 16 Feb 2015 18:13:44 +0000 (10:13 -0800)]
rgw: only finialize finisher if it's not null

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: fix watch initialization and reinit on error
Yehuda Sadeh [Thu, 12 Feb 2015 23:29:24 +0000 (15:29 -0800)]
rgw: fix watch initialization and reinit on error

We can't just call rados->finalize_watch() and rados->init_watch() from
the watcher, as these calls modify the watcher itself. Also, we can't just
enable the cache after successful watch, because there's more than one
watcher. Only enable the cache if all watchers are set.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: move watch reinit into a finisher
Yehuda Sadeh [Thu, 12 Feb 2015 17:56:44 +0000 (09:56 -0800)]
rgw: move watch reinit into a finisher

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agorgw: add support for new watch/notify functionality
Yehuda Sadeh [Fri, 21 Nov 2014 18:13:29 +0000 (10:13 -0800)]
rgw: add support for new watch/notify functionality

Disable and invalidate cache on watch error, then reinitialize watch,
reenable cache.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Conflicts:
src/rgw/rgw_cache.h
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h

10 years agorgw: switch to new watch/notify API
Sage Weil [Wed, 11 Feb 2015 00:20:12 +0000 (16:20 -0800)]
rgw: switch to new watch/notify API

Note that we don't really use it fully, yet.  The main semantic change
here is that we have to explicitly ack the notify.

However, still missing is re-registration of the watch if we see a failure,
and ignoring the cache if watch_check tells us the watch is stale.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3836 from ceph/wip-10546
Sage Weil [Thu, 5 Mar 2015 20:12:07 +0000 (12:12 -0800)]
Merge pull request #3836 from ceph/wip-10546

mon: Monitor: fix timecheck rounds period

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoceph.spec.in: loosen ceph-test's dependencies
Ken Dreyer [Wed, 4 Mar 2015 22:01:34 +0000 (15:01 -0700)]
ceph.spec.in: loosen ceph-test's dependencies

In Debian, the ceph-test package can be installed with any version of
ceph-common.

Prior to this commit, in RHEL, we're much more strict about which
version of the dependencies we require. We depend directly on
librados2/librbd1/libcephfs1 instead of ceph-common, and we also require
the specific versions of these libraries to match the version of
ceph-test.

For testing Ceph, it is nice to have the ability to upgrade the
librados2/librbd1/libcephfs1 libraries on a host without having to also
upgrade the ceph-test package as well.

Remove the version number requirements, and change the dependencies from
librados2/librbd1/libcephfs1 to simply "ceph-common". That will make
/etc/ceph/ and /var/log/ceph present for the tests.

http://tracker.ceph.com/issues/10989 Refs: #10989

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit 924f85f157b8acfe753d944dae49fca390da37aa)

10 years agoMerge pull request #3822 from dachary/wip-10947-setcrushmap
Loic Dachary [Thu, 5 Mar 2015 13:28:27 +0000 (14:28 +0100)]
Merge pull request #3822 from dachary/wip-10947-setcrushmap

mon: timeout if crushtool takes longer than mon_lease

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoqa: fix up rbd permissions test 3880/head
Josh Durgin [Thu, 5 Mar 2015 02:38:29 +0000 (18:38 -0800)]
qa: fix up rbd permissions test

! doesn't do what we want in bash -e. Use a more explicit helper
instead, and specify expected error codes.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: remove unneeded assert from unregister_watch()
Josh Durgin [Thu, 5 Mar 2015 01:52:39 +0000 (17:52 -0800)]
librbd: remove unneeded assert from unregister_watch()

Calling this unconditionally in close_image() simplifies error
handling when open_image() fails due to an error like EPERM from
registering a watch.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agoosdc/Objecter: clean up oncommit_sync (and fix leak) 3874/head
Sage Weil [Wed, 4 Mar 2015 19:48:22 +0000 (11:48 -0800)]
osdc/Objecter: clean up oncommit_sync (and fix leak)

This was broken by e0707180dede2dba1ed53f96fd922eda94609480, which doesn't
clean up oncommit_sync for a canceled (linger) request.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: count oncommit_sync as uncommitted
Sage Weil [Wed, 4 Mar 2015 18:28:11 +0000 (10:28 -0800)]
osdc/Objecter: count oncommit_sync as uncommitted

Just be consistent.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agohadoop: workunits don't need java path 3877/head
Noah Watkins [Wed, 25 Feb 2015 02:26:44 +0000 (18:26 -0800)]
hadoop: workunits don't need java path

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit b3329a961b1ed6bc05969a88743238a552e2b507)

Conflicts:
qa/workunits/hadoop/terasort.sh

10 years agoqa: update old replication tests
Noah Watkins [Tue, 24 Feb 2015 03:59:51 +0000 (19:59 -0800)]
qa: update old replication tests

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit 15da81008632eaffa83596b034efcca8a51b257e)

10 years agoMerge pull request #3789 from athanatos/wip-9891
Samuel Just [Wed, 4 Mar 2015 15:11:40 +0000 (07:11 -0800)]
Merge pull request #3789 from athanatos/wip-9891

DBObjectMap: lock header_lock on sync()

Reviewed-by: Kefu Chai <kchai@redhat.com>
10 years agoMerge pull request #3864 from ceph/wip-10968
Josh Durgin [Wed, 4 Mar 2015 01:59:05 +0000 (17:59 -0800)]
Merge pull request #3864 from ceph/wip-10968

librbd: delay completions for AioRequest

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agocmake: build fixes
Matt Benjamin [Sat, 28 Feb 2015 18:58:11 +0000 (13:58 -0500)]
cmake:  build fixes

* librbd
* test/ceph_dencoder

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
(cherry picked from commit 9ad02c93037c7c3f2cbe5c10791041253f349d54)

10 years agolibrbd: delay completion of AioRequest::read_from_parent 3864/head
Jason Dillaman [Tue, 3 Mar 2015 02:14:21 +0000 (21:14 -0500)]
librbd: delay completion of AioRequest::read_from_parent

If the object map is enabled, it's possible for a read request to
instantly complete due to the skipped librados operations.  Now
AioRequest will block the completion of read_from_parent requests
to prevent the possibility of the parent image being closed while
the read_from_parent method invocation is in-progress.

Fixes: #10968
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: allow AioCompletions to be blocked
Jason Dillaman [Tue, 3 Mar 2015 02:07:01 +0000 (21:07 -0500)]
librbd: allow AioCompletions to be blocked

Blocked AioCompletions will not fire their callback until unblocked.
This is an expansion / replacement of the previous 'building' flag
used to block completions while additional requests were added to the
completion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: delete Contexts when object map aio_update not required
Jason Dillaman [Mon, 2 Mar 2015 13:21:06 +0000 (08:21 -0500)]
librbd: delete Contexts when object map aio_update not required

If an object map update is not required when modifying an image,
properly free the memory allocated for the callback Context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: handle possible aio_read return error code
Jason Dillaman [Mon, 2 Mar 2015 13:13:55 +0000 (08:13 -0500)]
librbd: handle possible aio_read return error code

AioRead and CopyupRequest were not properly handling possible
error codes from aio_read.  They now correctly free the completion
and invoke the callback context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: add log message for completion of AioRequest
Jason Dillaman [Tue, 3 Mar 2015 02:05:52 +0000 (21:05 -0500)]
librbd: add log message for completion of AioRequest

The log message will simplify future debugging activities.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agomon: ignore crushtool validation if too long 3822/head
Loic Dachary [Wed, 25 Feb 2015 14:32:50 +0000 (15:32 +0100)]
mon: ignore crushtool validation if too long

The crushtool is aborted if it takes more than mon lease seconds. Since
the monitor blocks while running it, this is mandatory otherwise the
monitor will be considered down and new elections triggered.

http://tracker.ceph.com/issues/10947 Fixes: #10947

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: do not hardwire crushtool command line
Loic Dachary [Mon, 2 Mar 2015 10:14:18 +0000 (11:14 +0100)]
mon: do not hardwire crushtool command line

Make crushtool a configuration value that defaults to crushtool and
allow it to be injected. It helps with testing: the command can be
replaced with another that misbehaves in various ways.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoMerge pull request #3850 from ceph/wip-10962
Josh Durgin [Tue, 3 Mar 2015 00:53:29 +0000 (16:53 -0800)]
Merge pull request #3850 from ceph/wip-10962

test/cli-integration/rbd: updated to new CLI

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agotest/cli-integration/rbd: updated to new CLI 3850/head
Jason Dillaman [Mon, 2 Mar 2015 22:48:36 +0000 (17:48 -0500)]
test/cli-integration/rbd: updated to new CLI

rbd CLI now includes rbd image flags and no longer defaults
to enabling the new exclusive locking feature.

Fixes: #10962
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorbd: permit v2 striping for clones and imports
Jason Dillaman [Mon, 2 Mar 2015 22:45:14 +0000 (17:45 -0500)]
rbd: permit v2 striping for clones and imports

rbd did not previously support specifying striping params
for cloned and imported images.  Extend the behavior to
these other CLI commands.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agorbd: fixed formatted output of rbd image features
Jason Dillaman [Mon, 2 Mar 2015 22:39:20 +0000 (17:39 -0500)]
rbd: fixed formatted output of rbd image features

All feature flags were being displayed when using JSON/XML
formatted output.  Now use the same formatting routing for
plain/JSON/XML output for features and flags.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #3848 from ceph/wip-10990
Josh Durgin [Mon, 2 Mar 2015 22:28:47 +0000 (14:28 -0800)]
Merge pull request #3848 from ceph/wip-10990

qa/workunits/rbd/copy.sh: remove all image locks

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoqa/workunits/rbd/copy.sh: remove all image locks 3848/head
Jason Dillaman [Mon, 2 Mar 2015 21:24:17 +0000 (16:24 -0500)]
qa/workunits/rbd/copy.sh: remove all image locks

If the exclusive lock feature is enabled, all locks need
to be removed prior removing the image.

Fixes: #10990
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: missing callback log message for CopyupRequest object map update
Jason Dillaman [Sun, 1 Mar 2015 05:43:26 +0000 (00:43 -0500)]
librbd: missing callback log message for CopyupRequest object map update

Add log message to assist in future debugging of the CopyupRequest
state machine.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: hide flush log message if no flushes are pending
Jason Dillaman [Sun, 1 Mar 2015 05:42:48 +0000 (00:42 -0500)]
librbd: hide flush log message if no flushes are pending

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agoMerge pull request #3812 from ceph/wip-10958
Josh Durgin [Mon, 2 Mar 2015 16:30:45 +0000 (08:30 -0800)]
Merge pull request #3812 from ceph/wip-10958

librbd: flush pending AIO before resize

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agolibrbd: flush pending AIO after acquiring lock 3812/head
Jason Dillaman [Fri, 27 Feb 2015 14:46:55 +0000 (09:46 -0500)]
librbd: flush pending AIO after acquiring lock

There was a potential race condition between a delayed AIO
operation waiting on acquiring a lock and a snap_create
flushing all pending IO.  Since snap_create owned md_lock, the
delayed AIO would not be allowed to complete -- deadlocking the
flush.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agolibrbd: hold snap_lock between clipping IO and registering AIO
Jason Dillaman [Fri, 27 Feb 2015 04:39:10 +0000 (23:39 -0500)]
librbd: hold snap_lock between clipping IO and registering AIO

In the case where concurrent IO is occurring when a trim resize
operation is initiated, hold the snap_lock between clipping the
IO operation and registering the pending op.  That allows the
resize state machine to properly flush all operations issued
before the clip region was updated.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agomon: do not pollute directory with cvs files from crushtool
Loic Dachary [Fri, 27 Feb 2015 15:15:57 +0000 (16:15 +0100)]
mon: do not pollute directory with cvs files from crushtool

The --output-csv option to crushtool will create files in the current
directory of the monitor. The only reason for using it is because
crushtool requires at least one option for display. Relax this
constraint in crushtool and remove the option from the call made by the
monitor to validate a new crushmap.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: Monitor: fix timecheck rounds period 3836/head
Joao Eduardo Luis [Fri, 30 Jan 2015 11:37:28 +0000 (11:37 +0000)]
mon: Monitor: fix timecheck rounds period

Fixes: #10546
Backports: dumpling?,firefly,giant

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
10 years agotest: encoding: add LevelDBStoreStats and ceph_data_stats to types.h 3835/head
Joao Eduardo Luis [Fri, 23 Jan 2015 11:30:02 +0000 (11:30 +0000)]
test: encoding: add LevelDBStoreStats and ceph_data_stats to types.h

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
10 years agomon/mon_types.h: allow testing encode/decode of LevelDBStoreStats
Joao Eduardo Luis [Mon, 26 Jan 2015 12:59:21 +0000 (12:59 +0000)]
mon/mon_types.h: allow testing encode/decode of LevelDBStoreStats

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>