Commit Graph

24238 Commits

Author SHA1 Message Date
Joao Eduardo Luis
cf20ea6e1a mon: Monitor: check for an argument to 'quorum' before reading the array
Fixes: #4218

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-02-26 23:47:51 +00:00
Joao Eduardo Luis
6810111cb7 mon: Monitor: adjust sync start criteria considering a peon's bootstrap
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-02-26 23:47:51 +00:00
Joao Eduardo Luis
d9962cc3dd mon: Paxos: bootstrap if we have fallen behind when we start collecting
Fixes: #4256

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-26 23:47:09 +00:00
Sage Weil
5b468e25b1 mon: fix other debug dumps
These should only kick in at high debug levels.  Moving any "work" between
the dout() and dendl lines puts them inside the magical hidden if block
that makes this code a no-op at low debug.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-26 13:12:08 -08:00
Sage Weil
be31390978 msgr: print dump before asserting (if that is enabled)
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-26 12:38:33 -08:00
Sage Weil
20b093395d msgr: dump corrupt message to log (at high debug levels)
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-26 12:35:06 -08:00
Sage Weil
33d91cce78 Merge remote-tracking branch 'gh/next' 2013-02-26 12:29:35 -08:00
Sage Weil
6d89b34e56 osd: allow (some) log trim when degraded, but not during recovery
We allow some trim during degraded, although we keep more entries around to
improve our chances of a restarting OSD of doing log-based recovery.

Still disallow during recovery...

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-02-26 12:26:43 -08:00
Sage Weil
86df164d04 osd: restructure calc_trim
No functional change, except that we log more debug, yay!

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-02-26 12:26:32 -08:00
Sage Weil
0ba8db6b66 osd: allow pg log trim during (non-classic) scrub
Chunky (and deep) scrub do not care about PG log trimming.  Classic scrub
still does.

Deep scrub can take a long time, so not trimming the log during that period
may eat lots of RAM; avoid that!

Might fix: #4179
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-02-26 12:26:22 -08:00
Sage Weil
dd123333b8 Merge remote-tracking branch 'gh/wip_4257'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-26 12:25:43 -08:00
Sage Weil
c1cffc714e mon: avoid expensive dump unless log will gather
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-26 11:33:47 -08:00
Sage Weil
95a379aa73 ceph_common.sh: tolerate missing mds, mon, osds in conf
With set -e this seems to fail (at least on some machines) if, say, there
is no MDS in the conf file.  This fixes it.

Tested-by: Mark Nelson <mark.nelson@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-26 11:10:44 -08:00
Gary Lowell
95c13bf5c1 Merge branch 'wip-4119'
Fix for bug 4119r, create directories under /var/lib/ceph.
2013-02-26 11:09:16 -08:00
Joe Buck
6bd0969569 testing: updating hadoop-internal test
Small tweaks to the hadoop-internal test
to better use existing environment varaibles
and in response to the recent teuthology
changes.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
2013-02-26 10:53:35 -08:00
Joe Buck
f0ae38043a test: removing dead code
Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-02-26 10:46:55 -08:00
Joe Buck
500602817c test: updating libcephfs-java tests
Recent changes in teuthology necessitate
changes to libcephfs-java test case.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-02-26 10:46:47 -08:00
Sage Weil
455832a7e8 Merge pull request #75 from alram/master
Typo: pool should be root in rados/operations/crush-map.rst

Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-26 10:00:41 -08:00
Alexandre Marangone
dc55c29348 Typo: pool should be root in rados/operations/crush-map.rst
Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
2013-02-26 09:47:58 -08:00
Sage Weil
8f7d56c5a6 Merge pull request #73 from dalgaaf/wip-da-sca-cppcheck-emptiness
fix more emptiness checks 

Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-26 09:00:38 -08:00
Sage Weil
25768c2a8b Merge pull request #74 from dalgaaf/wip-da-sca-misc
mds/journal.cc: fix assert in replay()

Let's see how many bugs this has been hiding... :)

Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-26 08:58:51 -08:00
Danny Al-Gaaf
a6b3cc78c9 mds/journal.cc: fix assert in replay()
Fix assert in replay(), check if mds->sessionmap.version is cmapv
instead of assign cmapv to  mds->sessionmap.version. Add missing
second '='.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 15:21:38 +01:00
Danny Al-Gaaf
88555e7285 KeyValueDBMemory.cc: use empty() instead of size() == 0
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:25:49 +01:00
Danny Al-Gaaf
4059d94a52 ReplicatedPG.cc: use empty() instead of size() == 0
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:19:25 +01:00
Danny Al-Gaaf
a2d842f97b FileStore.cc: use if(!empty()) instead of if(size())
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:16:56 +01:00
Danny Al-Gaaf
e3b27b7b67 mon_store_converter.cc: use empty() instead of size()
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:15:35 +01:00
Danny Al-Gaaf
ed83d4b9df Paxos.cc: use empty() instead of size()
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:13:45 +01:00
Danny Al-Gaaf
14716fd24b Monitor.h: use empty() instead of !size()
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:01:42 +01:00
Danny Al-Gaaf
7a81b07f24 Monitor.cc: use empty() instead of size()
Use empty() since it should be prefered as it has, following the
standard, a constant time complexity regardless of the containter
type. The same is not guaranteed for size().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 11:01:29 +01:00
Gary Lowell
1c8ffc5852 ceph.spec.in: Create placeholder directorys under /var/lib/ceph (Bug 4119)
Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-02-25 23:51:25 -08:00
Gary Lowell
aa79077c24 configure.ac: Add test for c++ compiler.
The AC_PROG_CXX macro sets a flag if a C++ compiler is found
but does not fail if one is not found, it left to application
to test the flags as needed. This fix will issue an error
when a c++ compiler is not found.  Bug 3955.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>

