Commit Graph

24750 Commits

Author SHA1 Message Date
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
Josh Durgin
f58601d681 librbd: fix rollback size
The duplicate calls to get_image_size() and get_snap_size() replaced
by 5806226cf0 uncovered this. The first
call was using the currently set snap_id instead of the snapshot being
rolled back to.

Fixes: #4272
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-26 14:55:11 -08:00
Sage Weil
c8dd2b67b3 msg: fix entity_addr_t::is_same_host() for IPv6
We weren't checking the memcmp return value properly!  Aie...

Backport: bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-26 14:07:12 -08: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
Danny Al-Gaaf
12740642c2 CephBroker.cc: fix condition
from cppcheck:
 Fix Suspicious condition (assignment + comparison); Clarify
 expression with parentheses.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 19:51:03 +01: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
Danny Al-Gaaf
4ce3461659 Client.cc: reduce the scope of some variables
Reduce the scope of some variables.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 19:31:02 +01:00
Danny Al-Gaaf
60b9b10873 Client.cc: use static_cast instead of C-Style cast
Use static_cast<T>() instead of C-Style cast.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 19:18:58 +01: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
Danny Al-Gaaf
26e8577d29 Paxos.h: pass string name function parameter by reference
Pass 'const string name' function parameter by reference.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 18:50:13 +01: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
ef20382d02 osd/ReplicatedPG.cc: remove unused variables
Remove unused variable declarations.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 16:27:22 +01:00
Danny Al-Gaaf
fd5ce75b87 osd_types.cc: add parenthesis around expression
Add parenthesis around expressions like (x && y & z).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 16:24:46 +01:00
Danny Al-Gaaf
c0da0e122d OSDMap.cc: add parenthesis around expression
Add parenthesis around expressions like (x && y & z).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 16:23:25 +01:00
Danny Al-Gaaf
83eadd894c PGMonitor.cc: add parenthesis around expression
Add parenthesis around expressions like (x && y & z).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 16:13:09 +01:00
Danny Al-Gaaf
43e2b51a1e Client.cc: add parenthesis around expression
Add parenthesis around expressions like (x && y & z).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 16:03:19 +01:00
Danny Al-Gaaf
d783f95c20 CephxProtocol.cc: catch end_of_buffer by reference
Follow 'Throw by value, catch by reference' to void copying and
potential slicing the exception.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 15:56:03 +01:00
Danny Al-Gaaf
bf10e5e948 CephxProtocol.cc: catch error by reference
Follow 'Throw by value, catch by reference' to void copying and
potential slicing the exception.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 15:54:19 +01:00
Danny Al-Gaaf
d0e48ebb35 crushtool.cc: remove unneeded function declaration
Remove unneeded function declarations (data_analysis() is unused and
usage() is not needed).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-26 15:47:05 +01: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