]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoMerge pull request #2178 from dachary/wip-erasure-code-profile-default-firefly
Sage Weil [Sat, 2 Aug 2014 02:26:44 +0000 (19:26 -0700)]
Merge pull request #2178 from dachary/wip-erasure-code-profile-default-firefly

erasure-code: create default profile if necessary (firefly)

10 years agoqa/workunits/rest/test.py: make osd create test idempotent
Sage Weil [Wed, 2 Jul 2014 17:38:43 +0000 (10:38 -0700)]
qa/workunits/rest/test.py: make osd create test idempotent

Avoid possibility that we create multiple OSDs do to retries by passing in
the optional uuid arg.  (A stray osd id will make the osd tell tests a
few lines down fail.)

Fixes: #8728
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bb3e1c92b6682ed39968dc5085b69c117f43cbb0)

10 years agoenforce rados put aligment
Lluis Pamies-Juarez [Wed, 18 Jun 2014 17:00:09 +0000 (10:00 -0700)]
enforce rados put aligment

Signed-off-by: Lluis Pamies-Juarez <lluis.pamies-juarez@hgst.com>
(cherry picked from commit 304b08a23a3db57010078046955a786fe3589ef8)
(cherry picked from commit dece65064d949b5afcc359cd408615883b5e002a)

10 years agouse llrintl when converting double to micro
Sage Weil [Thu, 31 Jul 2014 22:39:40 +0000 (15:39 -0700)]
use llrintl when converting double to micro

This avoids rounding error (noticeable on i386).

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 80911736bd61b6b88eac0974d24f21c15c5385a4)

Conflicts:
src/mon/OSDMonitor.cc

10 years agomsg/SimpleMessenger: drop local_conneciton priv link on shutdwon
Sage Weil [Fri, 25 Jul 2014 01:22:22 +0000 (18:22 -0700)]
msg/SimpleMessenger: drop local_conneciton priv link on shutdwon

This breaks ref cycles between the local_connection and session, and let's
us drop the explicit set_priv() calls in OSD::shutdown().

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 63c1711a9e237c14d137131f56751970ad1567b1)

10 years agoerasure-code: create default profile if necessary 2178/head
Loic Dachary [Wed, 18 Jun 2014 22:49:13 +0000 (00:49 +0200)]
erasure-code: create default profile if necessary

After an upgrade to firefly, the existing Ceph clusters do not have the
default erasure code profile. Although it may be created with

   ceph osd erasure-code-profile set default

it was not included in the release notes and is confusing for the
administrator.

The *osd pool create* and *osd crush rule create-erasure* commands are
modified to implicitly create the default erasure code profile if it is
not found.

In order to avoid code duplication, the default erasure code profile
code creation that happens when a new firefly ceph cluster is created is
encapsulated in the OSDMap::get_erasure_code_profile_default method.

Conversely, handling the pending change in OSDMonitor is not
encapsulated in a function but duplicated instead. If it was a function
the caller would need a switch to distinguish between the case when goto
wait is needed, or goto reply or proceed because nothing needs to be
done. It is unclear if having a function would lead to smaller or more
maintainable code.

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

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

10 years agocommon: s/stringstream/ostream/ in str_map
Loic Dachary [Mon, 13 Jan 2014 16:54:08 +0000 (17:54 +0100)]
common: s/stringstream/ostream/ in str_map

There is no need to specialize more than ostream : it only makes it
impossible to use cerr or cout as a parameter to str_map.

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 6aa45b133956b974a992b372496b90c908d94f12)

10 years ago0.80.5 v0.80.5
Jenkins [Tue, 29 Jul 2014 12:24:39 +0000 (05:24 -0700)]
0.80.5

11 years agoosd: cancel agent_timer events on shutdown
Sage Weil [Fri, 9 May 2014 15:41:33 +0000 (08:41 -0700)]
osd: cancel agent_timer events on shutdown

We need to cancel all agent timer events on shutdown.  This also needs to
happen early so that any in-progress events will execute before we start
flushing and cleaning up PGs.

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit c0dc245b662f1f9c640d7dd15fdf4cf26e729782)

Conflicts:
src/osd/OSD.cc

11 years agoosd: s/applying repop/canceling repop/
Sage Weil [Tue, 8 Jul 2014 23:11:44 +0000 (16:11 -0700)]
osd: s/applying repop/canceling repop/

The 'applying' language dates back to when we would wait for acks from
replicas before applying writes locally.  We don't do any of that any more;
now, this loop just cancels the repops with remove_repop() and some other
cleanup.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit ef40737eee4389faa7792661a0f9d15b3d0440f2)

11 years agoosd: clear PGBackend state on shutdown
Sage Weil [Tue, 8 Jul 2014 23:11:27 +0000 (16:11 -0700)]
osd: clear PGBackend state on shutdown

This was leaking state on shutdown whenever there were in-flight repops
that were canceled.

Fixes: #7891
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit cafceae6c243369d3616af8217884e7e029896b9)

11 years agoosd: separate cleanup from PGBackend::on_change()
Sage Weil [Tue, 8 Jul 2014 23:10:58 +0000 (16:10 -0700)]
osd: separate cleanup from PGBackend::on_change()

The generic portion of on_change() cleaned up temporary on-disk objects
and requires a Transaction.  The rest is clearing out in-memory state and
does not.  Separate the two.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e299357e2a24474ab7a02e65ca0279336fd04b76)

