Commit Graph

24484 Commits

Author SHA1 Message Date
Josh Durgin
db5fc2270f Merge branch 'wip-4249' into wip-4249-master
Make snap_rollback() only take a read lock on snap_lock, since
it does not modify snapshot-related fields.
Conflicts:
	src/librbd/internal.cc
2013-02-25 12:12:04 -08:00
Josh Durgin
5806226cf0 librbd: drop snap_lock before invalidating cache
Writeback will take the snap_lock, so read everything we need under it
before invalidating the cache. This avoids a recursive lock when writeback
uses snap_lock while snap_rollback() was holding it.

Remove a not-very-useful debugging message that depended on snap_lock being held.

Fixes: #4249
Backport: bobtail
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-25 11:36:58 -08:00
Sage Weil
7f61072ad6 Merge pull request #71 from dalgaaf/wip-da-sca-c_str
fix some c_str() usage

Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-25 09:10:49 -08:00
Sage Weil
35ce9d6374 Merge pull request #72 from dalgaaf/wip-da-comp-sign-unsign
Monitor.cc: fix -Wsign-

Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-25 08:53:22 -08:00
Sage Weil
d1724bfe00 Merge pull request #70 from dalgaaf/wip-da-fix-spec
Add missing files to spec and debian files

Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-25 08:52:26 -08:00
John Wilkins
3fdf439349 doc: Moved admonition to kernel mount.
fixes: #4146

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-25 08:21:11 -08:00
John Wilkins
516935bc23 doc: Added verbiage to describe single host deadlocks.
fixes: #3076

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-25 08:19:58 -08:00
Danny Al-Gaaf
67103a885b Monitor.cc: fix -Wsign-compare
Fix -Wsign-compare, make 'i' unsigned int.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-25 16:38:50 +01:00
Danny Al-Gaaf
cf167a1f30 debian: add new files
Add new (installed) files to debian install files.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-25 15:36:37 +01:00
Danny Al-Gaaf
4b77deb477 ceph.spec.in: add new files
Add new files to spec file since they get installed.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-25 15:34:17 +01:00
Danny Al-Gaaf
6ae10fe7fc Client.cc: don't pass c_str() if std::string is expected
Don't pass c_str() to _lookup(). The function expect a std::string
as second parameter.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-25 15:28:37 +01:00
Danny Al-Gaaf
350481f90f Paxos.h: fix dangerouse use of c_str()
No need to use c_str() in get_statename(), simply return a
std::strin instead.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-02-25 14:10:20 +01:00
Sage Weil
9217c4ac68 debian: make gdisk, parted requirements, not recommendations.
ceph-prepare-disk (and thus ceph-deploy) need this.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-24 13:31:06 -08:00
Sage Weil
0be28af0bb Merge remote-tracking branch 'gh/next' 2013-02-24 13:22:47 -08:00
Neil Levine
35c951f362 Minor wording change.
Signed-off-by: Neil Levine <neil.levine@inktank.com>
2013-02-24 07:24:27 -08:00
Neil Levine
6bae2a5d46 Grammar typo
Signed-off-by: Neil Levine <neil.levine@inktank.com>
2013-02-24 07:24:27 -08:00
Neil Levine
3896896cf4 Changes to the OS support, multi-data center, and hypervisor questions.
Signed-off-by: Neil Levine <neil.levine@inktank.com>
2013-02-24 07:24:21 -08:00
Sage Weil
0cd215ee5b mds: reencode MDSMap in MMDSMap if MDSENC feature is not present
In some cases the MMDSMap message from mon -> client passes from leader ->
peon -> client, and the leader doesn't encode with the correct feature
bits.  As with MMOSDMap, we reencode the nested MDSMap based on the
features if relevant bits are not present.

We forgot to include this with the mds encoding changes.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-23 16:36:52 -08:00
Sage Weil
c07e8ea7dd qa/run_xfstests.sh: use $TESTDIR instead of /tmp/cephtest
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-23 08:38:10 -08:00
Sage Weil
8235b16c1a osd: an interval can't go readwrite if its acting is empty
Let's not forget that min_size can be zero.

Fixes: #4159
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 4277265d99)
2013-02-23 08:34:07 -08:00
Sage Weil
704db85013 mkcephfs: create mon data dir prior to ceph-mon --mkfs
ceph-mon now expects this directory to already exist.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-22 16:24:23 -08:00
John Wilkins
10f50d353e doc: Added a lot of info to OSD troubleshooting.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-22 15:38:20 -08:00
John Wilkins
e68f2c85d3 doc: Added mention of Admin Socket interface and brief description.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-22 15:37:03 -08:00
John Wilkins
73317bd78e doc: Changed title to OSD and PG, indicating both subjects are covered.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-22 15:35:24 -08:00
John Wilkins
ab7039d616 doc: Added references from monitoring OSD to troubleshooting OSD.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-22 15:34:38 -08:00
John Wilkins
97cc738963 doc: set maxdepth to 2, so TOC isn't so long with new OSD troubleshooting.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-02-22 15:33:43 -08:00
Sage Weil
7c94083643 client: use 4MB f_bsize and f_frsize for statfs
Old stat(1) reports:

  Block size: 1048576    Fundamental block size: 1048576

and the df(1) arithmetic works out.  New stat(1) reports:

  Block size: 1048576    Fundamental block size: 4096

