]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoMerge pull request #882 from ceph/wip-6699
Sage Weil [Mon, 2 Dec 2013 18:19:30 +0000 (10:19 -0800)]
Merge pull request #882 from ceph/wip-6699

sysvinit, upstart: use df -P when weighting new OSDs

Reviewed-by: Noah Watkins <noah.watkins@inktank.com>
11 years agoMerge pull request #876 from javacruft/wip-missed-module
Sage Weil [Mon, 2 Dec 2013 18:10:45 +0000 (10:10 -0800)]
Merge pull request #876 from javacruft/wip-missed-module

Mark libcls_kvs as a module

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #841 from ceph/wip-crush-chassis
Sage Weil [Mon, 2 Dec 2013 17:59:39 +0000 (09:59 -0800)]
Merge pull request #841 from ceph/wip-crush-chassis

osd/OSDMap: add 'chassis' to default type hierarchy

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #883 from idryomov/wip-readme
Sage Weil [Mon, 2 Dec 2013 17:24:41 +0000 (09:24 -0800)]
Merge pull request #883 from idryomov/wip-readme

README: update a list of build deps for rpm-based systems

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoosd/OSDMap: add region, pdu, pod types while we are at it 841/head
Sage Weil [Mon, 2 Dec 2013 16:31:23 +0000 (08:31 -0800)]
osd/OSDMap: add region, pdu, pod types while we are at it

One use noted that they have a 'pdu' type in their type hierarchy that
typically spans multiple racks.  Others are known to use the 'pod'
terminology; add that to.  And I can imagine 'region' above datacenter.

Factor this into a helper to make things a bit less fragile.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/OSDMap: add 'chassis' to default type hierarchy
Sage Weil [Sun, 10 Nov 2013 06:03:42 +0000 (22:03 -0800)]
osd/OSDMap: add 'chassis' to default type hierarchy

A chassis is usually bigger than a host but smaller than a rack.  This will
be useful for a broad class of modern hardware that sticks multiple hosts
in the same chassis (in sleds, or on cards, or blades, or whatever).

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoREADME: update a list of build deps for rpm-based systems 883/head
Ilya Dryomov [Mon, 2 Dec 2013 09:52:31 +0000 (11:52 +0200)]
README: update a list of build deps for rpm-based systems

A list of build dependencies for rpm-based OSes is missing a few items.
This fills in the gaps.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Mon, 2 Dec 2013 06:47:11 +0000 (22:47 -0800)]
Merge remote-tracking branch 'gh/next'

11 years agoPartial revert "mon: osd pool set syntax relaxed, modify unit tests"
Sage Weil [Mon, 2 Dec 2013 06:21:31 +0000 (22:21 -0800)]
Partial revert "mon: osd pool set syntax relaxed, modify unit tests"

This reverts commit 08327fed8213a5d24cd642e12b38a171b98924cb, except
for the hashpspool bit.  We switched back to an integer argument in
commit 337195f04653eed8e8f153a5b074f3bd48408998.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Sat, 30 Nov 2013 21:44:27 +0000 (13:44 -0800)]
Merge remote-tracking branch 'gh/next'

11 years agosysvinit, upstart: use df -P when weighting new OSDs 798/head 882/head
Sage Weil [Sat, 30 Nov 2013 21:41:06 +0000 (13:41 -0800)]
sysvinit, upstart: use df -P when weighting new OSDs

This avoids parsing out the wrong value when a long device name makes
df wrap over two lines.

Fixes: #6699
Reported-by: Jan Harkes <jaharkes@cs.cmu.edu>
Reviewed-by: Noah Watkins <noah.watkins@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #838 from xinglin/boost-program-option-check
Sage Weil [Sat, 30 Nov 2013 06:25:28 +0000 (22:25 -0800)]
Merge pull request #838 from xinglin/boost-program-option-check

autoconf: add check for the boost_program_options library