11 years agoMerge remote-tracking branch 'origin/wip-8858-firefly' into firefly
Josh Durgin [Wed, 23 Jul 2014 17:09:19 +0000 (10:09 -0700)]
Merge remote-tracking branch 'origin/wip-8858-firefly' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agomon: AuthMonitor: always encode full regardless of keyserver having keys 2134/head
Joao Eduardo Luis [Mon, 21 Jul 2014 23:25:37 +0000 (00:25 +0100)]
mon: AuthMonitor: always encode full regardless of keyserver having keys

On clusters without cephx, assuming an admin never added a key to the
cluster, the monitors have empty key servers.  A previous patch had the
AuthMonitor not encoding an empty keyserver as a full version.

As such, whenever the monitor restarts we will have to read the whole
state from disk in the form of incrementals.  This poses a problem upon
trimming, as we do every now and then: whenever we start the monitor, it
will start with an empty keyserver, waiting to be populated from whatever
we have on disk.  This is performed in update_from_paxos(), and the
AuthMonitor's will rely on the keyserver version to decide which
incrementals we care about -- basically, all versions > keyserver version.

Although we started with an empty keyserver (version 0) and are expecting
to read state from disk, in this case it means we will attempt to read
version 1 first.  If the cluster has been running for a while now, and
even if no keys have been added, it's fair to assume that version is
greater than 0 (or even 1), as the AuthMonitor also deals and keeps track
of auth global ids.  As such, we expect to read version 1, then version 2,
and so on.  If we trim at some point however this will not be possible,
as version 1 will not exist -- and we will assert because of that.

This is fixed by ensuring the AuthMonitor keeps track of full versions
of the key server, even if it's of an empty key server -- it will still
keep track of the key server's version, which is incremented each time
we update from paxos even if it is empty.

Fixes: #8851
Backport: dumpling, firefly

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit b551ae2bcea2dd17b37f5f5ab34251cc78de0e26)

11 years agoMerge pull request #2122 from ceph/wip-dencoder-firefly
Sage Weil [Mon, 21 Jul 2014 20:10:28 +0000 (13:10 -0700)]
Merge pull request #2122 from ceph/wip-dencoder-firefly

fix linking deps, cpeh-dencoder, etc., firefly backport

11 years agorgw: dump prefix unconditionally
Yehuda Sadeh [Fri, 18 Jul 2014 21:52:48 +0000 (14:52 -0700)]
rgw: dump prefix unconditionally

As part of issue #8858, and to be more in line with S3, dump the Prefix
field when listing bucket even if bucket is empty.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit d7209c11251d42227608bc54cc69232ef62ffe80)

11 years agorgw: list extra objects to set truncation flag correctly
Yehuda Sadeh [Thu, 17 Jul 2014 22:48:26 +0000 (15:48 -0700)]
rgw: list extra objects to set truncation flag correctly

Otherwise we end up returning wrong truncated value, and no data on the
next iteration.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit dc417e477d4ad262885c6b5f5987cf06d63b159d)

11 years agorgw: account common prefixes for MaxKeys in bucket listing
Yehuda Sadeh [Thu, 17 Jul 2014 18:45:44 +0000 (11:45 -0700)]
rgw: account common prefixes for MaxKeys in bucket listing

To be more in line with the S3 api. Beforehand we didn't account the
common prefixes towards the MaxKeys (a single common prefix counts as a
single key). Also need to adjust the marker now if it is pointing at a
common prefix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 82d2d612e700f94a0bb2d9fb7555abf327be379b)

11 years agorgw: add NextMarker param for bucket listing
Yehuda Sadeh [Thu, 17 Jul 2014 18:24:51 +0000 (11:24 -0700)]
rgw: add NextMarker param for bucket listing

Partially fixes #8858.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 924686f0b6593deffcd1d4e80ab06b1e7af00dcb)

11 years agorgw: improve delmited listing of bucket
Yehuda Sadeh [Wed, 16 Jul 2014 22:21:09 +0000 (15:21 -0700)]
rgw: improve delmited listing of bucket

If found a prefix, calculate a string greater than that so that next
request we can skip to that. This is still not the most efficient way to
do it. It'll be better to push it down to the objclass, but that'll
require a much bigger change.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit e6cf618c257f26f97f60a4c1df1d23a14496cab0)

11 years agoutf8: export encode_utf8() and decode_utf8()
Yehuda Sadeh [Wed, 16 Jul 2014 23:05:58 +0000 (16:05 -0700)]
utf8: export encode_utf8() and decode_utf8()

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 49fc68cf8c3122c878ea9503c9c74d7046bc9c6f)

11 years agoceph-dencoder: don't link librgw.la (and rados, etc.) 2122/head
Sage Weil [Sat, 19 Jul 2014 05:44:51 +0000 (22:44 -0700)]
ceph-dencoder: don't link librgw.la (and rados, etc.)

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 34671108ce0b7597dba4f619732ecdb8933cda6e)

11 years agorgw: move a bunch of stuff into rgw_dencoder
Sage Weil [Sat, 19 Jul 2014 05:27:25 +0000 (22:27 -0700)]
rgw: move a bunch of stuff into rgw_dencoder

This will help out ceph-dencoder ...

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b1a641f307942cbf43036f75ef67fb30441dfe95)

11 years agolibosd_types, libos_types, libmon_types
Sage Weil [Sat, 19 Jul 2014 04:58:29 +0000 (21:58 -0700)]
libosd_types, libos_types, libmon_types

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1c170776cb8c0266f0f54f049ed07bbdb9c9ab5e)

Conflicts:

src/os/Makefile.am
src/os/ObjectStore.cc
src/osd/Makefile.am

11 years agoRevert "ceph.spec: move ceph-dencoder to ceph from ceph-common"
Sage Weil [Sat, 19 Jul 2014 03:55:39 +0000 (20:55 -0700)]
Revert "ceph.spec: move ceph-dencoder to ceph from ceph-common"