it's not installed, this fix adds an error message for a
2013-02-25 19:35:34 -08:00
Dan Mick
ccdafa067a test_lock_fence.sh, rbdrw.py: rbd lock/fence test
qa/workunits/rbd/test_lock_fence.sh runs using test/rbdrw.py

rbdrw.py creates an image, locks it, and runs an I/O loop;
test_lock_fence.sh runs it, waits, and then blacklists that client,
which causes rbdrw.py to get ESHUTDOWN on operations thereafter.
Currently doesn't work with rbd caching enabled.

rbd.py gets new exception type for ESHUTDOWN

Fixes: #3190
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 18:17:40 -08:00
Sage Weil
1f1427415c Merge remote-tracking branch 'gh/wip-4249-master' 2013-02-25 17:48:16 -08:00
Sage Weil
9096d70642 Merge remote-tracking branch 'gh/wip-4249' into next 2013-02-25 17:48:07 -08:00
Sage Weil
21471c1ef4 Merge remote-tracking branch 'gh/wip-4252' 2013-02-25 17:41:07 -08:00
Sage Weil
98408f5ca4 mon: PaxosService: remove lingering uses of paxos getters and wait methods
We should use the PaxosServices getters, setters, and wait methods when and
wherever possible.  These must have fallen through the cracks during the
merge.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-02-25 16:55:07 -08:00
Josh Durgin
9d472ca75d systest: restrict list error acceptance
Only ignore errors after the midway point if the midway_sem_post is
defined.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 5b24a68b6e)
2013-02-25 16:50:47 -08:00
Josh Durgin
b64d26176a systest: fix race with pool deletion
The second test have pool deletion and object listing wait on the same
semaphore to connect and start. This led to errors sometimes when the
pool was deleted before it could be opened by the listing process. Add
another semaphore so the pool deletion happens only after the listing
has begun.

Fixes: #4147
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit b0271e3905)
2013-02-25 16:50:44 -08:00
Sage Weil
29642d33c3 Merge remote-tracking branch 'gh/wip-4147' 2013-02-25 16:49:37 -08:00
John Wilkins
9e6025b697 doc: Added subnet example and verbiage to network settings.
fixes: #4049

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-25 16:29:57 -08:00
John Wilkins
5e5530be19 doc: Added content to remove REJECT rules from iptables.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-25 16:12:50 -08:00
Josh Durgin
9c693d7e83 test_rbd: move flatten tests back into TestClone
They need the same setup, and it's easy enough to run specific
subtests. Making them a separate subclass accidentally duplicated
tests from TestClone.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 16:09:29 -08:00
Josh Durgin
55bd7687bf qa: enable watch-notify dependent test
This works now that watch-notify has been reworked a bit.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 15:59:48 -08:00
Josh Durgin
345aa2df54 test_rbd: close image before removing it
This error was masked before by watch notify not differentiating
between watches from the same client with different cookies.
Reopen the image at the end of this test so teardown works.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 15:56:00 -08:00
John Wilkins
9ab0fd758a doc: Added a small ref section for osd config reference.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-25 15:28:07 -08:00
John Wilkins
3ef6d5bde1 doc: Updated osd configuration reference.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-25 15:27:09 -08:00
Josh Durgin
5b24a68b6e systest: restrict list error acceptance
Only ignore errors after the midway point if the midway_sem_post is
defined.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 15:02:56 -08:00
Josh Durgin
b0271e3905 systest: fix race with pool deletion
The second test have pool deletion and object listing wait on the same
semaphore to connect and start. This led to errors sometimes when the
pool was deleted before it could be opened by the listing process. Add
another semaphore so the pool deletion happens only after the listing
has begun.

Fixes: #4147
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 14:55:37 -08:00
Josh Durgin
2b7deeea2e qa: output rados test names as they run
So we don't have to figure out which test is running from the output,
which can be difficult with the system tests.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 14:09:44 -08:00
Samuel Just
62999ea2d3 PG,ReplicatedPG: use pg_has_reset_since to discard old async events
Local async events are obsolete if the pg is deleting or if the
epoch at which they were created is prior to last_peering_reset.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-02-25 13:30:11 -08:00