]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agocommon: ROUND_UP_TO accepts any rounding factor 2328/head
Loic Dachary [Mon, 25 Aug 2014 15:05:04 +0000 (17:05 +0200)]
common: ROUND_UP_TO accepts any rounding factor

The ROUND_UP_TO function was limited to rounding factors that are powers
of two. This saves a modulo but it is not used where it would make a
difference. The implementation is changed so it is generic.

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

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

10 years agomon: fix occasional message leak after session reset
Sage Weil [Thu, 21 Aug 2014 20:05:35 +0000 (13:05 -0700)]
mon: fix occasional message leak after session reset

Consider:

 - we get a message, put it on a wait list
 - the client session resets
 - we go back to process the message later and discard
   - _ms_dispatch returns false, but nobody drops the msg ref

Since we call _ms_dispatch() a lot internally, we need to always return
true when we are an internal caller.

Fixes: #9176
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 19df386b2d36d716be2e6d02de0386fac9e7bc1f)

10 years agoMerge pull request #2298 from dachary/wip-9153-jerasure-upgrade-firefly
Sage Weil [Thu, 21 Aug 2014 17:14:18 +0000 (10:14 -0700)]
Merge pull request #2298 from dachary/wip-9153-jerasure-upgrade-firefly

erasure-code: preload the jerasure plugin variant (sse4,sse3,generic)

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code: preload the jerasure plugin variant (sse4,sse3,generic) 2298/head
Loic Dachary [Thu, 21 Aug 2014 12:41:55 +0000 (14:41 +0200)]
erasure-code: preload the jerasure plugin variant (sse4,sse3,generic)

The preloading of the jerasure plugin ldopen the plugin that is in
charge of selecting the variant optimized for the
CPU (sse4,sse3,generic). The variant plugin itself is not loaded because
it does not happen at load() but when the factory() method is called.

The JerasurePlugin::preload method is modified to call the factory()
method to load jerasure_sse4 or jerasure_sse3 or jerasure_generic as a
side effect.

Indirectly loading another plugin in the factory() method is error prone
and should be moved to the load() method instead. This change should be
done in a separate commit.

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoFix set_alloc_hint op cause KeyValueStore crash problem
Haomai Wang [Tue, 20 May 2014 06:32:18 +0000 (14:32 +0800)]
Fix set_alloc_hint op cause KeyValueStore crash problem

Now KeyValueStore doesn't support set_alloc_hit op, the implementation of
_do_transaction need to consider decoding the arguments. Otherwise, the
arguments will be regarded as the next op.

Fix the same problem for MemStore.

Fix #8381

Reported-by: Xinxin Shu <xinxin.shu5040@gmail.com>
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
(cherry picked from commit c08adbc98ff5f380ecd215f8bd9cf3cab214913c)

10 years agoMerge pull request #2286 from dachary/wip-9153-jerasure-upgrade-firefly
Sage Weil [Wed, 20 Aug 2014 17:10:08 +0000 (10:10 -0700)]
Merge pull request #2286 from dachary/wip-9153-jerasure-upgrade-firefly

erasure-code: preload the jerasure plugin (firefly)

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code: preload the jerasure plugin 2286/head
Loic Dachary [Mon, 18 Aug 2014 23:30:15 +0000 (01:30 +0200)]
erasure-code: preload the jerasure plugin

Load the jerasure plugin when ceph-osd starts to avoid the following
scenario:

* ceph-osd-v1 is running but did not load jerasure

* ceph-osd-v2 is installed being installed but takes time : the files
  are installed before ceph-osd is restarted

* ceph-osd-v1 is required to handle an erasure coded placement group and
  loads jerasure (the v2 version which is not API compatible)

* ceph-osd-v1 calls the v2 jerasure plugin and does not reference the
  expected part of the code and crashes

Although this problem shows in the context of teuthology, it is unlikely
to happen on a real cluster because it involves upgrading immediately
after installing and running an OSD. Once it is backported to firefly,
it will not even happen in teuthology tests because the upgrade from
firefly to master will use the firefly version including this fix.

While it would be possible to walk the plugin directory and preload
whatever it contains, that would not work for plugins such as jerasure
that load other plugins depending on the CPU features, or even plugins
such as isa which only work on specific CPU.

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

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

Conflicts:
src/test/erasure-code/test-erasure-code.sh
src/common/config_opts.h

10 years agoWork around an apparent binding bug (GCC 4.8).
Matt Benjamin [Thu, 29 May 2014 14:34:20 +0000 (10:34 -0400)]
Work around an apparent binding bug (GCC 4.8).

A reference to h->seq passed to std::pair ostensibly could not bind
because the header structure is packed.  At first this looked like
a more general unaligned access problem, but the only location the
compiler rejects is a false positive.

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

