Commit Graph

28442 Commits

Author SHA1 Message Date
Josh Durgin
2184ec1350 Merge branch 'sleinen'
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-25 17:12:53 -07:00
Simon Leinen
c6a7377690 Improve warning message when there are unfound objects, but probing
hasn't finished yet.

Signed-off-by: Simon Leinen <simon.leinen@switch.ch>
2013-08-25 17:12:20 -07:00
Sage Weil
8b1b74598b Merge remote-tracking branch 'gh/next' 2013-08-24 14:12:44 -07:00
Joao Eduardo Luis
96621bdb00 mon: DataHealthService: monitor backing store's size and report it
If the store's size grows beyond what we believe to be reasonable, we must
let the user know that something fishy may be going on.  This intends to
act as an early warning system for monitors suffering from leveldb
compaction issues.  However, if the monitor's store is just growing a lot
due to normal cluster behaviour, we made sure that the warning threshold
is adjustable by tuning 'mon_leveldb_size_warn' (defaulting to 40GB).

Fixes: #5909

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
2013-08-24 14:16:11 +01:00
Joao Eduardo Luis
46fb86aaab mon: mon_types: DataStats: add 'dump(Formatter*)' method
... and use it on DataHealthService.cc, instead of building our own
version of the classes' formatted output.

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
2013-08-24 14:16:11 +01:00
Joao Eduardo Luis
9a1badf160 mon: MonitorDBStore: rely on backing store to provide estimated store size
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
2013-08-24 14:16:11 +01:00
Joao Eduardo Luis
41149c4409 test: ceph_test_store_tool: output estimated store size on 'get-size'
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
2013-08-24 14:16:11 +01:00
Sage Weil
14a483745f Merge pull request #514 from kri5/wip-clang-compilation
Do not use some compilation flag invalid for clang

Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-23 21:21:57 -07:00
Sage Weil
2e1ddbc4a3 Merge pull request #522 from kri5/master
vstart.sh: Allow to run multiple cluster instances.
2013-08-23 21:18:44 -07:00
Sage Weil
4b529c8bce Merge pull request #531 from dmick/wip-6099
ceph_rest_api.py: create own default for log_file

Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-23 15:30:41 -07:00
Sage Weil
51fe5da99c rados-config: do not load ceph.conf
Fixes: #2901
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 15:21:41 -07:00
Sage Weil
cc3249b44a osd/ReplicatedPG: require write payload match length
Hopefully this won't break old clients; I can't think of any.  We *should*
be picky about our requests.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 15:12:18 -07:00
Sage Weil
14a1e6ecd4 osd/ReplicatedPG: verify we have enough data for WRITE and WRITEFULL
Fixes: #2207
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 15:12:18 -07:00
Dan Mick
2031f391c3 ceph_rest_api.py: create own default for log_file
common/config thinks the default log_file for non-daemons should be "".
Override that so that the default is
    /var/log/ceph/{cluster}-{name}.{pid}.log
since ceph-rest-api is more of a daemon than a client.

Fixes: #6099
Backport: dumpling
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-08-23 15:11:03 -07:00
Samuel Just
83c8588807 ReplicatedPG: mark stats invalid when marking unfound lost
Fixes: #3660
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-23 14:57:45 -07:00
Samuel Just
60abe08037 ReplicatedPG: make watch timeout configurable
Fixes: #2354
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-23 14:57:45 -07:00
Sage Weil
7929228d56 osd/OSDCap: allow . for unquoted strings
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 14:56:46 -07:00
Sage Weil
1f573c885c mon/MonCap: allow . in unquoted string
Fixes: #5967
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 14:56:37 -07:00
Sage Weil
e48ef9ea59 librados: make safe and complete callback arguments separate
Fixes: #2914
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 14:56:23 -07:00
David Disseldorp
476e490290 mds: remove waiting lock before merging with neighbours
CephFS currently deadlocks under CTDB's ping_pong POSIX locking test
when run concurrently on multiple nodes.
The deadlock is caused by failed removal of a waiting_locks entry when
the waiting lock is merged with an existing lock, e.g:

Initial MDS state (two clients, same file):
held_locks -- start: 0, length: 1, client: 4116, pid: 7899, type: 2
	      start: 2, length: 1, client: 4110, pid: 40767, type: 2