This reverts commit 95f5a448b52db545a2b9bbad47fdb287254f93ea.
(cherry picked from commit 58cc894b3252a848ebc2169bcc4980a0ae6cc375)

11 years agoRevert "debian: move ceph-dencoder to ceph from ceph-common"
Sage Weil [Sat, 19 Jul 2014 03:55:35 +0000 (20:55 -0700)]
Revert "debian: move ceph-dencoder to ceph from ceph-common"

This reverts commit b37e3bde3bd31287b11c069062280258666df7c5.
(cherry picked from commit f181f78b7473260a717bc8ab4fc4d73a80e3b5ba)

11 years agoconfigure: do not link leveldb with everything
Dan Mick [Fri, 18 Jul 2014 04:44:06 +0000 (21:44 -0700)]
configure: do not link leveldb with everything

Detect leveldb, but do not let autoconf blindly link it with everything on the
planet.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Sighed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 06a8f7b99c5533f397b34f448138220384df60ac)

11 years agoceph.spec: move ceph-dencoder to ceph from ceph-common
Sage Weil [Tue, 15 Jul 2014 00:02:05 +0000 (17:02 -0700)]
ceph.spec: move ceph-dencoder to ceph from ceph-common

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 95f5a448b52db545a2b9bbad47fdb287254f93ea)

11 years agodebian: move ceph-dencoder to ceph from ceph-common
Sage Weil [Mon, 14 Jul 2014 21:16:43 +0000 (14:16 -0700)]
debian: move ceph-dencoder to ceph from ceph-common

It links against the world currently (notably leveldb).  Not nice for the
client-side lib.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b37e3bde3bd31287b11c069062280258666df7c5)

11 years agologrotate.conf: fix osd log rotation under upstart
Sage Weil [Thu, 17 Jul 2014 23:40:06 +0000 (16:40 -0700)]
logrotate.conf: fix osd log rotation under upstart

In commit 7411c3c6a42bef5987bdd76b1812b01686303502 we generalized this
enumeration code by copying what was in the upstart scripts.  However,
while the mon and mds directories get a 'done' file, the OSDs get a 'ready'
file.  Bah!  Trigger off of either one.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 14a9ca602fa9573b0b6b94709b384bca02d12fac)

11 years agorgw: don't try to wait for pending if list is empty
Yehuda Sadeh [Wed, 16 Jul 2014 19:23:31 +0000 (12:23 -0700)]
rgw: don't try to wait for pending if list is empty

Fixes: #8846
Backport: firefly, dumpling

This was broken at ea68b9372319fd0bab40856db26528d36359102e. We ended
up calling wait_pending_front() when pending list was empty.
This commit also moves the need_to_wait check to a different place,
where we actually throttle (and not just drain completed IOs).

Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit f9f2417d7db01ecf2425039539997901615816a9)

11 years agoremove suse service restarts
Alfredo Deza [Thu, 17 Jul 2014 14:06:37 +0000 (10:06 -0400)]
remove suse service restarts

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 0f11aaeefd7e8b49f88607937aade6113ebda52c)

11 years agoremove ceph restarts on upgrades for RPMs
Alfredo Deza [Wed, 16 Jul 2014 20:12:12 +0000 (16:12 -0400)]
remove ceph restarts on upgrades for RPMs

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit e3a5756f58ef5d07badf18ab08a26f47f7d232cb)

11 years agoset the default log level to WARNING
Alfredo Deza [Wed, 16 Jul 2014 15:07:13 +0000 (11:07 -0400)]
set the default log level to WARNING

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 420f0a471a31d1e56359ea642ed831e8a38b1e90)

11 years agoinit-ceph: wrap daemon startup with systemd-run when running under systemd
Sage Weil [Wed, 16 Jul 2014 01:11:41 +0000 (18:11 -0700)]
init-ceph: wrap daemon startup with systemd-run when running under systemd

We want to make sure the daemon runs in its own systemd environment.  Check
for systemd as pid 1 and, when present, use systemd-run -r <cmd> to do
this.

Probably fixes #7627

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Tested-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 3e0d9800767018625f0e7d797c812aa44c426dab)

11 years ago0.80.4 v0.80.4
Jenkins [Tue, 15 Jul 2014 19:13:55 +0000 (12:13 -0700)]
0.80.4

11 years agoXfsFileStoreBackend: default to disabling extsize on xfs
Samuel Just [Mon, 14 Jul 2014 20:29:37 +0000 (13:29 -0700)]
XfsFileStoreBackend: default to disabling extsize on xfs

This appears to be responsible for the deep scrub mismatches on some rbd
workloads.

Fixes: 8830
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 01cd3cdc726a3e838bce05b355a021778b4e5db1)

11 years agoRevert "Revert "rgw: if extra data pool name is empty, use data pool name instead""
Sage Weil [Mon, 14 Jul 2014 22:00:30 +0000 (15:00 -0700)]
Revert "Revert "rgw: if extra data pool name is empty, use data pool name instead""

This reverts commit 0b6bd2545925b5e8a80d41de1fda13ffe9d30e2b.

We confused commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1 with commit
b1a4a7cb91e164d1f8af8ce9319e3b3c1949858d in our tests.  We tested without
the latter, saw a failure, applied it and then reverted the former, and it
passed, but didn't actually resolve the problem.

This puts them both back in place and all should be well.

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years ago0.80.3 v0.80.3
Jenkins [Fri, 11 Jul 2014 17:14:12 +0000 (17:14 +0000)]
0.80.3

