Commit Graph

32416 Commits

Author SHA1 Message Date
Sage Weil
513e4ad8ec Merge remote-tracking branch 'gh/firefly' 2014-03-20 10:42:26 -07:00
Samuel Just
048ca96c4d Merge pull request #1509 from guangyy/wip-folder-merge
Make it possible for FileStore to be in a state which never do merge and keep it backward compatible

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-03-20 10:13:05 -07:00
Sage Weil
d1f8742db1 Merge pull request #1506 from ceph/wip-7755
PG::find_best_info: fix log_tail component

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-20 09:24:26 -07:00
Sage Weil
b395cb1951 Merge pull request #1507 from ceph/wip-7733
PG::start_peering_interval: always send_notify if !primary

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-20 09:19:58 -07:00
Sage Weil
bf68dabaaa Merge pull request #1508 from ceph/wip-7777
ReplicatedPG::do_op: delay if snapdir is unreadable

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-20 09:19:10 -07:00
Josh Durgin
cffcf10ff6 Merge pull request #1312 from cernceph/master
rados.py: add aio_remove

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-03-19 11:00:58 -07:00
Josh Durgin
c647a03fff Merge pull request #1504 from ceph/wip-7780
objecter: waive OSDMAP_FULL check for MDS

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-03-19 10:47:05 -07:00
Samuel Just
72093f97a9 Merge pull request #1476 from ceph/wip-scrub-lock
osd: do not queue scrub for non-primary

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-03-19 10:46:32 -07:00
Josh Durgin
cb744ca382 Merge pull request #1502 from ceph/wip-flush-journal-asok
wip-flush-journal-asok

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-03-19 10:40:47 -07:00
John Spray
78ede90c4e objecter: waive OSDMAP_FULL check for MDS
The MDS expects to be able to perform writes to OSDs even
if the full ratio has been reached, in order to journal
file deletions to free space.

Fixes: #7780

Signed-off-by: John Spray <john.spray@inktank.com>
2014-03-19 16:22:37 +00:00
Ilya Dryomov
a4849fb914 qa: test_alloc_hint: flush journal before prodding the FS
OSDs that for some reason get behind on processing their op queue break
expect_alloc_hint_eq(), as it pokes the FS and not the journal.  Fix it
by flushing the journal before proceeding with anything else.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-03-19 10:59:27 +02:00
Ilya Dryomov
9d31c1be1f osd: add flush_journal admin socket command
Add flush_journal admin socket command to be able to flush journal to
the permanent store for online osds.  (For offline osds we already have
ceph-osd --flush-journal.)

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-03-19 10:59:26 +02:00
Yan, Zheng
002c7e7544 Merge pull request #1496 from ceph/wip-7708
mds/Locker: fix null deref on cap import
2014-03-19 12:25:05 +08:00
Sage Weil
328941383f Merge pull request #1499 from ceph/wip-no-version
Add NO_VERSION to avoid rebuilding ceph_ver.h and relinking

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-18 21:03:01 -07:00
Sage Weil
5dd270e862 Merge pull request #1498 from ceph/wip-limit-libkeyutils
Makefiles: remove libkeyutils from every binary except two

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-18 21:01:13 -07:00
Dan Mick
b227426838 Add NO_VERSION to avoid rebuilding ceph_ver.h and relinking
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-03-18 19:05:19 -07:00
Dan Mick
cfb04b2a22 Makefiles: remove libkeyutils from every binary except two
Only rbd and mount_ceph need secret.c, and only secret.c needs libkeyutils;
remove it from LIBCOMMON_DEPS so it's not a dependency for everything,
remove secret.c from libcommon.a, and add it to mount.ceph/rbd's sources;
add LIBKEYID_LIB to mount.ceph/rbd's LDADD.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-03-18 19:04:41 -07:00
Loic Dachary
381850b161 Merge pull request #1497 from dachary/wip-jerasure
remove gf-complete / jerasure sub modules

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-19 00:56:36 +01:00
Loic Dachary
e9eb641fc7 remove gf-complete / jerasure sub modules
and add the source files in the tree.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-19 00:28:17 +01:00
Sage Weil
8b77995f00 Merge pull request #1494 from dachary/wip-gitmodule-mirrors
build: add gf-complete/jerasure to gitmodule_mirrors
2014-03-18 15:59:26 -07:00
Samuel Just
fdcf3eb45a ReplicatedPG::do_op: delay if snapdir is unreadable
Since all we really need on a snapdir is the context, we really only
need it to be !missing.  However, it might become !missing before it
becomes !unreadable.  That allows ops to end up in the
waiting_for_degraded queue before one in waiting_for_unreadable is
woken, which allows the ops to be reordered.  Rather than reintroduce an
extra waiting_for_missing queue, simply require !unreadable for snapdir
(which implies !misssing).

Fixes: #7777
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-03-18 15:47:46 -07:00
João Eduardo Luís
362d370dd8 Merge pull request #1125 from ceph/wip-mon-docs
wip-mon-docs: Better explain required number of monitors & how to troubleshoot a monitor

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
2014-03-18 22:26:34 +00:00
Sage Weil
7f7a9988ff mds/Locker: fix null deref on cap import
The session Connection* may be NULL.

Fixes: #7708
Signed-off-by: Sage Weil <sage@inktank.com>
2014-03-18 14:54:26 -07:00
Loic Dachary
4221e0dd25 build: add gf-complete/jerasure to gitmodule_mirrors
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 22:04:13 +01:00
Sage Weil
f1e3bc9a9b doc/dev/cache-pool: describe the tiering agent
Signed-off-by: Sage Weil <sage@inktank.com>
2014-03-18 13:09:29 -07:00
Samuel Just
d7284268f9 PG::start_peering_interval: always send_notify if !primary
Otherwise, we might get into a situation where the primary
forgets about a stray pg.  This is simpler and does not
increase the number of notifies by much.