Reviewed-by: Noah Watkins <noah.watkins@inktank.com>
11 years agoMerge pull request #829 from ceph/port/detect-clang
Sage Weil [Sat, 30 Nov 2013 06:24:34 +0000 (22:24 -0800)]
Merge pull request #829 from ceph/port/detect-clang

conf: use better clang detection

11 years agoPG: don't query unfound on empty pgs
Samuel Just [Wed, 27 Nov 2013 03:17:59 +0000 (19:17 -0800)]
PG: don't query unfound on empty pgs

When the replica responds, it responds with a notify
rather than a log, which the primary then ignores since
it is already in the peer_info map.  Rather than fix that
we'll simply not send queries to peers we already know to
have no unfound objects.

Fixes: #6910
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agoPG: retry GetLog() each time we get a notify in Incomplete
Samuel Just [Tue, 26 Nov 2013 21:20:21 +0000 (13:20 -0800)]
PG: retry GetLog() each time we get a notify in Incomplete

If for some reason there are no up OSDs in the history which
happen to have usable copies of the pg, it's possible that
there is a usable copy elsewhere on the cluster which will
become known to the primary if it waits.

Fixes: #6909
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMark libcls_kvs as a module 876/head
James Page [Wed, 27 Nov 2013 09:06:28 +0000 (09:06 +0000)]
Mark libcls_kvs as a module

This was missed by the changes in commit 909a733fe7119fc1bf123b3739e3acc6f2135b6a

Signed-off-by: James Page <james.page@ubuntu.com>
11 years agoMerge pull request #859 from ceph/wip-pr781
Sage Weil [Tue, 26 Nov 2013 23:09:18 +0000 (15:09 -0800)]
Merge pull request #859 from ceph/wip-pr781

  fix the bug  ctypes.util.find_library to search for librados failed on...

11 years agoMerge pull request #864 from javacruft/wip-debian-feedback
Sage Weil [Tue, 26 Nov 2013 23:00:51 +0000 (15:00 -0800)]
Merge pull request #864 from javacruft/wip-debian-feedback

Misc fixes from current Debian packaging

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #873 from ceph/wip-mds-assert
Sage Weil [Tue, 26 Nov 2013 22:59:46 +0000 (14:59 -0800)]
Merge pull request #873 from ceph/wip-mds-assert

mds: Add assertion to catch object mutation error

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agotest: remove zero-copy read_fd test temporarily
Josh Durgin [Tue, 26 Nov 2013 19:39:28 +0000 (11:39 -0800)]
test: remove zero-copy read_fd test temporarily

This fails since zero-copy from read_fd was temporarily disabled by
03d63c4b2d63b655924c5657637e85abdef40899.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodoc: clarify crush rule create-simple and fix typos
Loic Dachary [Thu, 21 Nov 2013 12:08:19 +0000 (13:08 +0100)]
doc: clarify crush rule create-simple and fix typos

update the description of osd crush rule create-simple using terms that
match the keywords from the crushmap to avoid confusion.

fix missing closing parenthesis in osd crush commands

Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodoc: fix formatting typo in mon configuration
Loic Dachary [Fri, 15 Nov 2013 23:55:20 +0000 (00:55 +0100)]
doc: fix formatting typo in mon configuration

Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodoc: improve ceph-mon usage, fix ceph tell examples
Loic Dachary [Fri, 15 Nov 2013 21:43:24 +0000 (22:43 +0100)]
doc: improve ceph-mon usage, fix ceph tell examples

The ceph-mon command usage is updated to document all of the ceph-mon
specific options.

The ceph tell usage examples for log and debug are using a deprecated syntax.

Signed-off-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #862 from ceph/wip-6829
Josh Durgin [Tue, 26 Nov 2013 17:06:15 +0000 (09:06 -0800)]
Merge pull request #862 from ceph/wip-6829

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #871 from dmick/wip-6894
Josh Durgin [Tue, 26 Nov 2013 17:02:26 +0000 (09:02 -0800)]
Merge pull request #871 from dmick/wip-6894

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #872 from ceph/wip-5871
Sage Weil [Tue, 26 Nov 2013 16:59:51 +0000 (08:59 -0800)]
Merge pull request #872 from ceph/wip-5871