waiting_locks -- start: 1, length: 1, client: 4116, pid: 7899, type: 2

Waiting lock entry 4116@1:1 fires:
handle_client_file_setlock: start: 1, length: 1,
			    client: 4116, pid: 7899, type: 2

MDS state after lock is obtained:
held_locks -- start: 0, length: 2, client: 4116, pid: 7899, type: 2
	      start: 2, length: 1, client: 4110, pid: 40767, type: 2
waiting_locks -- start: 1, length: 1, client: 4116, pid: 7899, type: 2

Note that the waiting 4116@1:1 lock entry is merged with the existing
4116@0:1 held lock to become a 4116@0:2 held lock. However, the now
handled 4116@1:1 waiting_locks entry remains.

When handling a lock request, the MDS calls adjust_locks() to merge
the new lock with available neighbours. If the new lock is merged,
then the waiting_locks entry is not located in the subsequent
remove_waiting() call because adjust_locks changed the new lock to
include the old locks.
This fix ensures that the waiting_locks entry is removed prior to
modification during merge.

Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-08-23 13:54:43 -07:00
John Wilkins
a816060ed1 doc: Fixed broken link by adding Transitioning to ceph-deploy to this doc.
fixes: 6107

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-08-23 13:43:44 -07:00
Yehuda Sadeh
d8cfe80c0b Merge pull request #495 from kri5/wip-5820
rgw: rgw-admin throw an error when invalid flag is passed

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-23 13:16:16 -07:00
Sage Weil
7372b6a7c8 Merge pull request #533 from ceph/wip-osd-healthy-tuanble
osd: add 'osd heartbeat min healthy ratio' tunable

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-23 12:45:06 -07:00
Yehuda Sadeh
057588f41a Merge pull request #535 from ceph/wip-readdir-r-sucks
Fix readdir_r invocation

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-23 12:00:30 -07:00
Sage Weil
99a2ff7da9 os: make readdir_r buffers larger
PATH_MAX isn't quite big enough.

Backport: dumpling, cuttlefish, bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 11:45:35 -07:00
Sage Weil
2df66d9fa2 os: fix readdir_r buffer size
The buffer needs to be big or else we're walk all over the stack.

Backport: dumpling, cuttlefish, bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 11:45:08 -07:00
Joao Eduardo Luis
7a091d3161 os: KeyValueDB: expose interface to obtain estimated store size
On LevelDBStore, instead of using leveldb's GetApproximateSizes() function,
we will instead assess what's the store's raw size from the contents of
the store dir (this means .sst's, .log's, etc).  The reason behind this
approach is that GetApproximateSizes() would expect us to provide a range
of keys for which to obtain an approximate size; on the other hand, what we
really want is to obtain the size of the store -- not the size of the
data (besides, with the compaction issues we've been seeing, we wonder
how reliable such approximation would be).

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
2013-08-23 19:05:25 +01:00
Sage Weil
fe5010380a mon/Paxos: fix another uncommitted value corner case
It is possible that we begin the paxos recovery with an uncommitted
value for, say, commit 100.  During last/collect we discover 100 has been
committed already.  But also, another node provides an uncommitted value
for 101 with the same pn.  Currently, we refuse to learn it, because the
pn is not strictly > than our current uncommitted pn... even though it is
the next last_committed+1 value that we need.

There are two possible fixes here:

 - make this a >= as we can accept newer values from the same pn.
 - discard our uncommitted value metadata when we commit the value.

Let's do both!

Fixes: #6090
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 10:38:53 -07:00
Yehuda Sadeh
0373d749ce rgw: bucket meta remove don't overwrite entry point first
Fixes: #6056