Fixes: #7733
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-03-18 12:35:03 -07:00
Samuel Just
b4420ffbf8 PG::find_best_info: fix log_tail component
The previous logic should have kept the current best info if it found a
replica which best could log-recover, but p couldn't.  However, the
continue in that loop advanced the inner loop instead of the outer loop
allowing the primary case to take over in cases where best had a longer
tail.  Instead, we will prefer the longer tail regardless of the other
infos to simplify the logic.

Fixes: #7755
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-03-18 12:09:09 -07:00
Alfredo Deza
06bfdfc9dd Merge pull request #1491 from dachary/wip-submodules
erasure-code: jerasure and gf-complete moved to ceph namespace

Reviewed-by:  Alfredo Deza <alfredo.deza@inktank.com>
2014-03-18 14:07:09 -04:00
Loic Dachary
1ddae7e2cc erasure-code: jerasure and gf-complete moved to ceph namespace
for maintenance purposes

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 19:00:21 +01:00
Sage Weil
f8632699b1 Merge pull request #1490 from ceph/wip-6806
mon: Properly handle errors from 'cmd_getval()' when needed

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-18 10:49:28 -07:00
Joao Eduardo Luis
01a0f2d3b7 mon: OSDMonitor: don't rely on client-side validation for command arguments
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-03-18 16:35:59 +00:00
Joao Eduardo Luis
074c880830 mon: Monitor: handle invalid 'quorum' command argument
Don't rely on client side validation of possible command arguments.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-03-18 16:35:59 +00:00
Joao Eduardo Luis
652056edc0 mon: Properly handle errors from 'cmd_getval()' when needed
Not handling the error return from cmd_getval() may leave uninitialzied
values, which can cause issues, specially with non-string values.

Fixes: 6806

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-03-18 16:35:59 +00:00
Loic Dachary
fcbacff7f9 Merge pull request #1489 from dachary/wip-7757
erasure-code: disable SSE extensions

Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
2014-03-18 15:47:11 +01:00
Loic Dachary
543c642b1a erasure-code: disable SSE extensions
Until jerasure-2 / gf-complete is able to detect them at runtime.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 15:46:22 +01:00
Loic Dachary
bd12d376b8 Merge pull request #1488 from dachary/wip-jerasure-2
erasure-code: update jerasure v2 submodule

Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
2014-03-18 15:45:49 +01:00
Loic Dachary
1c5411a75f erasure-code: update gf-complete v1 submodule
Point to https://bitbucket.org/dachary/gf-complete/branch/v1 which
aggregates the pending pull requests required by Ceph while they are
reviewed.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 11:39:43 +01:00
Loic Dachary
d5e38d4ab3 erasure-code: update jerasure v2 submodule
to include the latest compilation warning fixes.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 09:50:20 +01:00
Sage Weil
7bc9ade26b Merge pull request #1384 from dachary/wip-7599
upgrade jerasure to version 2

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-17 20:52:57 -07:00
Sage Weil
390f57b4cd Merge pull request #1486 from ceph/wip-cli-err
ceph.in: Better error on bad arg to 'tell'

Reviewed-by: Dan Mick <dan.mick@inktank.com>
2014-03-17 20:51:00 -07:00
Sage Weil
e26ad1351b Merge pull request #1479 from ceph/wip-rados-outfile
tools/rados: Allow binary file output of omap data

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-17 18:41:18 -07:00
Sage Weil
d0975d17fa Merge pull request #1480 from ceph/wip-remotebit-dump
mds: Fix remotebit::dump for less common types

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-17 18:39:48 -07:00
Sage Weil
27ed656919 Merge pull request #1477 from dachary/wip-erasure-code-profiles
replace properties with erasure code profiles

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-17 16:26:53 -07:00
Loic Dachary
eac224a4ab doc: update the erasure-code dev documentation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00
Loic Dachary
b273011874 osd,mon: use profile instead of properties
The qa and functional tests are adapted to the new command prototype
requiring a profile instead of a list of properties. When possible the
implicit ruleset creation is used to simplify the test setup.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00
Loic Dachary
8cf85f046e mon: add osd crush create-erasure functional tests
Cleanup the TEST_crush_rule_all function from redundant leftovers.
Explicitly test crush rule rm instead of implicitly.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00
Loic Dachary
b85330eb1d osd: create the erasure-code ruleset in OSDMap::build_simple
Using the "default" profile, add the matching erasure-code ruleset.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00
Loic Dachary
5c1db3b69b osd: create erasure_code_profile in OSDMap::build_simple
The "default" erasure_code_profile is set by OSDMap::build_simple using
the osd_pool_default_erasure_code_profile default configuration option.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00
Loic Dachary
f8aa1edae8 mon: set the profile and ruleset defaults early
The poolstr is removed from the prepare_pool_crush_ruleset prototype
because it no longer decides for the default ruleset, if it is not
omitted by the caller of osd pool create.

If no profile
  profile = default
If no ruleset and profile is default
  ruleset = erasure-code
If no ruleset and profile is not default
  ruleset = the name of the pool

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00
Loic Dachary
5774344756 mon: add crush ruleset name to osd pool create
The ruleset to be used for the new erasure coded pool was expected in
the properties, under the name crush_ruleset. It does not belong to the
erasure code profile and needs to be added to the prototype explicitly.

The crush ruleset name is added to the prototype of the prepare_new_pool
and prepare_pool_crush_ruleset methods.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 00:23:42 +01:00