11 years agorgw: fix RGWObjManifestRule decoder
Sage Weil [Thu, 10 Jul 2014 17:36:16 +0000 (10:36 -0700)]
rgw: fix RGWObjManifestRule decoder

Only decode the new field if it is a new struct.

Fixes: #8804
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit c4afaf9dabd261853a44b2e08f0911c075c1cd3a)

11 years ago0.80.2 v0.80.2
Jenkins [Wed, 9 Jul 2014 19:32:26 +0000 (19:32 +0000)]
0.80.2

11 years agoRevert "rgw: if extra data pool name is empty, use data pool name instead"
Josh Durgin [Wed, 9 Jul 2014 19:04:49 +0000 (12:04 -0700)]
Revert "rgw: if extra data pool name is empty, use data pool name instead"

This breaks multipart uploads on firefly, though not on master.
Revert for now so we can release 0.80.2.

This reverts commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1.

11 years agoMerge pull request #2083 from ceph/wip-8727.firefly
Sage Weil [Tue, 8 Jul 2014 17:06:01 +0000 (10:06 -0700)]
Merge pull request #2083 from ceph/wip-8727.firefly

messages: MForward: fix compat version

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomessages: MForward: fix compat version 2083/head
Joao Eduardo Luis [Tue, 8 Jul 2014 15:46:27 +0000 (16:46 +0100)]
messages: MForward: fix compat version

A while ago we bumped the head version and reset the compat version to 0.
Doing this so happens to make the messenger assume that the message does
not support the compat versioning and sets the compat version to the head
version -- thus making compat = 2 when it should have been 1.

The nasty side-effect of this is that upgrading from emperor to firefly
will have emperor-leaders being unable to decode forwarded messages from
firefly-peons.

Fixes: #8727
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit c92feebb81f90344a085f8256f0ed03cdc2f14e1)

11 years agoceph.spec.in: add bash completion file for radosgw-admin
Dan Mick [Thu, 3 Jul 2014 23:11:24 +0000 (16:11 -0700)]
ceph.spec.in: add bash completion file for radosgw-admin

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit b70096307130bcbac176704493a63c5d039d3edc)

11 years agoceph.spec.in: rhel7-related changes:
Dan Mick [Thu, 3 Jul 2014 23:10:55 +0000 (16:10 -0700)]
ceph.spec.in: rhel7-related changes:

udev rules: /lib -> /usr/lib
/sbin binaries move to /usr/sbin or %{_sbindir}

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit 235e4c7de8f8efe491edefbdde8e5da4dfc44034)

Conflicts:
ceph.spec.in

11 years agoFix/add missing dependencies:
Dan Mick [Thu, 3 Jul 2014 23:08:44 +0000 (16:08 -0700)]
Fix/add missing dependencies:

- rbd-fuse depends on librados2/librbd1
- ceph-devel depends on specific releases of libs and libcephfs_jni1
- librbd1 depends on librados2
- python-ceph does not depend on libcephfs1

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit 7cf81322391b629b241da90181800ca1f138ce78)

Conflicts:
ceph.spec.in

11 years agoceph.spec.in: whitespace fixes
Dan Mick [Thu, 3 Jul 2014 23:05:00 +0000 (16:05 -0700)]
ceph.spec.in: whitespace fixes

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit ec8af52a5ede78511423a1455a496d46d580c644)

Conflicts:
ceph.spec.in

11 years agoceph.spec.in: split out ceph-common as in Debian
Dan Mick [Thu, 3 Jul 2014 23:04:10 +0000 (16:04 -0700)]
ceph.spec.in: split out ceph-common as in Debian

Move files, postun scriptlet, and add dependencies on ceph-common
where appropriate

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit e131b9d5a5e90e87d8a8346cb96cb5a26135c144)

11 years agoMerge pull request #2057 from ceph/wip-8593-firefly
Sage Weil [Mon, 7 Jul 2014 16:40:51 +0000 (09:40 -0700)]
Merge pull request #2057 from ceph/wip-8593-firefly

mon: backport health check improvements

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: check changes to the whole CRUSH map and to tunables against cluster features
Greg Farnum [Thu, 3 Jul 2014 23:30:49 +0000 (16:30 -0700)]
mon: check changes to the whole CRUSH map and to tunables against cluster features

When we change the tunables, or set a new CRUSH map, we need to make sure it's
supported by all the monitors and OSDs currently participating in the cluster.

Fixes: #8738
Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 54af8104816ccc76aad251aa47a6efc1bf879e7d)

11 years agoOSDMonitor: fix quorum_features comparison in check_cluster_features
Greg Farnum [Thu, 3 Jul 2014 22:24:30 +0000 (15:24 -0700)]
OSDMonitor: fix quorum_features comparison in check_cluster_features

We need to see if there's a feature which is not in the quorum_features,
not if there are no features in common!

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 2280c0eaa9f3f733062085a5e7f7dc23c3bbe291)

11 years agoceph_test_rados_api_tier: disable LibRadosTierECPP::HitSetWrite
Sage Weil [Mon, 16 Jun 2014 19:57:36 +0000 (12:57 -0700)]
ceph_test_rados_api_tier: disable LibRadosTierECPP::HitSetWrite

Disable this test until hitget-get reliably works on EC pools (currently
it does not, and this test usually passes only because we get the in-memory
HitSet).

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit c5b5ed672c039cc4fa04772e065a59d3b1df803a)

11 years agoMerge pull request #2073 from ceph/wip-rgw-firefly-2
Sage Weil [Sat, 5 Jul 2014 04:18:32 +0000 (21:18 -0700)]
Merge pull request #2073 from ceph/wip-rgw-firefly-2

