]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoMonitor: disseminate leader's command set instead of our own
Greg Farnum [Fri, 6 Dec 2013 22:55:13 +0000 (14:55 -0800)]
Monitor: disseminate leader's command set instead of our own

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoElector: transmit local api on election win, accept leader's on loss
Greg Farnum [Fri, 6 Dec 2013 22:08:48 +0000 (14:08 -0800)]
Elector: transmit local api on election win, accept leader's on loss

If we're the leader, just point to our local set. Disseminating these
will let peons advertise the full command set supported by the leader.
INCOMPLETE: does not yet handle winning Electors who do not send a command set.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agomessages: make room for passing supported monitor commands in MMonElection
Greg Farnum [Fri, 6 Dec 2013 21:13:03 +0000 (13:13 -0800)]
messages: make room for passing supported monitor commands in MMonElection

We're going to use this space to let leader tell everybody what
commands it supports.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMonitor: pull command mapping out of _allowed_command()
Greg Farnum [Sat, 7 Dec 2013 00:09:36 +0000 (16:09 -0800)]
Monitor: pull command mapping out of _allowed_command()

We want to be able to validate commands against both the leader and
local command sets, so make that functionality generic.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMonitor: add a separate leader_supported_commands
Greg Farnum [Fri, 6 Dec 2013 21:55:38 +0000 (13:55 -0800)]
Monitor: add a separate leader_supported_commands

This isn't used yet, but will be shortly.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMonitor: expose local monitor commands to other compilation units
Greg Farnum [Fri, 6 Dec 2013 21:48:42 +0000 (13:48 -0800)]
Monitor: expose local monitor commands to other compilation units

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMonCommand: add operator== and operator!=
Greg Farnum [Sat, 7 Dec 2013 02:19:32 +0000 (18:19 -0800)]
MonCommand: add operator== and operator!=

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMonCommand: support encode/decode
Greg Farnum [Fri, 6 Dec 2013 21:51:51 +0000 (13:51 -0800)]
MonCommand: support encode/decode

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoencoding: fix [encode|decode]_array_nohead
Greg Farnum [Sat, 7 Dec 2013 02:19:13 +0000 (18:19 -0800)]
encoding: fix [encode|decode]_array_nohead

We want to actually encode each element and keep it, rather than
writing each one at the position after the array end!

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #909 from dachary/wip-crush-unittest
Sage Weil [Fri, 6 Dec 2013 20:35:52 +0000 (12:35 -0800)]
Merge pull request #909 from dachary/wip-crush-unittest

more CrushWrapper unittest

11 years agocrush: unittest CrushWrapper::get_immediate_parent 909/head
Loic Dachary [Fri, 6 Dec 2013 18:33:49 +0000 (19:33 +0100)]
crush: unittest CrushWrapper::get_immediate_parent

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: unittest CrushWrapper::update_item
Loic Dachary [Fri, 6 Dec 2013 14:44:03 +0000 (15:44 +0100)]
crush: unittest CrushWrapper::update_item

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: unittest s/std::string/string/
Loic Dachary [Fri, 6 Dec 2013 14:43:23 +0000 (15:43 +0100)]
crush: unittest s/std::string/string/

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: unittest use const instead of define
Loic Dachary [Fri, 6 Dec 2013 13:39:10 +0000 (14:39 +0100)]
crush: unittest use const instead of define

And reduce the depth of the hierarchy because three levels of buckets
capture the same cases as four levels.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: unittest CrushWrapper::check_item_loc
Loic Dachary [Fri, 6 Dec 2013 12:32:31 +0000 (13:32 +0100)]
crush: unittest CrushWrapper::check_item_loc

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: unittest remove useless c->create()
Loic Dachary [Fri, 6 Dec 2013 12:31:22 +0000 (13:31 +0100)]
crush: unittest remove useless c->create()

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge remote-tracking branch 'origin/next'
Yehuda Sadeh [Fri, 6 Dec 2013 19:24:06 +0000 (11:24 -0800)]
Merge remote-tracking branch 'origin/next'