mds: remove superfluous warning of releasing lease

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #874 from liewegas/wip-readme
Sage Weil [Tue, 26 Nov 2013 15:59:09 +0000 (07:59 -0800)]
Merge pull request #874 from liewegas/wip-readme

README: add yum command line

11 years agoREADME: add yum command line 874/head
Sage Weil [Tue, 26 Nov 2013 15:14:22 +0000 (07:14 -0800)]
README: add yum command line

This makes it easy to cut and paste. Yay!

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomds: Add assertion to catch object mutation error 873/head
Yan, Zheng [Tue, 26 Nov 2013 07:06:19 +0000 (15:06 +0800)]
mds: Add assertion to catch object mutation error

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: remove superfluous warning of releasing lease 872/head
Yan, Zheng [Tue, 26 Nov 2013 06:41:00 +0000 (14:41 +0800)]
mds: remove superfluous warning of releasing lease

When receiving the lease release message, it's possible that the lease
has already expired and the corresponding dentry has been trimmed from
the cache.

Fixes #5871

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomon: osd dump should dump pool snaps as array, not object 871/head
Dan Mick [Tue, 26 Nov 2013 05:58:39 +0000 (21:58 -0800)]
mon: osd dump should dump pool snaps as array, not object

Fixes: #6894
Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agoMerge pull request #835 from ceph/wip-6705
Josh Durgin [Tue, 26 Nov 2013 02:03:02 +0000 (18:03 -0800)]
Merge pull request #835 from ceph/wip-6705

qa: workunits: mon: ping.py: test 'ceph ping'

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge branch 'wip-zero-copy-bufferlist-last'
Josh Durgin [Tue, 26 Nov 2013 00:43:51 +0000 (16:43 -0800)]
Merge branch 'wip-zero-copy-bufferlist-last'

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agobuffer: turn off zero-copy reads for now
Josh Durgin [Mon, 25 Nov 2013 22:37:57 +0000 (14:37 -0800)]
buffer: turn off zero-copy reads for now

Some users will need to be changed to handle getting the correct
length from bufferlist::read_fd.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agomds: Release resource before return
Li Wang [Mon, 18 Nov 2013 07:40:19 +0000 (15:40 +0800)]
mds: Release resource before return

Close file before return.
Fix coverity issue: CID 1019571

Signed-off-by: Li Wang <liwang@ubuntukylin.com>
Reported-by: Xianxia Xiao <xianxiaxiao@ubuntukylin.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agorbd: Release resource before return
Li Wang [Mon, 18 Nov 2013 07:40:18 +0000 (15:40 +0800)]
rbd: Release resource before return

Close file before return.
Fix coverity issue: CID 1019579

Signed-off-by: Li Wang <liwang@ubuntukylin.com>
Reported-by: Xianxia Xiao <xianxiaxiao@ubuntukylin.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #868 from ceph/wip-6896
David Zafman [Mon, 25 Nov 2013 21:22:25 +0000 (13:22 -0800)]
Merge pull request #868 from ceph/wip-6896

osd: Remove bogus assert(active == acting.size())

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoosd: Remove bogus assert(active == acting.size()) 868/head
David Zafman [Mon, 25 Nov 2013 20:57:19 +0000 (12:57 -0800)]
osd: Remove bogus assert(active == acting.size())

We saw this assert because active is not correctly computed.
Remove assert and incorrectly computed active count.
We already use acting.size() to determine whether to set PG_STATE_DEGRADED.

