]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoosd: only complain about stored vs actual digest if all peers support it 4107/head
Sage Weil [Thu, 19 Mar 2015 23:27:17 +0000 (16:27 -0700)]
osd: only complain about stored vs actual digest if all peers support it

If we have a mixed cluster of hammer and pre-hammer OSDs, we will fall back
to using 0 as the initial crc32c value.  However, if the primary has a
stored digest, it currently compares its value to the reported value (w/
the wrong initial value) and complains.

There are two possible fixes:
 - avoid storing a digest if all peers don't support it, or
 - avoid complaining on scrub if all peers don't support it.

The latter is easier, and this fix also has the benefit of fixing the bug
even for clusters where this has already happened.

Fixes: #11102
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoPG::find_best_info: reject infos with old last_epoch_started
Samuel Just [Thu, 19 Mar 2015 00:42:40 +0000 (17:42 -0700)]
PG::find_best_info: reject infos with old last_epoch_started

See doc/dev/osd_internals/last_epoch_started.rst

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3988 from ceph/wip-refine-build-configuration-hammer
Sage Weil [Thu, 19 Mar 2015 18:31:31 +0000 (11:31 -0700)]
Merge pull request #3988 from ceph/wip-refine-build-configuration-hammer

Refine build configuration for hammer

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4105 from athanatos/wip-11110
Samuel Just [Thu, 19 Mar 2015 16:41:58 +0000 (09:41 -0700)]
Merge pull request #4105 from athanatos/wip-11110

Wip 11110

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoinit-radosgw*: don't require rgw_socket_path to be defined
Yehuda Sadeh [Thu, 19 Mar 2015 03:55:24 +0000 (20:55 -0700)]
init-radosgw*: don't require rgw_socket_path to be defined

Fixes: #11159
Backport: hammer, firefly

Scripts required rgw_socket_path to exist in order to start radosgw.
This is not needed.

Reported-by: Dan Mick <dmick@redhat.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 6823bcdcd0ce72cd223e809291f46d82da76115c)

10 years agoMerge pull request #4064 from dachary/wip-10488-jerasure-idempotent
Samuel Just [Thu, 19 Mar 2015 15:52:53 +0000 (08:52 -0700)]
Merge pull request #4064 from dachary/wip-10488-jerasure-idempotent

mon: informative message when erasure-code-profile set fails

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4066 from dachary/wip-11144-erasure-code-profile-rm
Samuel Just [Thu, 19 Mar 2015 15:52:45 +0000 (08:52 -0700)]
Merge pull request #4066 from dachary/wip-11144-erasure-code-profile-rm

osd: erasure-code-profile incremental rm before set

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoPG: ensure that info.last_epoch_started only increases 4105/head
Samuel Just [Wed, 18 Mar 2015 19:11:07 +0000 (12:11 -0700)]
PG: ensure that info.last_epoch_started only increases

See doc/dev/osd_internals/last_epoch_started.rst

Fixes: #11110
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agodoc: add last_epoch_started.rst
Samuel Just [Wed, 18 Mar 2015 19:02:04 +0000 (12:02 -0700)]
doc: add last_epoch_started.rst

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3898 from jdurgin/wip-rbd-merge-diff
Sage Weil [Wed, 18 Mar 2015 20:18:18 +0000 (13:18 -0700)]
Merge pull request #3898 from jdurgin/wip-rbd-merge-diff

qa: make rbd-fuse exit cleanly with lttng

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4071 from athanatos/wip-10718
Sage Weil [Wed, 18 Mar 2015 20:16:53 +0000 (13:16 -0700)]
Merge pull request #4071 from athanatos/wip-10718

Wip 10718

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #4016 from ceph/wip-11123
Samuel Just [Wed, 18 Mar 2015 19:18:16 +0000 (12:18 -0700)]
Merge pull request #4016 from ceph/wip-11123

osd: fix whiteout handling for delete+create compound ops

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoPG: make sure to update history.last_epoch_started with first write
Samuel Just [Wed, 18 Mar 2015 18:19:09 +0000 (11:19 -0700)]
PG: make sure to update history.last_epoch_started with first write

Otherwise, we might remember the write, but not that the activation
interval was history.last_epoch_started.

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoosd: erasure-code-profile incremental rm before set 4066/head
Loic Dachary [Wed, 18 Mar 2015 13:17:00 +0000 (14:17 +0100)]
osd: erasure-code-profile incremental rm before set

It is possible for an incremental change to have both a rm and a set for
a given erasure code profile. It only happens when a rm is followed by a
set. When a set is followed by a rm, the rm will remove the pending set
in the incremental change.

The logic is the same for pool create and pool delete.