11 years agoMerge pull request #901 from dachary/wip-crush-unittest
Sage Weil [Fri, 6 Dec 2013 16:29:01 +0000 (08:29 -0800)]
Merge pull request #901 from dachary/wip-crush-unittest

crush: check for invalid names in loc[]

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agocrush: check for invalid names in loc[] 901/head
Loic Dachary [Thu, 5 Dec 2013 18:41:50 +0000 (19:41 +0100)]
crush: check for invalid names in loc[]

Add the is_valid_crush_loc helper to test for invalid crush names in
insert_item and update_item, before performing any side
effect. Implement the associated unit tests.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #900 from ceph/wip-mon-mds-trim
João Eduardo Luís [Fri, 6 Dec 2013 02:15:21 +0000 (18:15 -0800)]
Merge pull request #900 from ceph/wip-mon-mds-trim

mon: MDSMonitor: trim versions and let PaxosService decide whether to propose

We were not trimming mdsmap versions and were generating a new map every time
we modified the pending value.

Now we not only make sure that MDSMonitor will trim old maps (configurable
option allowing us to set the maximum number of maps to keep, defaulting to 500,
much like other services do) but we also delegate to PaxosService the decision on
whether to propose our pending value.

We also perform several modifications to 'ceph-kvstore-tool', allowing one to obtain
the contents of a given prefix:key and have them outputted to a file instead of stdout,
and also add support for getting the size of a given prefix:key's value.

'ceph report' was also modified so that we always output the first and last
committed versions for all services; up until this point, we would only output the
first committed version on all services, and only a few were also outputting the
last committed version.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: ceph-kvstore-tool: get size of value for prefix/key 900/head
Joao Eduardo Luis [Thu, 5 Dec 2013 17:05:33 +0000 (17:05 +0000)]
mon: ceph-kvstore-tool: get size of value for prefix/key

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agotools: ceph-kvstore-tool: output value contents to file on 'get'
Joao Eduardo Luis [Thu, 5 Dec 2013 12:08:35 +0000 (12:08 +0000)]
tools: ceph-kvstore-tool: output value contents to file on 'get'

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: Have 'ceph report' print last committed versions
Joao Eduardo Luis [Thu, 5 Dec 2013 17:39:50 +0000 (17:39 +0000)]
mon: Have 'ceph report' print last committed versions

Only for those services that weren't doing it.

Backport: dumpling
Backport: emperor

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: MDSMonitor: let PaxosService decide on whether to propose
Joao Eduardo Luis [Thu, 5 Dec 2013 17:26:47 +0000 (17:26 +0000)]
mon: MDSMonitor: let PaxosService decide on whether to propose

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agos/true/1 and s/false/0
tamil [Thu, 5 Dec 2013 21:05:12 +0000 (13:05 -0800)]
s/true/1 and s/false/0

Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
11 years agomon: MDSMonitor: implement 'get_trim_to()' to let the mon trim mdsmaps
Joao Eduardo Luis [Wed, 4 Dec 2013 17:49:10 +0000 (17:49 +0000)]
mon: MDSMonitor: implement 'get_trim_to()' to let the mon trim mdsmaps

This commit also adds two options to the MDSMonitor:

  - mon_max_mdsmap_epochs: the maximum amount of maps we'll keep (def: 500)
  - mon_mds_force_trim: the version we want to trim to

This results in 'get_trim_to()' returning the possible values:

  - if we have set mon_mds_force_trim, and this value is greater than the
    last committed version, trim to mon_mds_force_trim
  - if we hold more than the max number of maps, trim to last - max
  - if we have set mon_mds_force_trim and if we hold more than the max
    number of maps, and mon_mds_force_trim is lower than last - max,
    then trim to last - max

Backport: dumpling
Backport: emperor

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: MDSMonitor: print map on encode_pending() iff debug mon = 30+
Joao Eduardo Luis [Wed, 4 Dec 2013 00:41:13 +0000 (00:41 +0000)]
mon: MDSMonitor: print map on encode_pending() iff debug mon = 30+

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: MDSMonitor: consider 'debug level' parameter on 'print_map()'
Joao Eduardo Luis [Wed, 4 Dec 2013 00:40:37 +0000 (00:40 +0000)]
mon: MDSMonitor: consider 'debug level' parameter on 'print_map()'