Fixes: #6896
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoSubmittingPatches: describe github pull-request process
Sage Weil [Mon, 25 Nov 2013 17:24:19 +0000 (09:24 -0800)]
SubmittingPatches: describe github pull-request process

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoAdd missing stuff to clean target 864/head
Bastian Blank [Mon, 25 Nov 2013 16:16:40 +0000 (16:16 +0000)]
Add missing stuff to clean target

Sweepup a few bits a pieces that get left behind by make clean.

Signed-off-by: James Page <james.page@ubuntu.com>
11 years agoCorrectly mark library modules
Bastian Blank [Fri, 22 Nov 2013 14:24:56 +0000 (14:24 +0000)]
Correctly mark library modules

Mark RADOS class libraries as module so that they will be automatically
ignored when stripping binaries.

Signed-off-by: James Page <james.page@ubuntu.com>
11 years agoceph-object-corpus: revert accidental revert
Sage Weil [Mon, 25 Nov 2013 16:10:13 +0000 (08:10 -0800)]
ceph-object-corpus: revert accidental revert

From 5df3024d7847950672169069b9dc8c8dcb876019

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #863 from ceph/wip-6804
Sage Weil [Mon, 25 Nov 2013 15:53:03 +0000 (07:53 -0800)]
Merge pull request #863 from ceph/wip-6804

rgw: lower some debug message

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #861 from dachary/init-ceph
Gregory Farnum [Mon, 25 Nov 2013 06:07:35 +0000 (22:07 -0800)]
Merge pull request #861 from dachary/init-ceph