We must apply the incremental erasure-code-profile removal before the
creation otherwise rm and set in the same proposal will ignore the set.

This fix is minimal. A better change would be that erasure-code-profile
set checks if there is a pending removal and wait_for_finished_proposal
before creating.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agomon: informative message when erasure-code-profile set fails 4064/head
Loic Dachary [Wed, 18 Mar 2015 10:40:36 +0000 (11:40 +0100)]
mon: informative message when erasure-code-profile set fails

When erasure-code-profile set refuses to override an existing profile,
it may be non trivial to figure out why. For instance:

   ceph osd set default ruleset-failure-domain=host

fails with:

   Error EPERM: will not override erasure code profile default

although ruleset-failure-domain=host is documented to be the
default. The error message now includes the two profiles that have been
compared to not be equal so that the user can verify the difference.

   Error EPERM: will not override erasure code profile default
   because the existing profile
   {directory=.libs,k=2,m=1,plugin=jerasure,technique=reed_sol_van}
   is different from the proposed profile
   {directory=.libs,k=2,m=1,plugin=jerasure,ruleset-failure-domain=host,technique=reed_sol_van}

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #4057 from ceph/wip-rgw-bootstrap
Sage Weil [Tue, 17 Mar 2015 23:34:25 +0000 (16:34 -0700)]
Merge pull request #4057 from ceph/wip-rgw-bootstrap

mon: add bootstrap-rgw profile

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoceph-create-keys: create bootstrap-rgw key 4057/head
Sage Weil [Tue, 17 Mar 2015 19:24:52 +0000 (12:24 -0700)]
ceph-create-keys: create bootstrap-rgw key

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomon: add 'bootstrap-rgw' profile
Sage Weil [Fri, 6 Mar 2015 00:47:59 +0000 (16:47 -0800)]
mon: add 'bootstrap-rgw' profile

This profile is allowed to create client.rgw.* librados users.  They have
access to any pool, which is pretty coarse.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoCompile test_build_librgw only if WITH_BUILD_TESTS 3988/head
Boris Ranto [Mon, 16 Mar 2015 13:45:16 +0000 (14:45 +0100)]
Compile test_build_librgw only if WITH_BUILD_TESTS

10 years agoMerge pull request #3910 from athanatos/wip-11027
Samuel Just [Tue, 17 Mar 2015 17:28:56 +0000 (10:28 -0700)]
Merge pull request #3910 from athanatos/wip-11027

Wip 11027

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3918 from tchaikov/hammer-fix-leaks-in-C_TwoContexts
Samuel Just [Tue, 17 Mar 2015 17:28:19 +0000 (10:28 -0700)]
Merge pull request #3918 from tchaikov/hammer-fix-leaks-in-C_TwoContexts

osdc: fix a memory leak in C_TwoContexts

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3972 from tchaikov/hammer-fix-msg-leak
Samuel Just [Tue, 17 Mar 2015 17:27:06 +0000 (10:27 -0700)]
Merge pull request #3972 from tchaikov/hammer-fix-msg-leak

osd: fix a msg leak

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoosd: use (robust) helper for setting exists or clearing whiteout 4016/head
Sage Weil [Tue, 17 Mar 2015 17:26:13 +0000 (10:26 -0700)]
osd: use (robust) helper for setting exists or clearing whiteout

The current blanket check in prepare_transaction() will trigger only when
there is a net obs.exists change from the commited obs to new_obs.
However, this misses the case where the first osd_op is a delete and then a
subsequent osd_op recreates the object.  Changing the whiteout check to
look only at new_obs does not work because it fails to understand when
_delete_oid sets the whiteout and will simply clear it again.

In order to support sequences of delete + create in general, we need to do
the whiteout flag clearing when the actual create happens (to match the
fact that we set it when we process the delete osd_op).  Use a helper to
do this and consolidate most other obs.exists = true code to use it.

Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
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::merge_log: in tail extend case, log.log might be empty 4071/head
Samuel Just [Tue, 17 Mar 2015 17:07:03 +0000 (10:07 -0700)]
PGLog::merge_log: in tail extend case, log.log might be empty

Even if the tail != last_update, the log might be empty due to split
moving all entries into other logs.

Fixes: 10718
Signed-off-by: Samuel Just <sjust@redhat.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 agoPendingReleaseNotes: warn about lttng LD_PRELOAD for daemons 3898/head
Josh Durgin [Sat, 7 Mar 2015 02:58:48 +0000 (18:58 -0800)]
PendingReleaseNotes: warn about lttng LD_PRELOAD for daemons

Signed-off-by: Josh Durgin <jdurgin@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 agoceph_test_rados_tier: add test case for delete+create compound ops
Sage Weil [Mon, 16 Mar 2015 18:22:54 +0000 (11:22 -0700)]
ceph_test_rados_tier: add test case for delete+create compound ops