The parameter was there, just not used.  It does default to 7, so
existing callers are okay.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: MDSMonitor: remove reference to no-longer-used encode_trim()
Joao Eduardo Luis [Wed, 4 Dec 2013 00:34:38 +0000 (00:34 +0000)]
mon: MDSMonitor: remove reference to no-longer-used encode_trim()

We weren't using it and it's no longer used by anyone anyway.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #899 from dachary/wip-crush-unittest
Sage Weil [Thu, 5 Dec 2013 17:18:50 +0000 (09:18 -0800)]
Merge pull request #899 from dachary/wip-crush-unittest

CrushWrapper::insert_item unittest and minor fixes

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agocrush: CrushWrapper unit tests 899/head
Loic Dachary [Thu, 5 Dec 2013 13:09:16 +0000 (14:09 +0100)]
crush: CrushWrapper unit tests

Covers all cases for the following methods. All but insert_item are trivial.

* insert_item
* set_item_name
* name_exists
* item_exists
* get_item_id
* get_item_name
* get_num_type_names
* get_type_id
* get_type_name
* is_valid_crush_name

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: remove redundant test in insert_item
Loic Dachary [Thu, 5 Dec 2013 12:01:00 +0000 (13:01 +0100)]
crush: remove redundant test in insert_item

A year after the last modification of test to check if an item was added
twice to the same bucket, the subtree_contains test was added a few
lines above it, making it redundant.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: insert_item returns on error if bucket name is invalid
Loic Dachary [Thu, 5 Dec 2013 08:54:37 +0000 (09:54 +0100)]
crush: insert_item returns on error if bucket name is invalid

A bucket name may be created as a side effect of insert_item. All names
in the loc argument are checked for validity at the beginning of the
method and an error is returned immediately if one is found. This allows
to not check for errors when setting the name of an item later on.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #892 from jpds/ceph-disk-journal-mbrtogpt
Loic Dachary [Wed, 4 Dec 2013 19:42:30 +0000 (11:42 -0800)]
Merge pull request #892 from jpds/ceph-disk-journal-mbrtogpt

Call --mbrtogpt on journal run of sgdisk should the drive require a GPT ...

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #782 from danchai/master
Sage Weil [Wed, 4 Dec 2013 15:42:48 +0000 (07:42 -0800)]
Merge pull request #782 from danchai/master

ObjBencher: add rand_read_bench to support rand test in rados-bench

11 years agoCall --mbrtogpt on journal run of sgdisk should the drive require a GPT table. 892/head
Jonathan Davies [Tue, 3 Dec 2013 21:26:43 +0000 (21:26 +0000)]
Call --mbrtogpt on journal run of sgdisk should the drive require a GPT table.

Signed-off-by: Jonathan Davies <jonathan.davies@canonical.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoObjBencher: add rand_read_bench functions to support rand test in rados-bench 782/head
danchai [Tue, 29 Oct 2013 10:10:48 +0000 (18:10 +0800)]
ObjBencher: add rand_read_bench functions to support rand test in rados-bench

Signed-off-by: Tengwei Cai <tengweicai@gmail.com>
11 years agodoc/rados/operations/crush: fix more
Sage Weil [Wed, 4 Dec 2013 06:46:37 +0000 (22:46 -0800)]
doc/rados/operations/crush: fix more

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/rados/operations/crush: fix rst
Sage Weil [Wed, 4 Dec 2013 06:18:41 +0000 (22:18 -0800)]
doc/rados/operations/crush: fix rst

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #893 from jdurgin/wip-init-highlander
Sage Weil [Wed, 4 Dec 2013 00:39:38 +0000 (16:39 -0800)]
Merge pull request #893 from jdurgin/wip-init-highlander