rgw: more firefly backports

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: set a default data extra pool name 2073/head
Yehuda Sadeh [Wed, 11 Jun 2014 23:50:41 +0000 (16:50 -0700)]
rgw: set a default data extra pool name

Fixes: #8585
Have a default name for the data extra pool, otherwise it would be empty
which means that it'd default to the data pool name (which is a problem
with ec backends).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit b2542f8e880e45bb6d052f13eb3ef6a7c61e4cd4)

11 years agoMerge pull request #2028 from ceph/wip-rgw-firefly
Sage Weil [Thu, 3 Jul 2014 14:00:52 +0000 (07:00 -0700)]
Merge pull request #2028 from ceph/wip-rgw-firefly

rgw: a couple backports for firefly

Passed the rgw suite, modulo a python bootstrap issue.

sage-2014-07-01_09:50:22-rgw-wip-rgw-firefly-testing-basic-plana/337393

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: fix uninit ofs in RGWObjManifect::obj_iterator
Sage Weil [Mon, 30 Jun 2014 19:55:45 +0000 (12:55 -0700)]
rgw: fix uninit ofs in RGWObjManifect::obj_iterator

Valgrind picked this up:

  <kind>UninitCondition</kind>
  <what>Conditional jump or move depends on uninitialised value(s)</what>
  <stack>
    <frame>
      <ip>0x5145B8</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWObjManifest::obj_iterator::seek(unsigned long)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_rados.cc</file>
      <line>562</line>
    </frame>
    <frame>
      <ip>0x5672A4</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>list_multipart_parts(RGWRados*, req_state*, std::string const&amp;, std::string&amp;, int, int, std::map&lt;unsigned int, RGWUploadPartInfo, std::less&lt;unsigned int&gt;, std::allocator&lt;std::pair&lt;unsigned int const, RGWUploadPartInfo&gt; &gt; &gt;&amp;, int*, bool*, bool)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_rados.h</file>
      <line>217</line>
    </frame>
    <frame>
      <ip>0x5688EE</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWListMultipart::execute()</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_op.cc</file>
      <line>2956</line>
    </frame>
...

Fixes: #8699
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e0d3b78b6af523ae77b0cee385cd40f67f7a0ab6)

11 years agorgw: if extra data pool name is empty, use data pool name instead
Yehuda Sadeh [Fri, 30 May 2014 21:47:25 +0000 (14:47 -0700)]
rgw: if extra data pool name is empty, use data pool name instead

Fixes: #8311
An empty pool name could be used as the extra data pool.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit b300318113b162522759d4794b1cfa3d1d9398e4)

11 years agorgw: extend manifest to avoid old style manifest
Yehuda Sadeh [Tue, 6 May 2014 22:35:20 +0000 (15:35 -0700)]
rgw: extend manifest to avoid old style manifest

In case we hit issue #8269 we'd like to avoid creating an old style
manifest. Since we need to have parts that use different prefix we add a
new rule param that overrides the manifest prefix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 545d8ad1d2dfe53b967ab1bd17dfeb1780abbb5e)

11 years agorgw: don't allow multiple writers to same multiobject part
Yehuda Sadeh [Sat, 3 May 2014 00:06:05 +0000 (17:06 -0700)]
rgw: don't allow multiple writers to same multiobject part

Fixes: #8269
Backport: firefly, dumpling

A client might need to retry a multipart part write. The original thread
might race with the new one, trying to clean up after it, clobbering the
part's data.
The fix is to detect whether an original part already existed, and if so
use a different part name for it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit bd8e026f88b812cc70caf6232c247844df5d99bf)

11 years agoMerge pull request #2056 from ceph/wip-8010
Sage Weil [Tue, 1 Jul 2014 23:16:09 +0000 (16:16 -0700)]
Merge pull request #2056 from ceph/wip-8010

Revert "mon: OSDMonitor: Refuse to delete CephFS pools"

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomon: ensure HealthService warning(s) include a summary 2057/head
Sage Weil [Tue, 17 Jun 2014 00:00:51 +0000 (17:00 -0700)]
mon: ensure HealthService warning(s) include a summary

The low disk space check would change our status to HEALTH_WARN and include
a detail message, but no summary.  We need both.

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 3ed7f2dd4345633ff34017b201082f4c261ef387)

11 years agomon: refactor check_health()
Sage Weil [Mon, 16 Jun 2014 23:58:14 +0000 (16:58 -0700)]
mon: refactor check_health()

Refactor the get_health() methods to always take both a summary and detail.
Eliminate the return value and pull that directly from the summary, as we
already do with the PaxosServices.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 82e47db8073b622183a5e33f6e0b999a3a144804)

11 years agomon: fix typos, punctuation for mon disk space warning(s)
Sage Weil [Mon, 16 Jun 2014 23:40:05 +0000 (16:40 -0700)]
mon: fix typos, punctuation for mon disk space warning(s)

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 98883f6308ce72f69a71feab29ef00e13f319cdb)

Conflicts:

src/mon/DataHealthService.cc

11 years agomon/OSDMonitor: make down osd count sensible
Sage Weil [Mon, 16 Jun 2014 23:27:05 +0000 (16:27 -0700)]
mon/OSDMonitor: make down osd count sensible

We currently log something like

 1/10 in osds are down

in the health warning when there are down OSDs, but this is based on a
comparison of the number of up vs the number of in osds, and makes no sense
when there are up osds that are not in.

Instead, count only the number OSDs that are both down and in (relative to
the total number of OSDs in) and warn about that.  This means that, if a
disk fails, and we mark it out, and the cluster fully repairs itself, it
will go back to a HEALTH_OK state.