10 years agoqa/workunits/rbd/qemu-iotests: touch common.env
Sage Weil [Mon, 18 Aug 2014 03:54:28 +0000 (20:54 -0700)]
qa/workunits/rbd/qemu-iotests: touch common.env

This seems to be necessary on trusty.

Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 055be68cf8e1b84287ab3631a02e89a9f3ae6cca)

10 years agounittest_strtol: fix compilation warning
Joao Eduardo Luis [Fri, 23 May 2014 15:52:08 +0000 (16:52 +0100)]
unittest_strtol: fix compilation warning

Was fixed in master by a4923f5bc373d530d1ffdf6c58a4d88139daedd2

Signed-off-by: Sage Weil <sage@redhat.com>
10 years ago Fix EINVAL err when use "ceph tell osd.* bench"
huangjun [Tue, 17 Jun 2014 05:12:58 +0000 (13:12 +0800)]
  Fix EINVAL err when use "ceph tell osd.* bench"

Signed-off-by: huangjun <hjwsm1989@gmail.com>
(cherry picked from commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595)

10 years agoqa/workunits/cephtool/test.sh: fix get erasure_code_profile test
Ma Jianpeng [Thu, 17 Jul 2014 00:48:34 +0000 (17:48 -0700)]
qa/workunits/cephtool/test.sh: fix get erasure_code_profile test

Manual backport of 4d6899c7560e990650959b442980a7249f0ba4c1

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomon: OSDMonitor: add 'osd pool get-quota' command
Joao Eduardo Luis [Fri, 27 Jun 2014 20:41:18 +0000 (21:41 +0100)]
mon: OSDMonitor: add 'osd pool get-quota' command

Enables us to obtain current quotas for a given pool.

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

10 years agomon: name instead of id in "has tiers" message
John Spray [Tue, 3 Jun 2014 09:12:41 +0000 (10:12 +0100)]
mon: name instead of id in "has tiers" message

Instead of "Pool foo has tiers 1 2" print
"Pool foo has tiers bar baz".

Signed-off-by: John Spray <jspray@redhat.com>
(cherry picked from commit 97772c2f53f726bd71710d0d3e34159d2679390a)

10 years agocommon/config.cc: allow integer values to be parsed as SI units
Joao Eduardo Luis [Fri, 23 May 2014 16:01:38 +0000 (17:01 +0100)]
common/config.cc: allow integer values to be parsed as SI units

We are allowing this for all and any integer values; that is, OPT_INT,
OPT_LONGLONG, OPT_U32 and OPT_U64.

It's on the user to use appropriate units.  For instance, the user should
not use 'E(xabyte)' when setting a signed int, and use his best judgment
when setting options that, for instance, ought to receive seconds.

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

10 years agotest/strtol.cc: Test 'strict_strtosi()'
Joao Eduardo Luis [Fri, 23 May 2014 15:52:08 +0000 (16:52 +0100)]
test/strtol.cc: Test 'strict_strtosi()'

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

10 years agocommon/strtol.cc: strict_strtosi() converts str with SI units to uint64_t
Joao Eduardo Luis [Fri, 23 May 2014 15:51:37 +0000 (16:51 +0100)]
common/strtol.cc: strict_strtosi() converts str with SI units to uint64_t

Accepts values with a suffix (B, K, M, G, T, P, E) and returns the
appropriate byte value.

E.g., 10B = 10, while 10K = 10240.

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

10 years agoceph-disk: linter cleanup
Alfredo Deza [Wed, 13 Aug 2014 19:50:20 +0000 (15:50 -0400)]
ceph-disk: linter cleanup

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

10 years agoceph-disk: warn about falling back to sgdisk (once)
Sage Weil [Wed, 13 Aug 2014 19:00:50 +0000 (12:00 -0700)]
ceph-disk: warn about falling back to sgdisk (once)

This way the user knows something funny might be up if dmcrypt is in use.

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

10 years agoceph-disk: only fall back to sgdisk for 'list' if blkid seems old
Sage Weil [Wed, 13 Aug 2014 18:40:34 +0000 (11:40 -0700)]
ceph-disk: only fall back to sgdisk for 'list' if blkid seems old

If the blkid doesn't show us any ID_PART_ENTRY_* fields but we know it is
a GPT partition, *then* fallback.  Otherwise, don't bother.

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

10 years agoceph-disk: add get_partition_base() helper
Sage Weil [Wed, 13 Aug 2014 18:39:47 +0000 (11:39 -0700)]
ceph-disk: add get_partition_base() helper

Return the base devices/disk for a partition device.

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

10 years agoceph-disk: display information about dmcrypted data and journal volumes
Sage Weil [Wed, 13 Aug 2014 00:26:07 +0000 (17:26 -0700)]
ceph-disk: display information about dmcrypted data and journal volumes

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