init, upstart: prevent daemons being started by both

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoinit, upstart: prevent daemons being started by both 893/head
Josh Durgin [Mon, 25 Nov 2013 21:43:43 +0000 (13:43 -0800)]
init, upstart: prevent daemons being started by both

There can be only one init system starting a daemon. If there is a
host entry in ceph.conf for a daemon, sysvinit would try to start it
even if the daemon's directory did not include a sysvinit file. This
preserves backwards compatibility with older installs using sysvinit,
but if an upstart file is present in the daemon's directory, upstart
will try to start them, regardless of host entries in ceph.conf.

If there's an upstart file in a daemon's directory and a host entry
for that daemon in ceph.conf, both sysvinit and upstart would attempt
to manage it.

Fix this by only starting daemons if the marker file for the other
init system is not present. This maintains backwards compatibility
with older installs using neither sysvinit or upstart marker files,
and does not break any valid configurations. The only configuration
that would break is one with both sysvinit and upstart files present
for the same daemon.

Backport: emperor, dumpling
Reported-by: Tim Spriggs <tims@uahirise.org>
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #891 from ceph/wip-filestore-remount
Gregory Farnum [Tue, 3 Dec 2013 20:56:25 +0000 (12:56 -0800)]
Merge pull request #891 from ceph/wip-filestore-remount

allow various threaded services to be restarted to allow mount->umount->mount to work

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #879 from xinglin/coverity-fixes
Sage Weil [Tue, 3 Dec 2013 20:47:25 +0000 (12:47 -0800)]
Merge pull request #879 from xinglin/coverity-fixes

Coverity fixes

The rgw patch is
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
The rest is
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agocommon/WorkQueue: allow start() after stop() 891/head
Sage Weil [Tue, 3 Dec 2013 20:26:43 +0000 (12:26 -0800)]
common/WorkQueue: allow start() after stop()

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoos/FileStore: allow mount after umount
Sage Weil [Tue, 3 Dec 2013 20:26:31 +0000 (12:26 -0800)]
os/FileStore: allow mount after umount

Clear the stop flag on successful shutdown so that we can start again
later.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocommon/Finisher: allow finisher to be restarted
Sage Weil [Tue, 3 Dec 2013 20:11:27 +0000 (12:11 -0800)]
common/Finisher: allow finisher to be restarted

Allow a start() after stop() by clearing the stop flag on a successful
stop.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #843 from ceph/wip-osd-metadata
Sage Weil [Tue, 3 Dec 2013 18:48:57 +0000 (10:48 -0800)]
Merge pull request #843 from ceph/wip-osd-metadata

feed osd info about os, kernel, memory, arch to the mons

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #860 from dachary/wip-6827
Josh Durgin [Tue, 3 Dec 2013 18:39:17 +0000 (10:39 -0800)]
Merge pull request #860 from dachary/wip-6827

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agotest/mon/workloadgen: added check of return value for statfs() 879/head
Xing Lin [Thu, 28 Nov 2013 06:06:55 +0000 (23:06 -0700)]
test/mon/workloadgen: added check of return value for statfs()

check the return value of statfs() in update_osd_stat()

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
test/mon/workloadgen: fixed typo in error message

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
11 years agorgw/rgw_op: added check of return value for rgw_unlink_bucket()
Xing Lin [Thu, 28 Nov 2013 06:35:50 +0000 (23:35 -0700)]
rgw/rgw_op: added check of return value for rgw_unlink_bucket()

checked the return value of rgw_unlink_bucket() in RGWCreateBucket::execute()

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
11 years agoos/WBThrottle: added check of return value for posix_fadvise()
Xing Lin [Thu, 28 Nov 2013 06:30:15 +0000 (23:30 -0700)]
os/WBThrottle: added check of return value for posix_fadvise()

check the return value of posix_fadvise() in WBThrottle::entry()

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
11 years agotest/filestore: add check of return values in StoreTest::SetUp
Xing Lin [Thu, 28 Nov 2013 05:20:45 +0000 (22:20 -0700)]
test/filestore: add check of return values in StoreTest::SetUp

