Commit Graph

28991 Commits

Author SHA1 Message Date
Loic Dachary
7bbadf1959 mailmap: add Matthew Roy, Matthew Wodrich
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-25 19:46:27 +02:00
Sage Weil
c8cae87e9e qa/workunits/mon/crush_ops.sh: fix test
Fix root.

Fixes: #6392
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-25 10:10:21 -07:00
Sage Weil
60d541d36d Merge pull request #615 from dachary/wip-jerasure-copy
ErasureCode: get rid of extra copy when encoding

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-25 09:31:58 -07:00
Sage Weil
cea343d078 Merge pull request #634 from dachary/master
git: consolidate mails in commit logs

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-25 09:23:48 -07:00
Sage Weil
81e571fb95 Merge pull request #636 from dachary/wip-get_command_description
autoconf: remove get_command_descriptions  dependency to gtest

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-25 09:23:21 -07:00
Loic Dachary
812234cb09 ErasureCode: get rid of extra copy when encoding
The substr_of bufferlist method is used to reduce the copies to the
strict minimum. It is both able to split bufferptr when they are larger
than a chunk and to concatenate them when they are smaller.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-25 16:26:49 +02:00
Loic Dachary
2422b2aefb autoconf: remove get_command_descriptions dependency to gtest
It is not required and a leftover of the time when it was a unit test
which was a mistake to begin with. It has been reported to create
dependencies problems in some cases, when gest is not available at the
time get_command_descriptions is compiled.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-25 14:11:19 +02:00
Loic Dachary
04c7207aaa git: consolidate mails in commit logs
Map duplicate mails / names in commit logs to a single canonical names.
Useful to report to management with git shortlog -nes

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-25 08:07:57 +02:00
Sage Weil
952b39d4c4 Merge remote-tracking branch 'gh/next'
Conflicts:
	src/osd/ReplicatedPG.cc
2013-09-24 21:46:47 -07:00
David Zafman
c9e7e2f750 Merge pull request #633 from ceph/wip-repop-leaks
fix a copule of leaks of RepGather structs

Reviewed-by: David Zafman <david.zafman@inktank.com>
2013-09-24 15:39:26 -07:00
John Wilkins
ac0faaa359 doc: Removed service ops language and added reference to operations.
fixes: #6374

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-09-24 15:26:35 -07:00
Sage Weil
3de32562b5 mon/OSDMonitor: fix 'ceph osd crush reweight ...'
The adjust method returns a count of adjusted items.

Add a test.

Fixes: #6382
Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-09-24 15:26:03 -07:00
Sage Weil
0061363e34 Merge pull request #477 from jpfrancois/patch-1
Fix for Swift key command
2013-09-24 15:22:56 -07:00
Sage Weil
1c12eefcb5 osd/ReplicatedPG: fix leak of RepGather on watch timeout
new_repop() gives us a ref; we need to release it, just as we do in
execute_ctx().

Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-24 13:49:59 -07:00
Sage Weil
1d67e1521c osd/ReplicatedPG: fix leak of RepGather on large-object COPY_FROM
new_repop() gives us a ref; we need to release it, just as we do in
execute_ctx().

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-24 13:48:43 -07:00
Sage Weil
afa2468ead ceph_test_rados: order racing read wrt to the COPY_FROM
The prevents:

 - send COPY_FROM, blocks on recovering object
 - send stat, procedes to return old object version
 - COPY_FROM succeeds with new version
   -> fail

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-24 12:48:09 -07:00
Sage Weil
3faf08f5f9 librados: add OPERATION_ORDER_READS_WRITES flag
This maps to the internal RWORDERED option, which indicates that a read
should be ordered the same way a write is.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-24 12:48:07 -07:00
Sage Weil
9322305c80 osd/ReplicatedPG: respect RWORDERED rados flag
If this flag is set, we need to order reads as writes.  In particular, this
means that reads will wait for degraded object recovery even if there is a
local copy.  And subsequently will be ordered after a preceding write that
is waiting for the same thing.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-24 12:37:10 -07:00
Loic Dachary
f6510c7665 osd: change warn_interval_multiplier to uint32_t
to prevent overflow in OpTracker::check_ops_in_flight when
multiplying warn_interval_multiplier *= 2

Backport: cuttlefish, dumpling

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

Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 1bce1f009b)
2013-09-24 10:27:48 -07:00
Sage Weil
b0fee96078 Merge pull request #630 from dachary/master
osd: change warn_interval_multiplier to uint32_t

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-24 10:27:05 -07:00
Sage Weil
84e1f09626 arch/intel: fix old comment
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-24 10:18:44 -07:00
Sage Weil
366b608f54 arch/intel: use intel probe instructions for x86_64 only
Not LP64, which includes ppc64 and clearly does not build.

Fixes: #6283
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-24 10:17:37 -07:00
Loic Dachary
1bce1f009b osd: change warn_interval_multiplier to uint32_t
to prevent overflow in OpTracker::check_ops_in_flight when
multiplying warn_interval_multiplier *= 2

Backport: cuttlefish, dumpling

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

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-24 19:12:35 +02:00
Sage Weil
2cbe93b840 Merge pull request #628 from dachary/wip-erasure-fix-thread-test
ErasureCode: fix plugin loading threaded test

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-24 08:42:49 -07:00
Yehuda Sadeh
e1d7c32d8a Merge pull request #627 from dachary/master
rgw: fix rgw test to reflect usage change

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-24 07:38:36 -07:00
Loic Dachary
4bc18189b1 ErasureCode: fix plugin loading threaded test
The TEST_F(ErasureCodePluginRegistryTest, factory_mutex) was bugous and
only succeeded by chance. The sleep was on the factory constructor which
was never called. An erasure code plugin that hangs forever on load is
created instead.