I think that is a good thing, and certainly preferable to the current
nonsense.  If we want to distinguish between down+out OSDs that were failed
vs those that have been "acknowledged" by an admin to be dead, we will
need to add some additional state (possibly reusing the AUTOOUT flag?), but
that will require more discussion.

Backport: firefly (maybe)
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 55a97787088b79356c678a909b2410b3924e7f5b)

11 years agoRevert "mon: OSDMonitor: Refuse to delete CephFS pools" 2056/head
John Spray [Tue, 1 Jul 2014 21:04:25 +0000 (22:04 +0100)]
Revert "mon: OSDMonitor: Refuse to delete CephFS pools"

This reverts commit c7d265a9b276aad5caf9b35f3ce8bc7bdd169f0f.

Because this pre-dates the `fs rm` command, this change was
preventing firefly users from ever deleting their filesystem pools.

Fixes: #8010
Signed-off-by: John Spray <john.spray@redhat.com>
11 years agorgw: set meta object in extra flag when initializing it 2028/head
Yehuda Sadeh [Wed, 4 Jun 2014 16:24:33 +0000 (09:24 -0700)]
rgw: set meta object in extra flag when initializing it

As part of the fix for 8452 we moved the meta object initialization.
Missed moving the extra flag initialization that is needed. This breaks
setups where there's a separate extra pool (needed in ec backends).

Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 703d0eb9bffdf6c553b659728a3a07f068fb15ee)

11 years agoqa/workunits/suites/fsx.sh: don't use zero range
Sage Weil [Mon, 30 Jun 2014 14:05:04 +0000 (07:05 -0700)]
qa/workunits/suites/fsx.sh: don't use zero range

Zero range is not supported by cephfs.

Fixes: #8542
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 2dec8a810060f65d022c06e82090b4aa5ccec0cb)

11 years agoMerge pull request #1991 from dachary/wip-8307-erasure-code-profile-implicit-creation
Loic Dachary [Mon, 30 Jun 2014 15:01:03 +0000 (17:01 +0200)]
Merge pull request #1991 from dachary/wip-8307-erasure-code-profile-implicit-creation

erasure code profile implicit creation (firefly backport)

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoerasure-code: pool create must not create profiles 1991/head
Loic Dachary [Wed, 11 Jun 2014 20:44:57 +0000 (22:44 +0200)]
erasure-code: pool create must not create profiles

If a non existent profile is provided as an argument to osd pool create,
it must exit on error and not create the profile as a side effect.

http://tracker.ceph.com/issues/8307 refs: #8307

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

11 years agoerasure-code: OSDMonitor::get_erasure_code is a const
Loic Dachary [Wed, 11 Jun 2014 20:47:49 +0000 (22:47 +0200)]
erasure-code: OSDMonitor::get_erasure_code is a const

If it is not, the non const version of OSDMap::get_erasure_code_profile
is called and a profile is created as a side effect, which is not
intended.

http://tracker.ceph.com/issues/8307 refs: #8307

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

11 years agomon: fix set cache_target_full_ratio
Loic Dachary [Tue, 27 May 2014 08:06:46 +0000 (10:06 +0200)]
mon: fix set cache_target_full_ratio

It was a noop because it was incorrectly using the variable n. Add a
test to protect against regression.

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

Reported-by: Geoffrey Hartz <hartz.geoffrey@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit c2225f874dcf37222d831b65b5a319d598d2fcd9)

11 years agorgw: allocate enough space for bucket instance id
Yehuda Sadeh [Mon, 16 Jun 2014 18:48:24 +0000 (11:48 -0700)]
rgw: allocate enough space for bucket instance id

Fixes: #8608
Backport: dumpling, firefly
Bucket instance id is a concatenation of zone name, rados instance id,
and a running counter. We need to allocate enough space to account zone
name length.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit d2e86a66ca55685e04ffbfaa58452af59f381277)

11 years agolog the command that is being run with subprocess
Alfredo Deza [Fri, 20 Jun 2014 15:14:25 +0000 (11:14 -0400)]
log the command that is being run with subprocess

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit e189a668285f9ab73116bc19f9df1cc515473541)

11 years agorgw: fetch object attrs on multipart completion
Yehuda Sadeh [Fri, 30 May 2014 23:17:47 +0000 (16:17 -0700)]
rgw: fetch object attrs on multipart completion

Fixes: #8452
Backport: firefly
This fixes a regression following a code cleanup.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 70afaaabf979d4cc1a14dbc2b772224cbafcac2f)

11 years agorgw: check appropriate entity permission on put_metadata
Yehuda Sadeh [Fri, 23 May 2014 01:27:58 +0000 (18:27 -0700)]
rgw: check appropriate entity permission on put_metadata

Fixes: #8428
Backport: firefly

Cannot use verify_object_permission() to test acls, as the operation
here might either be on object or on bucket.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 2ceb13af34bc38b418bb88d81131d770a71159bf)

11 years agoXfsFileStoreBackend: call ioctl(XFS_IOC_FSSETXATTR) less often
Ilya Dryomov [Thu, 5 Jun 2014 06:08:42 +0000 (10:08 +0400)]
XfsFileStoreBackend: call ioctl(XFS_IOC_FSSETXATTR) less often

No need to call ioctl(XFS_IOC_FSSETXATTR) if extsize is already set to
the value we want or if any extents are allocated - XFS will refuse to
change extsize in that's the case.

Fixes: #8241
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
(cherry picked from commit bc3b30ed09b8f3eb86b61e3a05ccacfd928faa95)

11 years agomon: Fix default replicated pool ruleset choice
John Spray [Tue, 20 May 2014 15:25:19 +0000 (16:25 +0100)]
mon: Fix default replicated pool ruleset choice