add return value check for function calls, including mkdir, mkfs
and mount

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
test/filestore: fix return value check for mkdir

allow EEXIST from mkdir()

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
11 years agotest/filestore/workloadgen: added check of return value for mkdir
Xing Lin [Thu, 28 Nov 2013 05:06:37 +0000 (22:06 -0700)]
test/filestore/workloadgen: added check of return value for mkdir

check return value of mkdir

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
test/filestore/workloadgen: fix return value check for mkdir

allow EEXIST from mkdir()

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
11 years agoMerge pull request #889 from dachary/wip-osd-metadata 843/head
Sage Weil [Tue, 3 Dec 2013 16:13:03 +0000 (08:13 -0800)]
Merge pull request #889 from dachary/wip-osd-metadata

depends on #843 : CPU info + check osd metadata

11 years agoosd: include CPU info 889/head
Loic Dachary [Tue, 3 Dec 2013 14:39:36 +0000 (15:39 +0100)]
osd: include CPU info

It will be handy when trying to figure out CPU bound problems / benchmarks.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agopybind: syntax check osd metadata
Loic Dachary [Tue, 3 Dec 2013 14:12:23 +0000 (15:12 +0100)]
pybind: syntax check osd metadata

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoceph-disk: blacklist /dev/fd0 860/head
Loic Dachary [Thu, 21 Nov 2013 12:21:22 +0000 (13:21 +0100)]
ceph-disk: blacklist /dev/fd0

blkid -s TYPE /dev/fd0 has been verified to hang forever on a
H8DMR-82 supermicro motherboard running

3.8.0-33-generic #48~precise1-Ubuntu SMP Thu Oct 24 16:28:06 UTC 2013
x86_64

It is unlikely that ceph will ever be used on floppy disks, they
can be blacklisted.

http://tracker.ceph.com/issues/6827 fixes: #6827

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agotest/ceph_decoder: add return value check for read_file()
Xing Lin [Fri, 8 Nov 2013 03:26:24 +0000 (20:26 -0700)]
test/ceph_decoder: add return value check for read_file()

check the return value of read_file function call

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
11 years agoMerge pull request #877 from ceph/wip-6892
Sage Weil [Tue, 3 Dec 2013 05:55:28 +0000 (21:55 -0800)]
Merge pull request #877 from ceph/wip-6892

rgw: don't error out on empty owner when setting acls

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc/rados/operations/crush-map: describe crush locations, hook
Sage Weil [Thu, 31 Oct 2013 23:44:54 +0000 (16:44 -0700)]
doc/rados/operations/crush-map: describe crush locations, hook

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoadd script/run-coverity
Sage Weil [Tue, 3 Dec 2013 05:46:25 +0000 (21:46 -0800)]
add script/run-coverity

Keep this in-tree.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #887 from jdurgin/wip-peek-meta
Sage Weil [Tue, 3 Dec 2013 01:36:32 +0000 (17:36 -0800)]
Merge pull request #887 from jdurgin/wip-peek-meta

osd: read into correct variable for magic string

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc: Updated scrub defaults and added note about deep scrubbing.
John Wilkins [Mon, 2 Dec 2013 23:26:19 +0000 (15:26 -0800)]
doc: Updated scrub defaults and added note about deep scrubbing.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoosd: read into correct variable for magic string 887/head
Josh Durgin [Mon, 2 Dec 2013 22:54:04 +0000 (14:54 -0800)]
osd: read into correct variable for magic string

4d140a71a1a48081b449b7d8dde808eb6e74c6b2 refactored this and
introduced a bug. peek_meta() was accidentally reading into magic,
then replacing magic with val, which was always the empty string,
resulting in the osd always failing to start due to 'mismatched'
magic values.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoworkunits: use integers instead of true/false for hashpspool command
Greg Farnum [Fri, 22 Nov 2013 23:24:07 +0000 (15:24 -0800)]
workunits: use integers instead of true/false for hashpspool command

Backport: emperor

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com
11 years agoMerge pull request #881 from ceph/wip-objectstore
athanatos [Mon, 2 Dec 2013 21:07:19 +0000 (13:07 -0800)]
Merge pull request #881 from ceph/wip-objectstore