10 years agoceph-disk: move fs mount probe into a helper
Sage Weil [Wed, 13 Aug 2014 00:25:42 +0000 (17:25 -0700)]
ceph-disk: move fs mount probe into a helper

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

10 years agoceph-disk: use partition type UUIDs, and blkid
Sage Weil [Wed, 13 Aug 2014 00:25:10 +0000 (17:25 -0700)]
ceph-disk: use partition type UUIDs, and blkid

Use blkid to give us the GPT partition type.  This lets us distinguish
between dmcrypt and non-dmcrypt partitions.  Fake it if blkid doesn't
give us what we want and try with sgdisk.  This isn't perfect (it can't
tell between dmcrypt and not dmcrypt), but such is life, and we are better
off than before.

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

10 years agoceph-disk: fix log syntax error
Sage Weil [Tue, 12 Aug 2014 20:53:16 +0000 (13:53 -0700)]
ceph-disk: fix log syntax error

  File "/usr/sbin/ceph-disk", line 303, in command_check_call
    LOG.info('Running command: %s' % ' '.join(arguments))
TypeError: sequence item 2: expected string, NoneType found

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

10 years agoRevert "Fix for bug #6700"
Sage Weil [Mon, 11 Aug 2014 22:58:15 +0000 (15:58 -0700)]
Revert "Fix for bug #6700"

This reverts commit 673394702b725ff3f26d13b54d909208daa56d89.

This appears to break things when the journal and data disk are *not* the same.
And I can't seem to reproduce the original failure...

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

10 years agoceph-disk: fix verify_no_in_use check
Sage Weil [Mon, 11 Aug 2014 22:57:52 +0000 (15:57 -0700)]
ceph-disk: fix verify_no_in_use check

We only need to verify that partitions aren't in use when we want to
consume the whole device (osd data), not when we want to create an
additional partition for ourselves (osd journal).

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

10 years agobetter error reporting on incompatible device requirements
Alfredo Deza [Thu, 22 May 2014 21:04:28 +0000 (17:04 -0400)]
better error reporting on incompatible device requirements

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 1ac3a503a15ddf7f7c1a33310a468fac10a1b7b6)

10 years agoceph-disk: fix list for encrypted or corrupt volume
Stuart Longland [Tue, 6 May 2014 21:06:36 +0000 (14:06 -0700)]
ceph-disk: fix list for encrypted or corrupt volume

Continue gracefully if an fs type is not detected, either because it is
encrypted or because it is corrupted.

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

10 years agosupport dmcrypt partitions when activating
Alfredo Deza [Fri, 13 Jun 2014 13:37:33 +0000 (09:37 -0400)]
support dmcrypt partitions when activating

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

10 years agoinit-ceph: don't use bashism
Sage Weil [Fri, 15 Aug 2014 23:41:43 +0000 (16:41 -0700)]
init-ceph: don't use bashism

       -z STRING
              the length of STRING is zero

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

10 years agoosd: fix feature requirement for mons
Sage Weil [Fri, 15 Aug 2014 21:28:57 +0000 (14:28 -0700)]
osd: fix feature requirement for mons

These features should be set on the client_messenger, not
cluster_messenger.

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

10 years agounittest_osdmap: test EC rule and pool features
Sage Weil [Fri, 15 Aug 2014 20:54:11 +0000 (13:54 -0700)]
unittest_osdmap: test EC rule and pool features

TODO: tiering feature bits.

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

10 years agounittest_osdmap: create an ec pool in test osdmap
Sage Weil [Fri, 15 Aug 2014 21:04:05 +0000 (14:04 -0700)]
unittest_osdmap: create an ec pool in test osdmap

This is part of 7294e8c4df6df9d0898f82bb6e0839ed98149310.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: only require crush features for rules that are actually used
Sage Weil [Fri, 15 Aug 2014 15:55:10 +0000 (08:55 -0700)]
osd: only require crush features for rules that are actually used

Often there will be a CRUSH rule present for erasure coding that uses the
new CRUSH steps or indep mode.  If these rules are not referenced by any
pool, we do not need clients to support the mapping behavior.  This is true
because the encoding has not changed; only the expected CRUSH output.

Fixes: #8963
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 16dadb86e02108e11a970252411855d84ab0a4a2)

10 years agocrush: add is_v[23]_rule(ruleid) methods
Sage Weil [Fri, 15 Aug 2014 15:52:37 +0000 (08:52 -0700)]
crush: add is_v[23]_rule(ruleid) methods

Add methods to check if a *specific* rule uses v2 or v3 features.  Refactor
the existing checks to use these.

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

10 years agoPGLog: fix clear() to avoid the IndexLog::zero() asserts
Samuel Just [Mon, 30 Jun 2014 20:40:07 +0000 (13:40 -0700)]
PGLog: fix clear() to avoid the IndexLog::zero() asserts