The sleep_forever.detach is replaced by pthread_cancel to interrupt the
thread that hangs forever. If not, gtest will try to join the thread and
never exit.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-24 16:07:31 +02:00
Loic Dachary
e50343e442 rgw: fix rgw test to reflect usage change
otherwise src/test/cli/radosgw-admin/help.t fails when running make
check when run after a configure --with-radosgw

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-24 08:05:38 +02:00
Sage Weil
08c386f542 Merge pull request #588 from dachary/wip-6274
mon: unit tests to protect against some MonCommands.h typos
2013-09-23 16:42:26 -07:00
Sage Weil
abb88d7064 osd: revert 'osd max xattr size' limit
Set it to 0 (unlimited) for now.

Backport: dumpling

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-09-23 16:23:33 -07:00
Sage Weil
286a699190 Merge pull request #566 from ceph/wip-purge-stray
Fixes for purging stray

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-23 16:16:48 -07:00
Gregory Farnum
6200eeca59 Merge pull request #591 from ceph/wip-misc
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-23 15:48:04 -07:00
Greg Farnum
7741de0ba4 Merge branch 'master' of github.com:ceph/ceph 2013-09-23 15:41:14 -07:00
Sage Weil
1425119b9a Merge pull request #625 from ceph/wip-warn-pg
mon: warn when pg_num is too low or appears out of whack wrt the cluster size

Reviewed-by: Greg Farnum <greg@inktank.com>
2013-09-23 15:40:14 -07:00
Greg Farnum
73289b34b0 mds: be more careful about decoding LogEvents
We need to wrap the full decode section or we can abort the process
if there's an issue (which we may want to just skip by).

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-23 15:31:56 -07:00
Sage Weil
816cbbfea3 Merge pull request #619 from dachary/wip-erasure-pad
ErasureCode: optimize padding calculation 

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-23 15:14:22 -07:00
Loic Dachary
c32c51a3f3 ErasureCode: optimize padding calculation
Andreas-Joachim Peters pointed out that the ErasureCodeJerasure method
pad_in_length is very inefficient for no reason. It is replaced by the
alignment method and the calculation is inlined in the encode method.

Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-24 00:08:36 +02:00
Sage Weil
60e9e85461 vstart: set 'mon pg min per osd'
We need to tweak this since we create relatively few pgs per osd.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-23 14:57:23 -07:00
Sage Weil
befdcfd658 mon/PGMonitor: health warn if pool has relatively high objects/pg
If there is a pool that has a high objects/pg relative to the rest of the
cluster, warn, as this suggests this particular pool may have too few
PGs.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-23 14:57:22 -07:00
Sage Weil
a684ac8220 mon/PGMonitor: health warn if pg_num != pgp_num
Users need to adjust pg_num *and* pgp_num for split but may forget to do
both.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-23 14:56:48 -07:00
Sage Weil
dc7114e060 mon: warn if pg to osd ratio is too low
If there are not enough PGs relative to the number of in osds, warn.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-23 14:56:45 -07:00
Loic Dachary
97471e333e ErasureCode: coding style conformance
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:52:50 +02:00
Loic Dachary
bfd4db2525 ceph_argparse: unit tests for validate_command config-key
http://tracker.ceph.com/issues/6274 refs #6274

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
fa396d9461 ceph_argparse: unit tests for validate_command osd
http://tracker.ceph.com/issues/6274 refs #6274

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
c09d01c210 ceph_argparse: unit tests for validate_command mon
http://tracker.ceph.com/issues/6274 refs #6274

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
0ff003065c ceph_argparse: unit tests for validate_command mds
http://tracker.ceph.com/issues/6274 refs #6274

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
00d15049ea ceph_argparse: unit tests for misc validate_command
Contrary to all other classes, this series of command ( Monitor ) does
not have a common prefix.

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

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
253e53f41a ceph_argparse: unit tests for validate_command auth
http://tracker.ceph.com/issues/6274 refs #6274

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
d3bf39e761 ceph_argparse: unit tests for validate_command pg
http://tracker.ceph.com/issues/6274 refs #6274

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
1d54754c48 pybind: ceph_argparse unit tests foundations
The general idea is to have a series of commands, in the same order as
they show in mon/MonCommands.h, as if they were input to the ceph
client. For each command a valid combination is verified. And at least
one validation error is checked to produce a validation error. For
instance:

    ['pg', 'stat']

is a valid command and the validate_command function is expected to
return a value that is not None or {}. The command

    ['pg', 'stat', 'toomany' ]

is also given to validate_command to check that an error occurs when
an extra argument is given.

The TestArparse class implements a few methods to reduce the verbosity
of the tests. It does not provide many methods : only those that
significantly reduce the verbosity have been implemented. The drawback
of writing too many convenience methods is that they are more difficult
to read and maintain.

The signature dictionary is made a global variable so that
it is only extracted once for all classes. It is immutable.

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

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:44 +02:00
Loic Dachary
f9c7bc697c pybind: catch EntityAddress missing /
If the / is missing in an EntityAddress, an ArgumentValid exception must
be raised so that it can be caught in the same way other argument
validation exceptions are.

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

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2013-09-23 23:46:43 +02:00