osd: clean up the osd / objectstore separation

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agodoc: Fixed hyperlink to the manual installation section.
John Wilkins [Mon, 2 Dec 2013 18:49:04 +0000 (10:49 -0800)]
doc: Fixed hyperlink to the manual installation section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Added a link to get packages.
John Wilkins [Mon, 2 Dec 2013 18:48:27 +0000 (10:48 -0800)]
doc: Added a link to get packages.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoosd/OSDMap: fix typo and crush types helper
Sage Weil [Mon, 2 Dec 2013 18:21:17 +0000 (10:21 -0800)]
osd/OSDMap: fix typo and crush types helper

Bah!

Signed-off-by: Sage Weil <sage@inktank.com>
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 agoos/ObjectStore: add {read,write}_meta 881/head
Sage Weil [Sun, 3 Nov 2013 04:21:39 +0000 (21:21 -0700)]
os/ObjectStore: add {read,write}_meta

Move these from the OSD.  Use a generic implementation in ObjectStore that
hopefully all backends can share (so that it can remain in sync with the
start/stop scripts, ceph-disk, and other orchestration machinery).

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: move peek_journal_fsid() into ObjectStore (from OSD)
Sage Weil [Sun, 3 Nov 2013 02:29:11 +0000 (19:29 -0700)]
osd: move peek_journal_fsid() into ObjectStore (from OSD)

This kills the last FileJournal reference in the OSD!

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoos/ObjectStore: generalize the FileStore's target_version
Sage Weil [Sun, 3 Nov 2013 02:23:06 +0000 (19:23 -0700)]
os/ObjectStore: generalize the FileStore's target_version

This kills the last FileStore reference in the OSD.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: construct ObjectStore outside of OSD
Sage Weil [Sun, 3 Nov 2013 02:19:09 +0000 (19:19 -0700)]
osd: construct ObjectStore outside of OSD

This lets ceph_osd.cc handle the config details and use it directly for
all of the random command-line stuff, eliminating a bunch of mostly-
useless static wrappers in OSD.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: use ObjectStore::create() helper to create ObjectStore impl
Sage Weil [Sun, 3 Nov 2013 01:56:53 +0000 (18:56 -0700)]
osd: use ObjectStore::create() helper to create ObjectStore impl

No more knowledge of FileStore!

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoos/ObjectStore: add static create() method
Sage Weil [Sun, 3 Nov 2013 01:53:03 +0000 (18:53 -0700)]
os/ObjectStore: add static create() method

Generic way to create an ObjectStore implementation of the required type,
so that users don't need to know anything about it.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: drop obsolete 'filestore' bool option
Sage Weil [Sun, 3 Nov 2013 00:39:14 +0000 (17:39 -0700)]
osd: drop obsolete 'filestore' bool option

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd: include misc osd config info in metadata sent to the mon
Sage Weil [Mon, 25 Nov 2013 18:16:39 +0000 (10:16 -0800)]
osd: include misc osd config info in metadata sent to the mon

addr info, pathnames.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: include osd metadata in 'ceph report'
Sage Weil [Sun, 10 Nov 2013 05:53:14 +0000 (21:53 -0800)]
mon/OSDMonitor: include osd metadata in 'ceph report'

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: move osd metadata dump into a helper
Sage Weil [Sat, 30 Nov 2013 06:26:57 +0000 (22:26 -0800)]
mon/OSDMonitor: move osd metadata dump into a helper

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 agorgw: don't error out on empty owner when setting acls 877/head
Yehuda Sadeh [Wed, 27 Nov 2013 21:34:00 +0000 (13:34 -0800)]
rgw: don't error out on empty owner when setting acls

Fixes: #6892
Backport: dumpling, emperor
s3cmd specifies empty owner field when trying to set acls on object
/ bucket. We errored out as it didn't match the current owner name, but
with this change we ignore it.

Signed-off-by: Yehuda Sadeh <yehuda@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>