Introduced in:
  c5b8d8105d965da852c79add607b69d5ae79a4d4
  ac11ca40b4f4525cbe9b1778b1c5d9472ecb9efa
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 959f2b25910360b930183fbf469ce984a48542dd)

10 years agomon: fix divide by zero when pg_num adjusted and no osds
Sage Weil [Wed, 13 Aug 2014 20:31:10 +0000 (13:31 -0700)]
mon: fix divide by zero when pg_num adjusted and no osds

Fixes: #9052
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 239401db7b51541a57c59a261b89e0f05347c32d)

10 years agoceph_test_rados_api_tier: fix cache cleanup (ec too)
Sage Weil [Sun, 10 Aug 2014 19:48:29 +0000 (12:48 -0700)]
ceph_test_rados_api_tier: fix cache cleanup (ec too)

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

10 years agoceph_test_rados_api: fix cleanup of cache pool
Sage Weil [Sun, 10 Aug 2014 19:15:38 +0000 (12:15 -0700)]
ceph_test_rados_api: fix cleanup of cache pool

We can't simply try to delete everything in there because some items may
be whiteouts.  Instead, flush+evict everything, then remove overlay, and
*then* delete what remains.

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

10 years agolibrados/TestCase: inheret cleanup_default_namespace
Sage Weil [Sun, 10 Aug 2014 18:41:23 +0000 (11:41 -0700)]
librados/TestCase: inheret cleanup_default_namespace

No need to duplicate this code.

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

10 years agoosd/ReplicatedPG: only do agent mode calculations for positive values
Sage Weil [Wed, 13 Aug 2014 17:34:53 +0000 (10:34 -0700)]
osd/ReplicatedPG: only do agent mode calculations for positive values

After a split we can get negative values here.  Only do the arithmetic if
we have a valid (positive) value that won't through the floating point
unit for a loop.

Fixes: #9082
Tested-by: Karan Singh <karan.singh@csc.fi>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5be56ff86d9f3ab2407a258a5285d0b8f52f041e)

10 years agoMerge pull request #2231 from ceph/wip-8944-firefly
Sage Weil [Wed, 13 Aug 2014 04:15:26 +0000 (21:15 -0700)]
Merge pull request #2231 from ceph/wip-8944-firefly

Wip 8944 firefly

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoOSD: add require_same_peer_inst(OpRequestRef&,OSDMap&) helper
Greg Farnum [Tue, 29 Jul 2014 01:33:56 +0000 (18:33 -0700)]
OSD: add require_same_peer_inst(OpRequestRef&,OSDMap&) helper

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

Conflicts:

src/osd/OSD.cc

10 years agoOSD: introduce require_self_aliveness(OpRequestRef&,epoch_t) function
Greg Farnum [Mon, 28 Jul 2014 21:19:59 +0000 (14:19 -0700)]
OSD: introduce require_self_aliveness(OpRequestRef&,epoch_t) function

Take the self-aliveness checks out of require_same_or_newer_map() and use
the new function for that and for require_up_osd_peer().

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

Conflicts:

src/osd/OSD.cc

10 years agoOSD: use OpRequestRef& for a few require_* functions
Greg Farnum [Mon, 28 Jul 2014 21:08:30 +0000 (14:08 -0700)]
OSD: use OpRequestRef& for a few require_* functions

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

10 years agoOSD: introduce require_up_osd_peer() function for gating replica ops
Greg Farnum [Tue, 22 Jul 2014 23:57:00 +0000 (16:57 -0700)]
OSD: introduce require_up_osd_peer() function for gating replica ops

This checks both that a Message originates from an OSD, and that the OSD
is up in the given map epoch.
We use it in handle_replica_op so that we don't inadvertently add operations
from down peers, who might or might not know it.

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

10 years agoinit-ceph: conditionally update after argparsing
Alfredo Deza [Fri, 8 Aug 2014 14:16:20 +0000 (10:16 -0400)]
init-ceph: conditionally update  after argparsing

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

10 years agomake ceph-disk use the new init flag for cluster
Alfredo Deza [Thu, 7 Aug 2014 15:11:57 +0000 (11:11 -0400)]
make ceph-disk use the new init flag for cluster

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

10 years agoallow passing a --cluster flag to the init script
Alfredo Deza [Thu, 7 Aug 2014 14:48:09 +0000 (10:48 -0400)]
allow passing a --cluster flag to the init script

It will fallback to looking at /etc/ceph/$cluster.conf
otherwise.

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

10 years agouse cluster name when checking the host
Alfredo Deza [Wed, 6 Aug 2014 19:30:30 +0000 (15:30 -0400)]
use cluster name when checking the host

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

10 years agouse name in /var/lib/ceph paths
Alfredo Deza [Wed, 6 Aug 2014 19:30:09 +0000 (15:30 -0400)]
use  name in /var/lib/ceph paths

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