init: fix typo s/{$update_crush/${update_crush/

11 years agoMerge pull request #832 from ceph/wip-flush-5855-review
David Zafman [Sat, 23 Nov 2013 01:09:54 +0000 (17:09 -0800)]
Merge pull request #832 from ceph/wip-flush-5855-review

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agobuffer: enable tracking of calls to c_str()
Josh Durgin [Fri, 18 Oct 2013 15:23:40 +0000 (08:23 -0700)]
buffer: enable tracking of calls to c_str()

Track buffer::ptr::c_str() to catch internal calls that use it, like
buffer::ptr::cmp(). buffer::list::c_str() will be captured by this as
well, since it will do a final buffer::ptr::c_str() and possibly
several more if it needs to rebuild into a single raw buffer.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: try to do zero copy in read_fd
Josh Durgin [Fri, 18 Oct 2013 14:58:10 +0000 (07:58 -0700)]
buffer: try to do zero copy in read_fd

Leave the explicit read_fd_zero_copy around as well for testing.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: attempt to size raw_pipe buffers
Josh Durgin [Fri, 18 Oct 2013 14:46:34 +0000 (07:46 -0700)]
buffer: attempt to size raw_pipe buffers

Make sure the requested length is below the maximum pipe size for now,
since we're only using one pipe and splicing once into and out of
it. The default max is 1MB on recent kernels, so this isn't such a
terrible limitation.

To get around this we could use multiple pipes, or keep both source and
destination fds open at the same time and call splice many times. This
is more usual usage for splice, but would require a lot more work to
restructure the filestore and messenger to handle it.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: add methods to read and write using zero copy
Josh Durgin [Mon, 21 Oct 2013 19:40:30 +0000 (12:40 -0700)]
buffer: add methods to read and write using zero copy

Create explicit methods for testing. Make buffer::list::write_fd() use
zero-copy if all the buffers support it.  Don't automatically handle
reads yet, since we need better detection of read length first.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: create raw pipe-based buffer
Josh Durgin [Mon, 21 Oct 2013 15:58:56 +0000 (08:58 -0700)]
buffer: create raw pipe-based buffer

This uses a pipe to reference kernel memory so we can use splice(2) to
avoid extra data copies. Take an fd in the factory to create it, since
that's the only way to use it efficiently, which is its whole purpose.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: add an exception with an error code
Josh Durgin [Mon, 21 Oct 2013 15:51:54 +0000 (08:51 -0700)]
buffer: add an exception with an error code

This allows e.g. raw buffer constructors to provide more specific
information about what failed, as well as a useful error string
automatically.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agosafe_io: add functions for handling splice
Josh Durgin [Sun, 20 Oct 2013 17:46:49 +0000 (10:46 -0700)]
safe_io: add functions for handling splice

Like the other functions, these don't handle non-blocking I/O.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: remove unused raw::length() method
Josh Durgin [Thu, 17 Oct 2013 23:34:55 +0000 (16:34 -0700)]
buffer: remove unused raw::length() method

This was accidentally introduced in
0c23a5624a80903fba7e635e8c44f38a79caf223

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agobuffer: abstract raw data related methods
Josh Durgin [Wed, 16 Oct 2013 23:23:36 +0000 (16:23 -0700)]
buffer: abstract raw data related methods

Create a virtual function that returns the raw data instead of
accessing it directly, so raw buffers backed by pipes can be used as
buffer::ptrs. Make raw::is_page_aligned() virtual so it will not need
to look at the raw data for a pipe-based buffer.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodoc: Clarified description on scrub load threshold.
John Wilkins [Fri, 22 Nov 2013 23:49:16 +0000 (15:49 -0800)]
doc: Clarified description on scrub load threshold.

fixes: #6735

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Fixed instruction.
John Wilkins [Fri, 22 Nov 2013 23:48:25 +0000 (15:48 -0800)]
doc: Fixed instruction.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge branch 'master' of https://github.com/ceph/ceph
John Wilkins [Fri, 22 Nov 2013 23:16:18 +0000 (15:16 -0800)]
Merge branch 'master' of https://github.com/ceph/ceph

11 years agodoc: Added commentary to configure pg defaults. Clarified size commentary.
John Wilkins [Fri, 22 Nov 2013 23:15:41 +0000 (15:15 -0800)]
doc: Added commentary to configure pg defaults. Clarified size commentary.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: PG splitting added to docs.
John Wilkins [Fri, 22 Nov 2013 23:14:46 +0000 (15:14 -0800)]
doc: PG splitting added to docs.

fixes: #6727

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Took out "future" reference to namespaces.
John Wilkins [Fri, 22 Nov 2013 23:13:49 +0000 (15:13 -0800)]
doc: Took out "future" reference to namespaces.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Clarification of terms.
John Wilkins [Fri, 22 Nov 2013 20:59:40 +0000 (12:59 -0800)]
doc: Clarification of terms.

fixes: #6749

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agorgw: lower some debug message 863/head
Yehuda Sadeh [Fri, 22 Nov 2013 15:04:01 +0000 (07:04 -0800)]
rgw: lower some debug message

Fixes: #6084
Backport: dumpling, emperor

Reported-by: Ron Allred <rallred@itrefined.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: initialize RGWUserAdminOpState::system_specified 862/head
Yehuda Sadeh [Thu, 21 Nov 2013 14:52:48 +0000 (06:52 -0800)]
rgw: initialize RGWUserAdminOpState::system_specified

Fixes: #6829
Backport: dumpling, emperor
We didn't init this member variable, which might cause that when
modifying user info that has this flag set the 'system' flag might
inadvertently reset.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #857 from ceph/wip-6796
Gregory Farnum [Fri, 22 Nov 2013 02:56:49 +0000 (18:56 -0800)]
Merge pull request #857 from ceph/wip-6796

mon: OSDMonitor: receive CephInt on 'osd pool set' instead on CephString

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoPendingReleaseNotes: mention 6796 and 'ceph osd pool set' behavior change 857/head
Joao Eduardo Luis [Fri, 22 Nov 2013 02:37:54 +0000 (02:37 +0000)]
PendingReleaseNotes: mention 6796 and 'ceph osd pool set' behavior change

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agodoc: rados: operations: pools: document 'osd pool set foo hashpspool'
Joao Eduardo Luis [Fri, 22 Nov 2013 02:35:10 +0000 (02:35 +0000)]
doc: rados: operations: pools: document 'osd pool set foo hashpspool'

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: OSDMonitor: don't crash if formatter is invalid during osd crush dump
Joao Eduardo Luis [Fri, 22 Nov 2013 02:17:16 +0000 (02:17 +0000)]
mon: OSDMonitor: don't crash if formatter is invalid during osd crush dump

Code would assume a formatter would always be defined. If a 'plain'
formatter or even an invalid formatter were to be supplied, the monitor
would crash and burn in poor style.

Fixes: 6820
Backport: emperor

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: OSDMonitor: receive CephInt on 'osd pool set' instead on CephString
Joao Eduardo Luis [Fri, 22 Nov 2013 02:10:35 +0000 (02:10 +0000)]
mon: OSDMonitor: receive CephInt on 'osd pool set' instead on CephString

This partially reverts 2fe0d0d9 in order to allow Emperor monitors to
forward mon command messages to Dumpling monitors without breaking a
cluster.

The need for this patch became obvious after issue #6796 was triggered.
Basically, in a mixed cluster of Emperor/Dumpling monitors, if a client
happens to obtain the command descriptions from an Emperor monitor and
then issue an 'osd pool set' this can turn out in one of two ways:

1. client msg gets forwarded to an Emperor leader and everything's a-okay;
2. client msg gets forwarded to a Dumpling leader and the string fails to
be interpreted without the monitor noticing, thus leaving the monitor with
an uninitialized variable leading to trouble.

If 2 is triggered, a multitude of bad things can happen, such as thousands
of pg splits, due to a simple 'osd set pool foo pg_num 128' turning out
to be interpreted as 109120394 or some other random number.

This patch is such that we make sure the client sends an integer instead
of a string. We also make sure to interpret anything the client sends as
possibly being a string, or an integer.

Fixes: 6796
Backport: emperor

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: OSDMonitor: drop cmdval_get() for unused variable
Joao Eduardo Luis [Tue, 19 Nov 2013 23:21:11 +0000 (23:21 +0000)]
mon: OSDMonitor: drop cmdval_get() for unused variable

We don't ever use any value as a float, so just drop obtaining it.  This
makes it easier to partially revert 2fe0d0d9 in an upcoming patch.

Backport: emperor

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoqa: workunits: mon: ping.py: test 'ceph ping' 835/head
Joao Eduardo Luis [Fri, 22 Nov 2013 01:43:06 +0000 (01:43 +0000)]
qa: workunits: mon: ping.py: test 'ceph ping'

Basic testing by forcing each monitor out of quorum at a time and making
sure they still reply to ping requests.

Fixes: #6705
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoinit: fix typo s/{$update_crush/${update_crush/ 861/head
Loic Dachary [Thu, 21 Nov 2013 17:51:06 +0000 (18:51 +0100)]
init: fix typo s/{$update_crush/${update_crush/

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge branch 'next'
Josh Durgin [Thu, 21 Nov 2013 02:38:59 +0000 (18:38 -0800)]
Merge branch 'next'

11 years agotest: use older names for module setup/teardown
Josh Durgin [Thu, 21 Nov 2013 02:35:34 +0000 (18:35 -0800)]
test: use older names for module setup/teardown

setUp and tearDown require nosetests 0.11, but 0.10.4 is the latest on
centos. Rename to use the older aliases, which still work with newer
versions of nosetests as well.

Fixes: #6368
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agodoc: Added fixes to osd reporting section.
John Wilkins [Wed, 20 Nov 2013 22:28:18 +0000 (14:28 -0800)]
doc: Added fixes to osd reporting section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoMerge pull request #854 from ceph/wip-osd-bench-size
Dan Mick [Tue, 19 Nov 2013 23:41:11 +0000 (15:41 -0800)]
Merge pull request #854 from ceph/wip-osd-bench-size

osd: fix bench block size

Reviewed-by: Dan Mick <dan.mick@inktank.com>
11 years agoosd: Backfill peers should not be included in the acting set 832/head
David Zafman [Fri, 11 Oct 2013 22:53:49 +0000 (15:53 -0700)]
osd: Backfill peers should not be included in the acting set

Create actingbackfill in choose_acting()
Use first backfill target as previously
Add asserts to catch inappropriate use of actingbackfill
Use is_acting() in proc_replica_info() because this is before actingbackfill set
Remove backfill_targets from stray_set to prevent purge_strays from removing collection
Can't check is_replica() anymore for backfill operations since a backfill isn't
a replica due to acting set change.

fixes: #5855

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Simple dout() fix
David Zafman [Tue, 22 Oct 2013 03:26:18 +0000 (20:26 -0700)]
osd: Simple dout() fix

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoPG: remove unused Peering::flushed
Samuel Just [Wed, 30 Oct 2013 18:35:35 +0000 (11:35 -0700)]
PG: remove unused Peering::flushed

This has been unused for quite some time!

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoPG: don't requeue waiting_for_active unless flushed and active
Samuel Just [Wed, 30 Oct 2013 18:32:13 +0000 (11:32 -0700)]
PG: don't requeue waiting_for_active unless flushed and active

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/PGBackend: block all ops other than Pull prior to active
Samuel Just [Wed, 30 Oct 2013 18:21:56 +0000 (11:21 -0700)]
ReplicatedPG/PGBackend: block all ops other than Pull prior to active

Previously, it was guarranteed that prior to activation, flushed would
be false on a replica.  Now, there may be a period where flushed is true
due to the flush in Stray completing prior to activation and flushed
being false again.  This is necessary since shortly it won't be possible
to determine from the osdmap whether a stray will be activated in a
particular interval.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoPG: call start_flush in Active() instead of using do_pending_flush()
Samuel Just [Wed, 30 Oct 2013 18:10:24 +0000 (11:10 -0700)]
PG: call start_flush in Active() instead of using do_pending_flush()

This way, we don't block an OpWQ thread while waiting on the filestore.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoPG,ReplicatedPG: allow multiple flushes to be in progress
Samuel Just [Wed, 30 Oct 2013 17:57:52 +0000 (10:57 -0700)]
PG,ReplicatedPG: allow multiple flushes to be in progress

Shortly, we won't know precisely when to flush, so Strays
may need to flush twice.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG,PG: move duplicate FlushedEvt logic info on_flushed()
David Zafman [Sat, 2 Nov 2013 01:15:49 +0000 (18:15 -0700)]
ReplicatedPG,PG: move duplicate FlushedEvt logic info on_flushed()

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agodoc: warn about #6796 in release notes
Samuel Just [Tue, 19 Nov 2013 03:35:14 +0000 (19:35 -0800)]
doc: warn about #6796 in release notes

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoman: re-generate changed man pages
Josh Durgin [Tue, 19 Nov 2013 02:05:18 +0000 (18:05 -0800)]
man: re-generate changed man pages

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoRBD Documentation and Example fixes for --image-format
rallred [Tue, 12 Nov 2013 15:29:19 +0000 (08:29 -0700)]
RBD Documentation and Example fixes for --image-format

 - RBD Documentation, --image-format wrongly specified as --format in examples
 - RBD Documentation, better describe image format, to differentiate from --format

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoosd: fix bench block size 854/head
Josh Durgin [Mon, 18 Nov 2013 22:39:12 +0000 (14:39 -0800)]
osd: fix bench block size

The command was declared to take 'size' in dumpling, but was trying to
read 'bsize' instead, so it always used the default of 4MiB. Change
the bench command to read 'size', so it matches what existing clients
are sending.

Fixes: #6795
Backport: emperor, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge branch 'next'
Samuel Just [Mon, 18 Nov 2013 20:59:04 +0000 (12:59 -0800)]
Merge branch 'next'

11 years agoRevert "JounralingObjectStore: journal->committed_thru after replay"
Samuel Just [Mon, 18 Nov 2013 20:57:39 +0000 (12:57 -0800)]
Revert "JounralingObjectStore: journal->committed_thru after replay"

committed_thru can race with the sync thread.

This reverts commit d8d27f13e11dcaefd3aa1c049b97c980283da575.
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agorelease-notes: clarify that the osd data directory needs to be mounted
Samuel Just [Fri, 15 Nov 2013 21:05:24 +0000 (13:05 -0800)]
release-notes: clarify that the osd data directory needs to be mounted

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agodoc/release-notes.rst: v0.72.1 release notes
Samuel Just [Fri, 15 Nov 2013 18:57:20 +0000 (10:57 -0800)]
doc/release-notes.rst: v0.72.1 release notes

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agodoc: Fix wrong package names on Debian Wheezy for building Ceph
Wido den Hollander [Fri, 15 Nov 2013 11:47:11 +0000 (12:47 +0100)]
doc: Fix wrong package names on Debian Wheezy for building Ceph

11 years agoMerge branch 'master' of https://github.com/ceph/ceph
Wido den Hollander [Fri, 15 Nov 2013 11:46:04 +0000 (12:46 +0100)]
Merge branch 'master' of https://github.com/ceph/ceph

11 years agoMerge remote-tracking branch 'upstream/next'
Samuel Just [Fri, 15 Nov 2013 05:40:01 +0000 (21:40 -0800)]
Merge remote-tracking branch 'upstream/next'

11 years agoceph-filestore-tool: add tool for fixing lost objects
Samuel Just [Wed, 13 Nov 2013 22:39:26 +0000 (14:39 -0800)]
ceph-filestore-tool: add tool for fixing lost objects

Used to repair: #6761
Backport: emperor
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoosd_types: fix object_info_t backwards compatibility
Samuel Just [Wed, 13 Nov 2013 21:24:10 +0000 (13:24 -0800)]
osd_types: fix object_info_t backwards compatibility

Shipping an object_info_t to a replica with the dirty
flag set would cause the replica to interpret that
object as being lost.  Instead, we always encode
lost into the slot where dumpling expects to find
it and add another field at the end of the encoding.

Backport: emperor
Fixes: #6761
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoCephContext: unregister lockdep after stopping service thread
Samuel Just [Thu, 14 Nov 2013 19:49:58 +0000 (11:49 -0800)]
CephContext: unregister lockdep after stopping service thread

Fixes: #6769
Fixes: #6674
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoReplicatedPG: test for missing head before find_object_context
Samuel Just [Tue, 12 Nov 2013 23:15:26 +0000 (15:15 -0800)]
ReplicatedPG: test for missing head before find_object_context

find_object_context doesn't return EAGAIN for a missing head.
I chose not to change that behavior since it might hide bugs
in the future.  All other callers check for missing on head
before calling into find_object_context because we potentially
need head or snapdir to map a snapid onto a clone.

Backport: emperor
Fixes: 6758
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agoJounralingObjectStore: journal->committed_thru after replay
Samuel Just [Tue, 12 Nov 2013 21:39:04 +0000 (13:39 -0800)]
JounralingObjectStore: journal->committed_thru after replay

It's possible that the osd stopped between when the filestore
op_seq file was updated and when the journal was trimmed.  In
that case, it's possible that on boot the journal might be
full, and yet not be trimmed because commit_start assumes
there is no work to do.  Calling committed_thru on the journal
ensures that the journal matches committed_seq.

Backport: emperor dumpling
Fixes: 6756
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agoMerge pull request #851 from ceph/wip-6768
Gregory Farnum [Thu, 14 Nov 2013 01:38:40 +0000 (17:38 -0800)]
Merge pull request #851 from ceph/wip-6768

Reviewed-by: Greg Farnum <greg@inktank.com>