Specifically, in the case where the configured
default ruleset is CEPH_DEFAULT_CRUSH_REPLICATED_RULESET,
instead of assuming ruleset 0 exists, choose the lowest
numbered ruleset.

In the case where an explicit ruleset is passed to
OSDMonitor::prepare_pool_crush_ruleset, verify
that it really exists.

The idea is to eliminate cases where a pool could
exist with its crush ruleset set to something
other than a value ruleset ID.

Fixes: #8373
Signed-off-by: John Spray <john.spray@inktank.com>
(cherry picked from commit 1d9e4ac2e2bedfd40ee2d91a4a6098150af9b5df)

Conflicts:

src/crush/CrushWrapper.h

11 years agorgw: calc md5 and compare if user provided appropriate header
Yehuda Sadeh [Fri, 23 May 2014 21:58:54 +0000 (14:58 -0700)]
rgw: calc md5 and compare if user provided appropriate header

Fixes: #8436
Backport: firefly

This was broken in ddc2e1a8e39a5c6b9b224c3eebd1c0e762ca5782. The fix
resurrects and old check that was dropped.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 9c56c86bdac6bcb8e76c3f04e7d393e4eaadd721)

11 years agorgw: calculate user manifest
Yehuda Sadeh [Mon, 21 Apr 2014 22:07:12 +0000 (15:07 -0700)]
rgw: calculate user manifest

Fixes: #8169
Backport: firefly
We didn't calculate the user manifest's object etag at all. The etag
needs to be the md5 of the contantenation of all the parts' etags.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit ddc2e1a8e39a5c6b9b224c3eebd1c0e762ca5782)

11 years agolibrados: simplify/fix rados_pool_list bounds checks
Sage Weil [Tue, 3 Jun 2014 18:45:20 +0000 (11:45 -0700)]
librados: simplify/fix rados_pool_list bounds checks

We were not breaking out of the loop when we filled up the buffer unless
we happened to do so on a pool name boundary.  This means that len would
roll over (it was unsigned).  In my case, I was not able to reproduce
anything particularly bad since (I think) the strncpy was interpreting the
large unsigned value as signed, but in any case this fixes it, simplifies
the arithmetic, and adds a simple test.

- use a single 'rl' value for the amount of buffer space we want to
  consume
- use this to check that there is room and also as the strncat length
- rely on the initial memset to ensure that the trailing 0 is in place.

Fixes: #8447
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 3ec32a6bb11d92e36a0e6381b40ce2fd1fbb016a)

11 years agoMerge pull request #1982 from accelazh/firefly-fix-issue-8256
Sage Weil [Wed, 25 Jun 2014 19:42:11 +0000 (12:42 -0700)]
Merge pull request #1982 from accelazh/firefly-fix-issue-8256

Make <poolname> in "ceph osd tier --help" clearer (fix issue 8256).

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoOSD::calc_priors_during: handle CRUSH_ITEM_NONE correctly
Samuel Just [Tue, 3 Jun 2014 23:14:15 +0000 (16:14 -0700)]
OSD::calc_priors_during: handle CRUSH_ITEM_NONE correctly

Fixes: #8507
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 0bd6f6797c69af9aff851033c57c42121671c684)

Conflicts:
src/osd/OSD.cc

11 years agoOSD::calc_priors_during: fix confusing for loop bracing (cosmetic)
Samuel Just [Tue, 3 Jun 2014 23:11:32 +0000 (16:11 -0700)]
OSD::calc_priors_during: fix confusing for loop bracing (cosmetic)

Confusing lack of braces is confusing.

Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit d76936b92300be5cc403fd5a36616a2424c7877d)

Conflicts:
src/osd/OSD.cc

11 years agorados.cc: fix pool alignment check
Samuel Just [Tue, 24 Jun 2014 17:11:21 +0000 (10:11 -0700)]
rados.cc: fix pool alignment check

Only check pool alignment if io_ctx is initialized.

Introduced in 304b08a23a3db57010078046955a786fe3589ef8
Fixes: #8652
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit d7350a3741bf4cdb270c6361e68090fe280cf36d)

Conflicts:
src/tools/rados/rados.cc

11 years agoosd: fix filestore perf stats update
Sage Weil [Tue, 17 Jun 2014 20:33:14 +0000 (13:33 -0700)]
osd: fix filestore perf stats update

Update the struct we are about to send, not the (unlocked!) one we will
send the next time around.

Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 4afffb4a10a0bbf7f2018ef3ed6b167c7921e46b)

11 years agoFileStore: set XATTR_NO_SPILL_OUT when creating new files.
Greg Farnum [Thu, 24 Apr 2014 22:34:24 +0000 (15:34 -0700)]
FileStore: set XATTR_NO_SPILL_OUT when creating new files.

Fixes: #8205
Backport: firefly

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit e3b995e1567f3ccc6d00ae27ab2aa99ca157228a)

11 years agoFileStore: make _clone() copy spill out marker
Haomai Wang [Sat, 7 Jun 2014 06:32:23 +0000 (14:32 +0800)]
FileStore: make _clone() copy spill out marker

Previously we were not doing so, and that resulted in unpredictable loss
of xattrs from the client's perspective.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 239476a92849159d2a8966d90ca055c116bee91e)

11 years agoerasure-code: verify that rados put enforces alignment
Loic Dachary [Wed, 18 Jun 2014 15:01:54 +0000 (17:01 +0200)]
erasure-code: verify that rados put enforces alignment

http://tracker.ceph.com/issues/8622 refs: #8622

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

11 years agoenforce rados put aligment
Lluis Pamies-Juarez [Wed, 18 Jun 2014 17:00:09 +0000 (10:00 -0700)]
enforce rados put aligment