10 years agowhen starting an OSD, pass in the cluster name
Alfredo Deza [Wed, 6 Aug 2014 19:29:42 +0000 (15:29 -0400)]
when starting an OSD, pass in the cluster name

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

10 years agoosd_types: s/stashed/rollback_info_completed and set on create
Samuel Just [Fri, 1 Aug 2014 21:04:35 +0000 (14:04 -0700)]
osd_types: s/stashed/rollback_info_completed and set on create

Originally, this flag indicated that the object had already been stashed and
that therefore recording subsequent changes is unecessary.  We want to set it
on create() as well since operations like [create, writefull] should not need
to stash the object.

Fixes: #8625
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 4260767973d96978e808cb87ef6ae991104b4f8d)

10 years agoosd: use appropriate json types instead of stream when dumping info
Joao Eduardo Luis [Thu, 19 Jun 2014 17:27:49 +0000 (18:27 +0100)]
osd: use appropriate json types instead of stream when dumping info

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

10 years agoosd: have 'tid' dumped as a json unsigned int where appropriate
Joao Eduardo Luis [Thu, 19 Jun 2014 15:52:06 +0000 (16:52 +0100)]
osd: have 'tid' dumped as a json unsigned int where appropriate

Most of the places dumping it would dump it as a string. Others as an int.
Just a couple would dump it as an unsigned int.

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

10 years agorgw: need to pass need_to_wait for throttle_data()
Yehuda Sadeh [Sat, 2 Aug 2014 20:01:05 +0000 (13:01 -0700)]
rgw: need to pass need_to_wait for throttle_data()

need_to_wait wasn't passed into processor->throttle_data(). This was
broken in fix for #8937.

CID 1229541:    (PW.PARAM_SET_BUT_NOT_USED)

Backport: firefly

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

10 years agorgw: Don't send error body when it's a HEAD request
Sylvain Munaut [Thu, 5 Jun 2014 09:28:27 +0000 (11:28 +0200)]
rgw: Don't send error body when it's a HEAD request

The main 'operation' know not to send any body for HEAD requests.

However for errors, this was not the case, the formatter would be
flushed and would send the error 'message' in the body in all cases.

For the FastCGI case it doesn't seem to be an issue, it's possible
that the webserver (apache/lighttpd/...) cleans up the response
into shape.

But when using the new civetweb frontend this cause invalid HTTP.

Backport: firefly
Fixes #8539

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

10 years agoosd: prevent old clients from using tiered pools
Sage Weil [Wed, 30 Jul 2014 20:57:34 +0000 (13:57 -0700)]
osd: prevent old clients from using tiered pools

If the client is old and doesn't understand tiering, don't let them use a
tiered pool.  Reply with EOPNOTSUPP.

Fixes: #8714
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 0190df53056834f219e33ada2af3a79e8c4dfb77)

10 years agomon/OSDMonitor: warn when cache pools do not have hit_sets configured
Sage Weil [Thu, 31 Jul 2014 18:02:55 +0000 (11:02 -0700)]
mon/OSDMonitor: warn when cache pools do not have hit_sets configured

Give users a clue when cache pools are enabled but the hit_set is not
configured.  Note that technically this will work, but not well, so for
now let's just steer them away.

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

NOTE: removed readforward state for backport

10 years agoosd/ReplicatedPG: improve agent_choose_mode args
Sage Weil [Thu, 31 Jul 2014 16:28:12 +0000 (09:28 -0700)]
osd/ReplicatedPG: improve agent_choose_mode args

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

10 years agoosd/ReplicatedPG: evict blindly if there is no hit_set
Sage Weil [Thu, 31 Jul 2014 16:26:03 +0000 (09:26 -0700)]
osd/ReplicatedPG: evict blindly if there is no hit_set

If there is no hit set for a PG, blindly evict objects.  This avoids an
assert(hit_set) in agent_estimate_atime_temp().

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

10 years agoosd/ReplicatedPG: check agent_mode if agent is enabled but hit_sets aren't
Sage Weil [Thu, 31 Jul 2014 16:13:11 +0000 (09:13 -0700)]
osd/ReplicatedPG: check agent_mode if agent is enabled but hit_sets aren't

It is probably not a good idea to try to run the tiering agent without a
hit_set to inform its actions, but it is technically possible.  For
example, one could simply blindly evict when we reach the full point.
However, this doesn't work because the agent mode is guarded by a hit_set
check, even though agent_setup() is not.  Fix that.

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

10 years agocommon/LogClient: fix sending dup log items
Sage Weil [Tue, 12 Aug 2014 14:05:34 +0000 (07:05 -0700)]
common/LogClient: fix sending dup log items

We need to skip even the most recently sent item in order to get to the
ones we haven't sent yet.