which is what we are shoving into statvfs, but we have the b_size and
fr_size arithmetic swapped.  However, doing the *correct* reporting would
then break the old stat by making both sizes appear to be 4KB (or
whatever).

Sidestep the issue by making *both* values 4MB.. which is both large enough
to report large FS sizes, and also the default stripe size and thus a
"reasonable" value to report for a block size.

Perhaps in the future, when we no longer care about old userland, we can
report the page size for f_bsize, which is probably the "most correct"
thing to do.

Fixes: #3794.  See also #3793.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-02-22 15:15:31 -08:00
Sage Weil
64267eb3d8 test/librados/watch_notify: fix warning
In file included from test/librados/watch_notify.cc:8:0:
../src/gtest/include/gtest/gtest.h: In function ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = long unsigned int, T2 = int]’:
../src/gtest/include/gtest/gtest.h:1300:30: instantiated from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = long unsigned int, T2 = int, bool lhs_is_null_literal = false]’
test/librados/watch_notify.cc:67:224: instantiated from here
warning: ../src/gtest/include/gtest/gtest.h:1263:3: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-22 14:57:45 -08:00
Sage Weil
53586e71f3 ceph-object-corpus: re-update
This was set by 9af94eea20, then single
paxos merge, then accidentally reverted by the next commit
6cb53740f2.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-22 14:40:10 -08:00
Samuel Just
2dae6a68ee PG::proc_replica_log: oinfo.last_complete must be *before* first entry in omissing
Fixes: #4189
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-02-22 14:19:55 -08:00
Sage Weil
e4fd70fcec Merge remote-tracking branch 'gh/wip-rbd-flatten-deadlock'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-22 14:23:45 -08:00
Sage Weil
e03657e452 Merge remote-tracking branch 'gh/wip-objecter-fsx'
Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-22 14:16:07 -08:00
David Zafman
d612a9abac Merge branch 'wip-3403-4-rebase'
Feature: #3403

Signed-off-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-02-22 12:50:19 -08:00
Josh Durgin
3105034067 objecter: don't resend linger ops unnecessarily
recalc_linger_op_target() was checking and then setting
linger_op->pgid and linger_op->active, but these were only set by
recalc_linger_op_target(). This was only called by handle_osd_map(),
so the first osdmap after a watch was established would cause a resend
of the watch. Analogous to the normal Op, set this information by
calling recalc_linger_op_target in send_linger().

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-21 23:33:46 -08:00
Josh Durgin
15bb9ba9fb objecter: initialize linger op snapid
Since they are write ops now, it must be CEPH_NOSNAP or the OSD
returns EINVAL.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-21 23:23:02 -08:00
David Zafman
5648117626 Add test for list_watchers() C++ interface
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-02-21 21:50:02 -08:00
David Zafman
1c3241e3bf Add listwatchers command to rados
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-02-21 21:50:02 -08:00
David Zafman
af339aee46 Add ObjectReadOperation and IoCtx functions
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-02-21 21:50:02 -08:00
David Zafman
cfe923920c librados: expose a list of watchers on an object
Add new op CEPH_OSD_OP_LIST_WATCHERS
Add Objecter handling

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-02-21 21:50:02 -08:00
David Zafman
bf5cf3318d Add rados_types.h header file
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-02-21 21:50:01 -08:00
Dan Mick
8c05af5dc3 configuration parsing: give better error for missing =
A ceph.conf line with "key" and no "= value" currently shows
"unexpected character while parsing putative key value,
at char N line M".  There's no reason it can't be clearer.

Fixes: #4229
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-02-21 21:45:27 -08:00
Sage Weil
dc181224ab osd/PG: fix typo, missing -> omissing
From ce7ffc3440.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 17:55:21 -08:00
Josh Durgin
94ae725465 test_librbd_fsx: fix image closing
Always close the image we opened in check_clone(), and check the
return code of the rbd_close() called before cloning.

Refs: #3958
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-02-21 17:39:22 -08:00
Sage Weil
6c08c7c1c6 objecter: separate out linger_read() and linger_mutate()
A watch is a mutation, while a notify is a read.  The mutations need to
pass in a proper snap context to be fully correct.

Also, make the WRITE flag implicit so the caller doesn't need to pass it
in.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 17:31:41 -08:00
Sage Weil
de4fa95f03 osd: make watch OSDOp print sanely
Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 17:31:41 -08:00
Sage Weil
60ebf02a28 Merge branch 'next' 2013-02-21 17:30:46 -08:00
Sage Weil
dd007db3ca ceph_common.sh: fix iteration of items in ceph.conf
This broke in c8f528a407.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-21 17:30:06 -08:00
Dan Mick
6cb53740f2 ceph-conf.rst: missing '=' in example network settings
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-02-21 17:02:17 -08:00
Sage Weil
9af94eea20 Merge remote-tracking branch 'gh/wsp.bobtail.2merge' 2013-02-21 15:45:36 -08:00
Samuel Just
ce7ffc3440 PG::proc_replica_log: adjust oinfo.last_complete based on omissing
Otherwise, search_for_missing may neglect to check the missing
set for some objects assuming that if the need version is
prior to last_complete, the replica must have it.

Fixes: #4994
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-02-21 15:37:14 -08:00