Signed-off-by: Lluis Pamies-Juarez <lluis.pamies-juarez@hgst.com>
(cherry picked from commit 304b08a23a3db57010078046955a786fe3589ef8)

11 years agoosd/OSDMap: do not require ERASURE_CODE feature of clients
Sage Weil [Fri, 6 Jun 2014 20:31:29 +0000 (13:31 -0700)]
osd/OSDMap: do not require ERASURE_CODE feature of clients

Just because an EC pool exists in the cluster does not mean tha tthe client
has to support the feature:

1) The way client IO is initiated is no different for EC pools than for
   replicated pools.
2) People may add an EC pool to an existing cluster with old clients and
   locking those old clients out is very rude when they are not using the
   new pool.
3) The only direct client user of EC pools right now is rgw, and the new
   versions already need to support various other features like CRUSH_V2
   in order to work.  These features are present in new kernels.

Fixes: #8556
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 3fe1699f9620280d0070cfe6f01cfeb2332e7470)

11 years agoosd/OSDMap: make get_features() take an entity type
Sage Weil [Thu, 12 Jun 2014 23:44:53 +0000 (16:44 -0700)]
osd/OSDMap: make get_features() take an entity type

Make the helper that returns what features are required of the OSDMap take
an entity type argument, as the required features may vary between
components in the cluster.

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 250677c965365edf3ecd24ef73700fc6d992ea42)

11 years agoAvoid extra check for clean object
Haomai Wang [Wed, 21 May 2014 10:12:22 +0000 (18:12 +0800)]
Avoid extra check for clean object

We needn't to check clean object via buffer state, skip the clean object.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
(cherry picked from commit f51e33bd9c5a8e1cfc7065b30785696dc45918bc)

11 years agoMake <poolname> in "ceph osd tier --help" clearer. 1982/head
Accela Zhao [Wed, 18 Jun 2014 09:17:03 +0000 (17:17 +0800)]
Make <poolname> in "ceph osd tier --help" clearer.

The ceph osd tier --help info on the left always says <poolname>.
It is unclear which one to put <tierpool> on the right.

$ceph osd tier --help
osd tier add <poolname> <poolname> {--   add the tier <tierpool> to base pool
force-nonempty}                          <pool>
osd tier add-cache <poolname>            add a cache <tierpool> of size <size>
<poolname> <int[0-]>                     to existing pool <pool>
...

This patch modifies description on the right to tell which <poolname>:

osd tier add <poolname> <poolname> {--   add the tier <tierpool> (the second
 force-nonempty}                          one) to base pool <pool> (the first
                                           one)
...

Fix: http://tracker.ceph.com/issues/8256

Signed-off-by: Yilong Zhao <accelazh@gmail.com>
11 years agoMerge pull request #1962 from dachary/wip-8599-ruleset-firefly
Sage Weil [Mon, 16 Jun 2014 16:25:32 +0000 (09:25 -0700)]
Merge pull request #1962 from dachary/wip-8599-ruleset-firefly

mon: pool set <pool> crush_ruleset must not use rule_exists (firefly)

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: pool set <pool> crush_ruleset must not use rule_exists 1962/head
John Spray [Tue, 20 May 2014 15:50:18 +0000 (16:50 +0100)]
mon: pool set <pool> crush_ruleset must not use rule_exists

Implement CrushWrapper::ruleset_exists that iterates over the existing
rulesets to find the one matching the ruleset argument.

ceph osd pool set <pool> crush_ruleset must not use
CrushWrapper::rule_exists, which checks for a *rule* existing, whereas
the value being set is a *ruleset*. (cherry picked from commit
fb504baed98d57dca8ec141bcc3fd021f99d82b0)

A test via ceph osd pool set data crush_ruleset verifies the ruleset
argument is accepted.

http://tracker.ceph.com/issues/8599 fixes: #8599

Backport: firefly, emperor, dumpling
Signed-off-by: John Spray <john.spray@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoinit-ceph: continue after failure doing osd data mount
Sage Weil [Mon, 9 Jun 2014 03:18:49 +0000 (20:18 -0700)]
init-ceph: continue after failure doing osd data mount

If we are starting many daemons and hit an error, we normally note it and
move on.  Do the same when doing the pre-mount step.

Fixes: #8554
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 6a7e20147cc39ed4689809ca7d674d3d408f2a17)

11 years agoFix for bug #6700
Steve Taylor [Tue, 10 Jun 2014 18:42:55 +0000 (12:42 -0600)]
Fix for bug #6700

When preparing OSD disks with colocated journals, the intialization process
fails when using dmcrypt. The kernel fails to re-read the partition table after
the storage partition is created because the journal partition is already in use
by dmcrypt. This fix unmaps the journal partition from dmcrypt and allows the
partition table to be read.

Signed-off-by: Stephen F Taylor <steveftaylor@gmail.com>
(cherry picked from commit 673394702b725ff3f26d13b54d909208daa56d89)

11 years agodoc: Added Disable requiretty commentary. 1923/head
John Wilkins [Thu, 5 Jun 2014 18:29:20 +0000 (11:29 -0700)]
doc: Added Disable requiretty commentary.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoReplicatedPG::start_flush: fix clone deletion case
Samuel Just [Fri, 16 May 2014 23:56:33 +0000 (16:56 -0700)]
ReplicatedPG::start_flush: fix clone deletion case

dsnapc.snaps will be non-empty most of the time if there
have been snaps before prev_snapc.  What we really want to
know is whether there are any snaps between oi.snaps.back()
and prev_snapc.

Fixes: 8334
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 29f615b7ac9e92f77cdef9927070727fee9d5e33)