Fixes: #9080
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 057c6808be5bc61c3f1ac2b956c1522f18411245)

10 years agoRadosClient: Fixing potential lock leaks.
Pavan Rallabhandi [Wed, 6 Aug 2014 09:40:14 +0000 (15:10 +0530)]
RadosClient: Fixing potential lock leaks.

In lookup_pool and pool_delete, a lock is taken
before invoking wait_for_osdmap, but is not
released for the failure case of the call. Fixing the same.

Fixes: #9022
Signed-off-by: Pavan Rallabhandi <pavan.rallabhandi@sandisk.com>
(cherry picked from commit f1aad8bcfc53f982130dbb3243660c3c546c3523)

10 years agolibrbd: fix error path cleanup for opening an image
Josh Durgin [Mon, 11 Aug 2014 23:41:26 +0000 (16:41 -0700)]
librbd: fix error path cleanup for opening an image

If the image doesn't exist and caching is enabled, the ObjectCacher
was not being shutdown, and the ImageCtx was leaked. The IoCtx could
later be closed while the ObjectCacher was still running, resulting in
a segfault. Simply use the usual cleanup path in open_image(), which
works fine here.

Fixes: #8912
Backport: dumpling, firefly
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 3dfa72d5b9a1f54934dc8289592556d30430959d)

10 years agoMerge remote-tracking branch 'gh/firefly-next' into firefly
Sage Weil [Tue, 12 Aug 2014 21:38:33 +0000 (14:38 -0700)]
Merge remote-tracking branch 'gh/firefly-next' into firefly

10 years agoAdd rbdcache max dirty object option
Haomai Wang [Mon, 14 Jul 2014 06:27:17 +0000 (14:27 +0800)]
Add rbdcache max dirty object option

Librbd will calculate max dirty object according to rbd_cache_max_size, it
doesn't suitable for every case. If user set image order 24, the calculating
result is too small for reality. It will increase the overhead of trim call
which is called each read/write op.

Now we make it as option for tunning, by default this value is calculated.

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

10 years agolibrbd/internal.cc: check earlier for null pointer
Danny Al-Gaaf [Wed, 4 Jun 2014 21:22:18 +0000 (23:22 +0200)]
librbd/internal.cc: check earlier for null pointer

Fix potential null ponter deref, move check for 'order != NULL'
to the beginning of the function to prevent a) deref in ldout() call
and b) to leave function as early as possible if check fails.

[src/librbd/internal.cc:843] -> [src/librbd/internal.cc:865]: (warning)
 Possible null pointer dereference: order - otherwise it is redundant
 to check it against null.

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

10 years agolibrbd: add an interface to invalidate cached data
Josh Durgin [Thu, 24 Apr 2014 21:47:24 +0000 (14:47 -0700)]
librbd: add an interface to invalidate cached data

This is useful for qemu to guarantee live migration with caching is
safe, by invalidating the cache on the destination before starting it.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 5d340d26dd70192eb0e4f3f240e3433fb9a24154)

10 years agolibrbd: check return code and error out if invalidate_cache fails
Josh Durgin [Thu, 24 Apr 2014 21:43:35 +0000 (14:43 -0700)]
librbd: check return code and error out if invalidate_cache fails

This will only happen when shrinking or rolling back an image is done
while other I/O is in flight to the same ImageCtx. This is unsafe, so
return an error before performing the resize or rollback.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit e08b8b66c77be3a3d7f79d91c20b1619571149ee)

10 years agoos/FileStore: dump open fds before asserting
Sage Weil [Sat, 9 Aug 2014 20:23:06 +0000 (13:23 -0700)]
os/FileStore: dump open fds before asserting

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

10 years agoceph_test_rados_api_tier: do fewer writes in HitSetWrite
Sage Weil [Fri, 25 Jul 2014 20:51:45 +0000 (13:51 -0700)]
ceph_test_rados_api_tier: do fewer writes in HitSetWrite

We don't need to do quite so many writes.  It can be slow when we are
thrashing and aren't doing anything in parallel.

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

10 years agoMerge remote-tracking branch 'gh/firefly-next' into firefly
Sage Weil [Sat, 9 Aug 2014 02:05:37 +0000 (19:05 -0700)]
Merge remote-tracking branch 'gh/firefly-next' into firefly

10 years agoqa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon 2231/head
Dan Mick [Wed, 30 Jul 2014 21:50:37 +0000 (14:50 -0700)]
qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon

Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit aa9ae1f270293778aa937e7f7e4bcaee3099b9b2)

10 years agoqa/workunits/cephtool/test_daemon.sh: typo
Dan Mick [Wed, 30 Jul 2014 21:49:02 +0000 (14:49 -0700)]
qa/workunits/cephtool/test_daemon.sh: typo

Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 22d20f39b7355966554319d5a1aa888967607569)