This triggers #11123, originally observed when rgw does a delete + create
sequence in a single op and the whiteout gets left behind.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoPG: add config to ignore history les in find_best_info
Samuel Just [Tue, 11 Nov 2014 21:28:31 +0000 (13:28 -0800)]
PG: add config to ignore history les in find_best_info

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #4004 from rohanmars/wip-refine-build-configuration-hammer
branto1 [Mon, 16 Mar 2015 12:24:11 +0000 (13:24 +0100)]
Merge pull request #4004 from rohanmars/wip-refine-build-configuration-hammer

fixes to compile librados on rhel 5.9

10 years agorhel 5.9 port fixes to compile librados only 4004/head
Rohan Mars [Sun, 15 Mar 2015 19:28:06 +0000 (12:28 -0700)]
rhel 5.9 port fixes to compile librados only
Signed-off-by: Rohan Mars <code@rohanmars.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 agoPGBackend: do not rewrite ec object oi checksums 3910/head
Samuel Just [Sat, 7 Mar 2015 02:30:41 +0000 (18:30 -0800)]
PGBackend: do not rewrite ec object oi checksums

Deep scrub does not actually give us the whole-object checksum for an ec
object, only the checksum for the first shard.  We ignore it in scrub
for ec pools anyway in be_select_auth_object.

Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoPGBackend: add debug option to rewrite digest even if present
Samuel Just [Fri, 6 Mar 2015 00:31:15 +0000 (16:31 -0800)]
PGBackend: add debug option to rewrite digest even if present

Related: #11027
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoReplicatedPG: finish_ctx: do not assume that the oi is for the head object
Samuel Just [Thu, 5 Mar 2015 21:59:41 +0000 (13:59 -0800)]
ReplicatedPG: finish_ctx: do not assume that the oi is for the head object

If we are setting the oi on the clone object, we want to update the
mod_desc.

Fixes: 11027
Signed-off-by: Samuel Just <sjust@redhat.com>
10 years agoBuild ceph-dencoder if server and mds for now
Boris Ranto [Fri, 13 Mar 2015 13:42:53 +0000 (14:42 +0100)]
Build ceph-dencoder if server and mds for now

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 agoosd: refactor RepScrubWQ::_process() 3972/head
Kefu Chai [Thu, 12 Mar 2015 03:20:40 +0000 (11:20 +0800)]
osd: refactor RepScrubWQ::_process()

use Mutex::Locker instead of releasing the lock manually.

Signed-off-by: Kefu Chai <kchai@redhat.com>
10 years agoosd: fix a msg leak when OSD is stopping
Kefu Chai [Thu, 12 Mar 2015 03:10:03 +0000 (11:10 +0800)]
osd: fix a msg leak when OSD is stopping

Signed-off-by: Kefu Chai <kchai@redhat.com>
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 agoosdc: fix a memory leak in C_TwoContexts 3918/head
Xiong Yiliang [Fri, 6 Mar 2015 04:46:49 +0000 (12:46 +0800)]
osdc: fix a memory leak in C_TwoContexts

If an ObjectOperation op is cancelled, its destructor is
called and each Context object in out_handler is deleted.
A C_TwoContexts object can be one of these handlers. The
two contexts wrapped in C_TwoContexts must be deleted
as well.

Signed-off-by: Xiong Yiliang <xiongyiliang@xunlei.com>
(cherry picked from commit f33cdbe485d0e4b78a46657bfcb8d5c02d24be69)

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 agoqa: make rbd-fuse exit cleanly with lttng
Josh Durgin [Thu, 5 Mar 2015 23:45:50 +0000 (15:45 -0800)]
qa: make rbd-fuse exit cleanly with lttng

lttng requires daemons (things that call fork, clone, or daemon
without exec, like fuse) to use a LD_PRELOAD library. Without this,
the lttng atexit() handler crashes.

Signed-off-by: Josh Durgin <jdurgin@redhat.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 agoThe erasure-code is actually required by libcommon
Boris Ranto [Fri, 6 Mar 2015 17:22:58 +0000 (18:22 +0100)]
The erasure-code is actually required by libcommon

10 years agoMinor syntax fix-ups for Makefile.am redesign
Boris Ranto [Fri, 6 Mar 2015 16:26:33 +0000 (17:26 +0100)]
Minor syntax fix-ups for Makefile.am redesign

10 years agoMinor changes in other Makefile.am files to make them support the build refinement
Boris Ranto [Fri, 6 Mar 2015 14:19:53 +0000 (15:19 +0100)]
Minor changes in other Makefile.am files to make them support the build refinement