When removing a bucket metadata entry we first unlink the bucket
and then we remove the bucket entrypoint object. Originally
when unlinking the bucket we first overwrote the bucket entrypoint
entry marking it as 'unlinked'. However, this is not really needed
as we're just about to remove it. The original version triggered
a bug, as we needed to propagate the new header version first (which
we didn't do, so the subsequent bucket removal failed).

Reviewed-by: Greg Farnum <greg@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-23 10:10:57 -07:00
Alfredo Deza
f040020fb2 ceph-disk: specify the filetype when mounting
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-23 08:15:06 -07:00
Sage Weil
f4040238c4 doc/release-notes: v0.67.2
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-23 08:12:46 -07:00
Yehuda Sadeh
12ca952569 Merge pull request #528 from kri5/wip-radosgw-admin-help
rgw: Adds --system option help to radosgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-23 07:17:39 -07:00
Christophe Courtaut
3a4f1ceda5 rgw: Adds --system option help to radosgw-admin
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
2013-08-23 10:22:14 +02:00
Sage Weil
5637516a30 osd: add 'osd heartbeat min healthy ratio' tunable
This was hard-coded to 1/3; make it tunable.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 21:44:31 -07:00
Sage Weil
b003e5fddc Merge pull request #532 from dmick/next
PGMonitor: pg dump_stuck should respect --format (plain works fine)

Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-22 21:34:57 -07:00
Sandon Van Ness
40f43a028e QA: Compile fsstress if missing on machine.
Some distro's have a lack of ltp-kernel packages and all we need is
fstress. This just modified the shell script to download/compile
fstress from source and copy it to the right location if it doesn't
currently exist where it is expected. It is a very small/quick
compile and currently only SLES and debian do not have it already.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-08-22 19:52:16 -07:00
Sandon Van Ness
4b97fcb5c1 QA: Compile fsstress if missing on machine.
Some distro's have a lack of ltp-kernel packages and all we need is
fstress. This just modified the shell script to download/compile
fstress from source and copy it to the right location if it doesn't
currently exist where it is expected. It is a very small/quick
compile and currently only SLES and debian do not have it already.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-08-22 19:44:40 -07:00
Dan Mick
ab4e85da6a PGMonitor: pg dump_stuck should respect --format (plain works fine)
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-08-22 18:53:34 -07:00
Sage Weil
a0f3c643b6 init-ceph: behave if incompletely installed
e.g., Debian 'removed, config remains' state

Fixes: #5695
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 17:59:46 -07:00
Sage Weil
27b0411908 Merge remote-tracking branch 'gh/next' 2013-08-22 17:23:09 -07:00
Greg Farnum
226059e020 MOSDOpReply: set reassert_version for very old clients
I think this must make every sufficiently-old client fail on replay --
very bad!

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-08-22 15:32:48 -07:00
Sage Weil
98583b59aa yasm-wrapper: more futzing to behave on fedora 19
Some new arguments, and behave (return success) when the touch target isn't
specified.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 14:56:21 -07:00
Yehuda Sadeh
3d55534268 rgw: fix crash when creating new zone on init
Moving the watch/notify init before the zone init,
as we might need to send a notification.

Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-22 14:31:06 -07:00
Gary Lowell
5c5980bc84 ceph.spec.in: remove trailing paren in previous commit
Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-08-22 13:30:20 -07:00
Gary Lowell
9b667cef82 ceph.spec.in: Don't invoke debug_package macro on centos.
If the redhat-rpm-config package is installed, the debuginfo rpms will
be built by default.   The build will fail when the package installed
and the specfile also invokes the macro.

Signed-off-by: Gary Lowell  <gary.lowell@inktank.com>
2013-08-22 11:07:16 -07:00
athanatos
67f160eb5a Merge pull request #414 from dachary/wip-5510
replace ObjectContext pointers with shared_ptr

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-08-22 10:24:52 -07:00
Sage Weil
a74247722a Merge pull request #527 from ceph/wip-mon-fix-verbose-output
mon: remove lingering debug output

Reviewed-by: Sage Weil <sage@inktank.com>
2013-08-22 09:17:16 -07:00
Sage Weil
b8a34d6eac Merge pull request #520 from ceph/wip-crc
This is better, faster intel optimized code.

Reviewed-by: Yehuda Sadeh <yehuda.sadeh@inktank.com>
2013-08-22 09:16:19 -07:00
Sage Weil
02e14c7390 Makefile: move all crc code into libcrc.la
This is simpler.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 09:15:05 -07:00
Sage Weil
e55809acd2 crc32c: add intel optimized crc32c implementation
This is from Intel's ISA-L library and licensed under BSD 3-clause.

It needs to build with yasm, which means we go through all sorts of pain
to make this work with libtool:

 - strip out args it doesn't understand with yasm-wrapper
 - detect whether it is recent enough during configure

The code is conditional on:

 - build-time support (yasm)
 - run-time support (sse4.2)

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 09:15:05 -07:00