10 years agoqa/workunits/cephtool/test_daemon.sh: allow local ceph command
Dan Mick [Wed, 30 Jul 2014 21:48:28 +0000 (14:48 -0700)]
qa/workunits/cephtool/test_daemon.sh: allow local ceph command

(cherry picked from commit 97a8d5a9fdbd3a25cc922c242ee57da58c57d0bc)

10 years agoceph.in: Pass global args to ceph-conf for proper lookup
Dan Mick [Tue, 29 Jul 2014 04:28:42 +0000 (21:28 -0700)]
ceph.in: Pass global args to ceph-conf for proper lookup

Fixes: #8944
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 6d89a99648630f81b85ad115fe7662dba6b08a55)

10 years agoceph_test_rados_api_tier: fix [EC] HitSet{Read,Write,Trim} tests
Sage Weil [Mon, 14 Jul 2014 15:04:16 +0000 (08:04 -0700)]
ceph_test_rados_api_tier: fix [EC] HitSet{Read,Write,Trim} tests

The hit_set_ fields can only be set on tier pools as of
f131dfbaedf6f451572e7aa3a83f653912122953.

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

10 years agoMerge branch 'wip-8701-firefly' into firefly-next
Samuel Just [Sun, 3 Aug 2014 19:47:23 +0000 (12:47 -0700)]
Merge branch 'wip-8701-firefly' into firefly-next

10 years agoceph_test_objectstore: clean up on finish of MoveRename
Sage Weil [Tue, 22 Jul 2014 13:53:41 +0000 (06:53 -0700)]
ceph_test_objectstore: clean up on finish of MoveRename

Otherwise, we leave collections around, and the next test fails.

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

10 years agoos/LFNIndex: use FDCloser for fsync_dir
Sage Weil [Mon, 21 Jul 2014 20:45:21 +0000 (13:45 -0700)]
os/LFNIndex: use FDCloser for fsync_dir

This prevents an fd leak when maybe_inject_failure() throws an exception.

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

10 years agoos/LFNIndex: only consider alt xattr if nlink > 1
Sage Weil [Sat, 19 Jul 2014 06:16:09 +0000 (23:16 -0700)]
os/LFNIndex: only consider alt xattr if nlink > 1

If we are doing a lookup, the main xattr fails, we'll check if there is an
alt xattr.  If it exists, but the nlink on the inode is only 1, we will
kill the xattr.  This cleans up the mess left over by an incomplete
lfn_unlink operation.

This resolves the problem with an lfn_link to a second long name that
hashes to the same short_name: we will ignore the old name the moment the
old link goes away.

Fixes: #8701
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6fb3260d59faab1e20ebf1e44f850f85f6b8342a)

10 years agoos/LFNIndex: remove alt xattr after unlink
Sage Weil [Sat, 19 Jul 2014 00:28:18 +0000 (17:28 -0700)]
os/LFNIndex: remove alt xattr after unlink

After we unlink, if the nlink on the inode is still non-zero, remove the
alt xattr.  We can *only* do this after the rename or unlink operation
because we don't want to leave a file system link in place without the
matching xattr; hence the fsync_dir() call.

Note that this might leak an alt xattr if we happen to fail after the
rename/unlink but before the removexattr is committed.  We'll fix that
next.

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

10 years agoos/LFNIndex: FDCloser helper
Sage Weil [Mon, 21 Jul 2014 20:43:42 +0000 (13:43 -0700)]
os/LFNIndex: FDCloser helper

Add a helper to close fd's when we leave scope.  This is important when
injecting failures by throwing exceptions.

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

10 years agoos/LFNIndex: handle long object names with multiple links (i.e., rename)
Sage Weil [Sat, 19 Jul 2014 00:09:07 +0000 (17:09 -0700)]
os/LFNIndex: handle long object names with multiple links (i.e., rename)

When we rename an object (collection_move_rename) to a different name, and
the name is long, we run into problems because the lfn xattr can only track
a single long name linking to the inode.  For example, suppose we have

foobar -> foo_123_0 (attr: foobar) where foobar hashes to 123.

At first, collection_add could only link a file to another file in a
different collection with the same name. Allowing collection_move_rename
to rename the file, however, means that we have to convert:

col1/foobar -> foo_123_0 (attr: foobar)

to

col1/foobaz -> foo_234_0 (attr: foobaz)

This is a problem because if we link, reset xattr, unlink we end up with

col1/foobar -> foo_123_0 (attr: foobaz)

if we restart after we reset the attr.  This will cause the initial foobar
lookup to since the attr doesn't match, and the file won't be able to be
looked up.

Fix this by allow *two* (long) names to link to the same inode.  If we
lfn_link a second (different) name, move the previous name to the "alt"
xattr and set the new name.  (This works because link is always followed
by unlink.)  On lookup, check either xattr.

Don't even bother to remove the alt xattr on unlink.  This works as long
as the old name and new name don't hash to the same shortname and end up
in the same LFN chain.  (Don't worry, we'll fix that next.)

Fixes part of #8701
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b2cdfce6461b81f4926602a8c63b54aa92684e6c)

10 years agoceph_test_objectstore: fix warning
Sage Weil [Fri, 18 Jul 2014 22:46:58 +0000 (15:46 -0700)]
ceph_test_objectstore: fix warning

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

10 years agostore_test: add long name collection_move_rename tests
Samuel Just [Tue, 15 Jul 2014 21:50:33 +0000 (14:50 -0700)]
store_test: add long name collection_move_rename tests

Currently fails.

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

Conflicts:
src/test/objectstore/store_test.cc

10 years agoRevert "enforce rados put aligment"
Sage Weil [Sun, 3 Aug 2014 15:40:57 +0000 (08:40 -0700)]
Revert "enforce rados put aligment"

This reverts commit 7a58da53ebfcaaf385c21403b654d1d2f1508e1a.

This was alread backported in dece65064d949b5afcc359cd408615883b5e002a.

Fixes: #8996
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agorgw: fix crash in swift CORS preflight request
Yehuda Sadeh [Tue, 29 Jul 2014 22:25:47 +0000 (15:25 -0700)]
rgw: fix crash in swift CORS preflight request

Fixes: #8586
This fixes error handling, in accordance with commit 6af5a537 that fixed
the same issue for the S3 case.

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

10 years agorgw: fix decoding + characters in URL
devicenull [Fri, 18 Jul 2014 14:25:51 +0000 (10:25 -0400)]
rgw: fix decoding + characters in URL

Fixes: #8702
Backport: firefly

Only decode + characters to spaces if we're in a query argument. The +
query argument.  The + => ' ' translation is not correct for
file/directory names.

Resolves http://tracker.ceph.com/issues/8702

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Brian Rak <dn@devicenull.org>
(cherry picked from commit 4a63396ba1611ed36cccc8c6d0f5e6e3e13d83ee)

10 years agorgw: call processor->handle_data() again if needed
Yehuda Sadeh [Sat, 26 Jul 2014 03:33:52 +0000 (20:33 -0700)]
rgw: call processor->handle_data() again if needed

Fixes: #8937
Following the fix to #8928 we end up accumulating pending data that
needs to be written. Beforehand it was working fine because we were
feeding it with the exact amount of bytes we were writing.

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

Conflicts:
src/rgw/rgw_rados.h

10 years agorgw: object write should not exceed part size
Yehuda Sadeh [Thu, 24 Jul 2014 22:30:27 +0000 (15:30 -0700)]
rgw: object write should not exceed part size

Fixes: #8928
This can happen if the stripe size is not a multiple of the chunk size.

Backport: firefly

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

10 years agorgw: align object chunk size with pool alignment
Yehuda Sadeh [Tue, 22 Jul 2014 22:30:11 +0000 (15:30 -0700)]
rgw: align object chunk size with pool alignment

Fixes: #8442
Backport: firefly
Data pools might have strict write alignment requirements. Use pool
alignment info when setting the max_chunk_size for the write.

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

Conflicts:
src/rgw/rgw_rados.cc

10 years agocls_rgw: fix object name of objects removed on object creation
Yehuda Sadeh [Wed, 30 Jul 2014 18:53:16 +0000 (11:53 -0700)]
cls_rgw: fix object name of objects removed on object creation

Fixes: #8972
Backport: firefly, dumpling

Reported-by: Patrycja Szabłowska <szablowska.patrycja@gmail.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 0f8929a68aed9bc3e50cf15765143a9c55826cd2)

10 years agoMerge remote-tracking branch 'origin/wip-8438' into firefly-next
Samuel Just [Sat, 2 Aug 2014 18:28:14 +0000 (11:28 -0700)]
Merge remote-tracking branch 'origin/wip-8438' into firefly-next

Backport of c5b8d8105d965da852c79add607b69d5ae79a4d4

10 years agoMerge remote-tracking branch 'origin/wip-7999' into firefly-next
Samuel Just [Sat, 2 Aug 2014 18:22:47 +0000 (11:22 -0700)]
Merge remote-tracking branch 'origin/wip-7999' into firefly-next

Backport of 830940bf242a73403ec1882a489e31f7694b7f7e

10 years agounittest_crush_wrapper: fix build
Sage Weil [Tue, 29 Jul 2014 00:17:23 +0000 (17:17 -0700)]
unittest_crush_wrapper: fix build

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

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 agomon: s/%%/%/
Sage Weil [Wed, 30 Jul 2014 19:26:44 +0000 (12:26 -0700)]
mon: s/%%/%/

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