]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoceph.spec: add ceph-brag 1245/head
Sage Weil [Sat, 15 Feb 2014 17:18:18 +0000 (09:18 -0800)]
ceph.spec: add ceph-brag

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodebian: add ceph-brag
Sage Weil [Sat, 15 Feb 2014 17:18:12 +0000 (09:18 -0800)]
debian: add ceph-brag

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoceph-brag: add Makefile
Sage Weil [Sat, 15 Feb 2014 17:17:33 +0000 (09:17 -0800)]
ceph-brag: add Makefile

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge branch 'master' of https://github.com/enovance/ceph-brag into wip-brag
Sage Weil [Sat, 15 Feb 2014 17:17:22 +0000 (09:17 -0800)]
Merge branch 'master' of https://github.com/enovance/ceph-brag into wip-brag

11 years agodoc/release-notes: v0.67.6
Sage Weil [Fri, 14 Feb 2014 22:20:43 +0000 (14:20 -0800)]
doc/release-notes: v0.67.6

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1237 from dachary/wip-hashpspool
Sage Weil [Fri, 14 Feb 2014 17:27:33 +0000 (09:27 -0800)]
Merge pull request #1237 from dachary/wip-hashpspool

mon: ceph hashpspool false clears the flag

Reviewed-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1235 from ceph/wip-osdmaptool-pool-fix
Loic Dachary [Fri, 14 Feb 2014 12:33:26 +0000 (13:33 +0100)]
Merge pull request #1235 from ceph/wip-osdmaptool-pool-fix

wip-osdmaptool-pool-fix

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoosdmaptool: add tests for --pool option 1235/head
Ilya Dryomov [Fri, 14 Feb 2014 10:23:25 +0000 (12:23 +0200)]
osdmaptool: add tests for --pool option

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoosdmaptool: add --pool option for --test-map-pgs mode to usage()
Ilya Dryomov [Thu, 13 Feb 2014 17:38:11 +0000 (19:38 +0200)]
osdmaptool: add --pool option for --test-map-pgs mode to usage()

--test-map-pgs mode allows to map all pgs from either all pools or just
one pool.  Mention it in usage output.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoosdmaptool: fix --pool option for --test-map-object mode
Ilya Dryomov [Thu, 13 Feb 2014 17:38:10 +0000 (19:38 +0200)]
osdmaptool: fix --pool option for --test-map-object mode

Commit 7f1b12f2ef97 ("osdmaptool: add --test-map-pgs mode") broke
--pool for --test-map-object mode.  Fix it, and improve --pool option
handling for both modes while at it (report strict_strtol() errors,
check if specified pool exists).

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agotest: fix signed/unsigned warnings in TestCrushWrapper.cc
Greg Farnum [Fri, 14 Feb 2014 01:28:42 +0000 (17:28 -0800)]
test: fix signed/unsigned warnings in TestCrushWrapper.cc

Irritatingly, using 0 binds to int and generates warnings
if the thing we're checking is unsigned, so we have to be
explicit.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sam Just <sam.just@inktank.com>
11 years agomon: ceph hashpspool false clears the flag 1237/head
Loic Dachary [Thu, 13 Feb 2014 17:18:43 +0000 (18:18 +0100)]
mon: ceph hashpspool false clears the flag

instead of toggling it.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1231 from dachary/wip-mon-create-simple
Sage Weil [Thu, 13 Feb 2014 15:00:18 +0000 (07:00 -0800)]
Merge pull request #1231 from dachary/wip-mon-create-simple

mon: do not goto reply if a ruleset exists in pending

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1216 from ceph/wip-null-xattr
Sage Weil [Thu, 13 Feb 2014 14:59:15 +0000 (06:59 -0800)]
Merge pull request #1216 from ceph/wip-null-xattr

mds: remove xattr when null value is given to setxattr()

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge branch 'wip-libcephfs-firefly-rb' of https://github.com/linuxbox2/linuxbox...
Sage Weil [Thu, 13 Feb 2014 14:51:37 +0000 (06:51 -0800)]
Merge branch 'wip-libcephfs-firefly-rb' of https://github.com/linuxbox2/linuxbox-ceph

Reviewed-by: Sage Weil <sage@inktank.com>
This went through the fs suite and passed:

http://pulpito.ceph.com/sage-2014-02-12_13:38:53-fs-wip-libcephfs-testing-basic-plana

11 years agomon: do not goto reply if a ruleset exists in pending 1231/head
Loic Dachary [Thu, 13 Feb 2014 14:40:30 +0000 (15:40 +0100)]
mon: do not goto reply if a ruleset exists in pending

If the crush ruleset is found in pending, do not goto reply because it
does not exist yet. Wait for the pending proposal (and the ruleset) to
be accepted and then only return that it exists.

revert 4b687ba673574bcd3b77b0f79a07d5c74cdcedc2

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1202 from dachary/wip-mon-create-simple
Loic Dachary [Thu, 13 Feb 2014 14:06:27 +0000 (15:06 +0100)]
Merge pull request #1202 from dachary/wip-mon-create-simple

mon: create simple should goto reply when it exists in pending

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agomon: osd crush rule create-simple functional tests 1202/head
Loic Dachary [Thu, 13 Feb 2014 12:54:49 +0000 (13:54 +0100)]
mon: osd crush rule create-simple functional tests

Basic tests and a test that create the conditions where an OSDMap
is pending with a ruleset that is not yet in the OSDMap. An attempt to
create a rule by the same name will return success and not create it again.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: osd crush rule functional tests
Loic Dachary [Sun, 9 Feb 2014 21:44:25 +0000 (22:44 +0100)]
mon: osd crush rule functional tests

* A set of test for the simplest operations
* A test covering all cases of osd crush rule

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1230 from ceph/wip-open-truncate
Sage Weil [Thu, 13 Feb 2014 13:00:17 +0000 (05:00 -0800)]
Merge pull request #1230 from ceph/wip-open-truncate

mds: properly replay dentry trace for open truncate.

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: add ruleset name to crush rule dump
Loic Dachary [Tue, 11 Feb 2014 17:25:51 +0000 (18:25 +0100)]
mon: add ruleset name to crush rule dump

The crush rule name is made an optional first argument. If not provided, it
defaults to dumping all rules.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: add missing format argument to crush dump
Loic Dachary [Sun, 9 Feb 2014 19:31:44 +0000 (20:31 +0100)]
mon: add missing format argument to crush dump

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: add missing format argument to crush rule dump
Loic Dachary [Sun, 9 Feb 2014 19:30:33 +0000 (20:30 +0100)]
mon: add missing format argument to crush rule dump

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: osd create pool test refactor
Loic Dachary [Thu, 13 Feb 2014 09:23:28 +0000 (10:23 +0100)]
mon: osd create pool test refactor

* Use test-helpers.sh instead of duplicating it
* Isolate each test in a separate function for clarity

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: minor improvement to test-helpers.sh
Loic Dachary [Sun, 9 Feb 2014 17:26:57 +0000 (18:26 +0100)]
mon: minor improvement to test-helpers.sh

* kill -9 daemons to better cope with stuck daemons
* reduce paxos propose interval to speedup tests
* look for erasure code plugins from the sources directory

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: if crush rule create-simple exists return
Loic Dachary [Sun, 9 Feb 2014 11:31:30 +0000 (12:31 +0100)]
mon: if crush rule create-simple exists return

And it is consistent with the above. Also use a slightly different
string to allow the caller to differentiate between the two cases.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: display item name in CrushWrapper::dump_rule()
Loic Dachary [Sun, 9 Feb 2014 20:40:08 +0000 (21:40 +0100)]
crush: display item name in CrushWrapper::dump_rule()

When an item name is available used it instead of displaying the number.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: cosmetic changes to CrushWrapper::dump_rule()
Loic Dachary [Sun, 9 Feb 2014 20:21:23 +0000 (21:21 +0100)]
crush: cosmetic changes to CrushWrapper::dump_rule()

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: add the dump_rule(int ruleset) method
Loic Dachary [Sun, 9 Feb 2014 20:18:45 +0000 (21:18 +0100)]
crush: add the dump_rule(int ruleset) method

And implement dump_rules() using dump_rule(). The indentiation and
variable names are intentionaly left as is to not confuse code being
moved around and the code changes.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: add CrushWrapper::dump_rules() unit test
Loic Dachary [Sun, 9 Feb 2014 20:17:31 +0000 (21:17 +0100)]
crush: add CrushWrapper::dump_rules() unit test

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocrush: fix leaks in TestCrushWrapper.cc
Loic Dachary [Sun, 9 Feb 2014 20:11:09 +0000 (21:11 +0100)]
crush: fix leaks in TestCrushWrapper.cc

To get a meaningfull valgrind output.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1222 from dachary/wip-pending-osdmap
Loic Dachary [Thu, 13 Feb 2014 09:16:40 +0000 (10:16 +0100)]
Merge pull request #1222 from dachary/wip-pending-osdmap

mon: control pending OSDMap for testing

Reviewed-by: Joao Eduardo Luis <joao@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agomon: remove racy tests from osd-pool-create.sh 1222/head
Loic Dachary [Wed, 12 Feb 2014 15:58:23 +0000 (16:58 +0100)]
mon: remove racy tests from osd-pool-create.sh

Use the admin socket to create the conditions by which a pool creation
is made to wait for the next paxos proposal because the required crush
ruleset is pending.

It replaces a fragile time sensitive workaround that could fail because
of race conditions. It also has the benefit of increase the speed of the
test because there is no need to wait for a long time just to accomodate
the slowest machines.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: add osdmonitor_prepare_command to the admin socket
Loic Dachary [Wed, 12 Feb 2014 15:49:32 +0000 (16:49 +0100)]
mon: add osdmonitor_prepare_command to the admin socket

It provides a developer path allowing functional tests to modify the
pending OSDMap without triggering a PaxosProposal.

It can be used as follows:

   echo '{"prefix":"osdmonitor_prepare_command","prepare":"osd crush tunables","profile":"bobtail"}' | nc -U out/mon.a.asok

It will transform the command into:

  {"prefix":"osd crush tunables","profile":"bobtail"}

and feed it to OSDMonitor::prepare_command_impl(). The pending OSDMap won't
be proposed because it short circuit PaxosService::dispatch. It will,
however, be proposed next time PaxosService::dispatch() gets a chance.

It cannot be used via the ceph command line.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: add --mon-advanced-debug-mode
Loic Dachary [Wed, 12 Feb 2014 17:49:50 +0000 (18:49 +0100)]
mon: add --mon-advanced-debug-mode

When this flag is true, the mon is expected to provide functionalities
that are for developer oriented debug purposes only. It is meant to
be used by the developer and not the system administrator, because it
would allow a non-developer to break things in ways that would be very
difficult to diagnose. It should probably not be documented.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: Monitor::send_reply gracefully handles no connection
Loic Dachary [Wed, 12 Feb 2014 15:48:04 +0000 (16:48 +0100)]
mon: Monitor::send_reply gracefully handles no connection

If req->get_connection() returns a null pointer, drop the reply instead
of crashing the monitor.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomon: split prepare_command in two
Loic Dachary [Wed, 12 Feb 2014 15:45:40 +0000 (16:45 +0100)]
mon: split prepare_command in two

So that it is possible to call prepare_command without a session
established and a cmdmap that has already been parsed.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomds: remove xattr when null value is given to setxattr() 1216/head
Yan, Zheng [Tue, 11 Feb 2014 05:32:23 +0000 (13:32 +0800)]
mds: remove xattr when null value is given to setxattr()

setxattr() should remove xattr if parameter 'value' is NULL. To
distinguish it from the zero-length value case, introduce a new
flag CEPH_XATTR_REMOVE for the setxattr request.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agomds: properly replay dentry trace for open truncate. 1230/head
Yan, Zheng [Thu, 13 Feb 2014 02:28:49 +0000 (10:28 +0800)]
mds: properly replay dentry trace for open truncate.

Open request created by ceph_atomic_open() wants dentry trace. But
the corresponding code is missing in Server::do_open_truncate().

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agodoc/release-notes: do not downgrade from v0.67.6
Sage Weil [Thu, 13 Feb 2014 02:02:58 +0000 (18:02 -0800)]
doc/release-notes: do not downgrade from v0.67.6

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: note about dumpling xattr backport
Sage Weil [Thu, 13 Feb 2014 01:55:50 +0000 (17:55 -0800)]
doc/release-notes: note about dumpling xattr backport

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoPendingReleaseNotes: note about cephfs backtrace updates
Sage Weil [Thu, 13 Feb 2014 01:42:16 +0000 (17:42 -0800)]
PendingReleaseNotes: note about cephfs backtrace updates

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1219 from ceph/wip-update-backtrace
Sage Weil [Thu, 13 Feb 2014 01:37:07 +0000 (17:37 -0800)]
Merge pull request #1219 from ceph/wip-update-backtrace

mds: force update backtraces for previously created FS

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon/OSDMonitor: fix legacy tunables warning
Sage Weil [Wed, 12 Feb 2014 21:18:04 +0000 (13:18 -0800)]
mon/OSDMonitor: fix legacy tunables warning

Warn on legacy tunables, not on non-optimal tunables.  Optimal is a moving
target, but it is really the legacy defaults that we want to push people
off of.

Fixes: #7399
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1224 from kdreyer-inktank/packaging-libdir
Sage Weil [Wed, 12 Feb 2014 18:35:07 +0000 (10:35 -0800)]
Merge pull request #1224 from kdreyer-inktank/packaging-libdir

packaging: do not package libdir/ceph recursively

11 years agopackaging: do not package libdir/ceph recursively 1224/head
Alexandre Oliva [Wed, 12 Feb 2014 17:46:50 +0000 (15:46 -0200)]
packaging: do not package libdir/ceph recursively

Package libdir/ceph non-recursively, to avoid duplicates, and
package libdir/ceph/ceph_common.sh explicitly.

Signed-off-by: Alexandre Oliva <oliva@gnu.org>
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
11 years agoMerge pull request #1215 from ceph/wip-7385
Sage Weil [Wed, 12 Feb 2014 17:54:30 +0000 (09:54 -0800)]
Merge pull request #1215 from ceph/wip-7385

Remove the max cached objects restriction for librbd

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1199 from ceph/wip-doc-librados-intro
Loic Dachary [Wed, 12 Feb 2014 16:25:42 +0000 (17:25 +0100)]
Merge pull request #1199 from ceph/wip-doc-librados-intro

Wip doc librados intro

Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1221 from dachary/wip-filestore
Loic Dachary [Wed, 12 Feb 2014 11:52:02 +0000 (12:52 +0100)]
Merge pull request #1221 from dachary/wip-filestore

tests: fix packaging for s/filestore/objectstore/

Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
11 years agotests: fix packaging for s/filestore/objectstore/ 1221/head
Loic Dachary [Wed, 12 Feb 2014 11:44:21 +0000 (12:44 +0100)]
tests: fix packaging for s/filestore/objectstore/

The binaries file name have changed and need to be updated in the
packaging files for deb and rpm. Fix a few leftovers as well.

Fixing 1a588f18ba0e57df64f8a48c1393a4bc65019571

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1220 from dachary/wip-filestore
Kri5 [Wed, 12 Feb 2014 11:26:28 +0000 (12:26 +0100)]
Merge pull request #1220 from dachary/wip-filestore

tests: fix objectstore tests

11 years agotests: fix objectstore tests 1220/head
Loic Dachary [Wed, 12 Feb 2014 10:52:37 +0000 (11:52 +0100)]
tests: fix objectstore tests

The objectstore test from 1a588f18ba0e57df64f8a48c1393a4bc65019571 was
missing a few changes.

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1212 from ywang19/master
Loic Dachary [Wed, 12 Feb 2014 08:06:31 +0000 (09:06 +0100)]
Merge pull request #1212 from ywang19/master

correct one command line at building packages section

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agomds: force update backtraces for previously created FS 1219/head
Yan, Zheng [Tue, 4 Feb 2014 13:53:31 +0000 (21:53 +0800)]
mds: force update backtraces for previously created FS

Update inode format version to 10, treat any previously created
inode as no backtrace. When inode with no backtrace is modified,
force update its backtrace.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
11 years agoMerge pull request #1168 from yuyuyu101/wip-refactor-objectstore-test
Sage Weil [Wed, 12 Feb 2014 05:17:05 +0000 (21:17 -0800)]
Merge pull request #1168 from yuyuyu101/wip-refactor-objectstore-test

Rename test/filestore to test/objectstore

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1218 from yuyuyu101/wip-misc-fix
Sage Weil [Wed, 12 Feb 2014 05:12:09 +0000 (21:12 -0800)]
Merge pull request #1218 from yuyuyu101/wip-misc-fix

Fix bad dealloctor

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoFix bad dealloctor 1218/head
Haomai Wang [Wed, 12 Feb 2014 04:04:30 +0000 (12:04 +0800)]
Fix bad dealloctor

Memory allocated by malloc() should be deallocated by free(), not 'delete'

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agocorrect one command line at building packages section 1212/head
ywang19 [Tue, 11 Feb 2014 05:14:32 +0000 (13:14 +0800)]
correct one command line at building packages section

Signed-off-by: Wang, Yaguang <yaguang.wang@intel.com>
11 years agoosdmaptool: fix cli test
Sage Weil [Wed, 12 Feb 2014 02:38:16 +0000 (18:38 -0800)]
osdmaptool: fix cli test

Encoding the extra tunable byte threw off the output here.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agotset_bufferlist: fix signed/unsigned comparison
Sage Weil [Tue, 11 Feb 2014 18:12:34 +0000 (10:12 -0800)]
tset_bufferlist: fix signed/unsigned comparison

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1185 from ceph/wip-crush
Loic Dachary [Tue, 11 Feb 2014 22:42:53 +0000 (23:42 +0100)]
Merge pull request #1185 from ceph/wip-crush

crush: "vary_r" tunable

Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agodoc: Incorporated feed back from Loic and Dan. 1199/head
John Wilkins [Tue, 11 Feb 2014 21:28:33 +0000 (13:28 -0800)]
doc: Incorporated feed back from Loic and Dan.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agodoc: Adds additional terms for use with librados.
John Wilkins [Tue, 11 Feb 2014 21:28:04 +0000 (13:28 -0800)]
doc: Adds additional terms for use with librados.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoObjectCacher: remove unused target/max setters 1215/head
Josh Durgin [Tue, 11 Feb 2014 19:47:48 +0000 (11:47 -0800)]
ObjectCacher: remove unused target/max setters

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agolibrbd: remove limit on number of objects in the cache
Josh Durgin [Tue, 11 Feb 2014 18:14:36 +0000 (10:14 -0800)]
librbd: remove limit on number of objects in the cache

The number of objects is not a significant indicated of when data
should be written out for rbd. Use the highest possible value for
number of objects and just rely on the dirty data limits to trigger
flushing. When the number of objects is low, and many start being
flushed before they accumulate many requests, it hurts average request
size and performance for many concurrent sequential writes.

Fixes: #7385
Backport: emperor, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoObjectCacher: use uint64_t for target and max values
Josh Durgin [Tue, 11 Feb 2014 19:53:00 +0000 (11:53 -0800)]
ObjectCacher: use uint64_t for target and max values

All the options are uint64_t, but the ObjectCacher was converting them
to int64_t. There's never any reason for these to be negative, so
change the type.

Adjust a few conditionals so that they only convert known-positive
signed values to uint64_t before comparing with the target and max
values. Leave the actual stats accounting as loff_t for now, since
bugs in accounting will have bad effects if negative values wrap
around.

Backport: emperor, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoObjectCacher: remove max_bytes and max_ob arguments to trim()
Josh Durgin [Tue, 11 Feb 2014 18:35:14 +0000 (10:35 -0800)]
ObjectCacher: remove max_bytes and max_ob arguments to trim()

These are never passed, so replace them with the defaults.

Backport: emperor, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agomon: allow firefly crush tunables to be selected 1185/head
Sage Weil [Tue, 11 Feb 2014 16:47:15 +0000 (08:47 -0800)]
mon: allow firefly crush tunables to be selected

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/rados/operations/crush: describe new vary_r tunable
Sage Weil [Tue, 11 Feb 2014 16:45:18 +0000 (08:45 -0800)]
doc/rados/operations/crush: describe new vary_r tunable

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush: add firefly tunables baseline test
Sage Weil [Wed, 5 Feb 2014 00:05:20 +0000 (16:05 -0800)]
crush: add firefly tunables baseline test

This is a user's map that gives different results when the vary_r tunable
is adjusted.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrushtool: new cli tests for the vary-r tunable
Sage Weil [Tue, 4 Feb 2014 23:59:22 +0000 (15:59 -0800)]
crushtool: new cli tests for the vary-r tunable

These illustrate the variation in mapping results as the vary_r tunable
is adjusted.  Note:

1- For the vary_r=0 case, we have several inputs that map to only a single
output:

      rule 3 (delltestrule) num_rep 4 result size == 1:\t27/1024 (esc)
      rule 3 (delltestrule) num_rep 4 result size == 2:\t997/1024 (esc)

This is the behavior we are fixing.  For all of the other values of
vary_r, we get 2 outputs for all inputs.

2- If we use vary_r 1, which is likely the most efficient computation,
we get lots of inputs that change.  By setting larger values of vary_r,
we can trade a bit of extra computation to get a mapping that is more
similar to the legacy behavior. This is useful for legacy clusters:

    $ for f in `seq 1 4` ; do diff -u test-map-vary-r-0.t test-map-vary-r-$f.t | grep -c -- +  ; done
    3030
    1629
    645
    228

The crushmap here comes from a user who was seeing a bad mapping for certain
pgs after some OSDs were reweighted by utilization.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush: add infrastructure around SET_CHOOSELEAF_VARY_R rule step/command
Sage Weil [Tue, 4 Feb 2014 23:33:08 +0000 (15:33 -0800)]
crush: add infrastructure around SET_CHOOSELEAF_VARY_R rule step/command

This will let you vary the vary_r tunable on a per-rule basis.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush: add SET_CHOOSELEAF_VARY_R step
Sage Weil [Tue, 4 Feb 2014 21:40:49 +0000 (13:40 -0800)]
crush: add SET_CHOOSELEAF_VARY_R step

This lets you adjust the vary_r tunable on a per-rule basis.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocrush: add infrastructure around new chooseleaf_vary_r tunable
Sage Weil [Tue, 4 Feb 2014 23:31:40 +0000 (15:31 -0800)]
crush: add infrastructure around new chooseleaf_vary_r tunable

- encoding
- feature bit
- decompile/compile

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1207 from dachary/wip-7378
Sage Weil [Tue, 11 Feb 2014 16:30:31 +0000 (08:30 -0800)]
Merge pull request #1207 from dachary/wip-7378

common: admin socket fallback to json-pretty format

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1198 from dachary/wip-mailmap
Loic Dachary [Tue, 11 Feb 2014 15:14:49 +0000 (16:14 +0100)]
Merge pull request #1198 from dachary/wip-mailmap

mailmap updates

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
11 years agomailmap: Derek Yarnell is with University of Mississippi 1198/head
Loic Dachary [Fri, 7 Feb 2014 16:44:05 +0000 (17:44 +0100)]
mailmap: Derek Yarnell is with University of Mississippi

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: Dmitry Smirnov is with Debian GNU/Linux
Loic Dachary [Fri, 7 Feb 2014 16:43:02 +0000 (17:43 +0100)]
mailmap: Dmitry Smirnov is with Debian GNU/Linux

Reviewed-by: Dmitry Smirnov <onlyjob@member.fsf.org>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: Eric Mourgaya is with Credit Mutuel Arkea
Loic Dachary [Mon, 10 Feb 2014 13:46:03 +0000 (14:46 +0100)]
mailmap: Eric Mourgaya is with Credit Mutuel Arkea

and name normalization

Reviewed-by: Eric Mourgaya <eric.mourgaya@arkea.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agocommon: admin socket fallback to json-pretty format 1207/head
Loic Dachary [Mon, 10 Feb 2014 22:42:38 +0000 (23:42 +0100)]
common: admin socket fallback to json-pretty format

If the format argument to a command sent to the admin socket is not
among the supported formats ( json, json-pretty, xml, xml-pretty ) the
new_formatter function will return null and the AdminSocketHook::call
function must fall back to a sensible default.

The CephContextHook::call and HelpHook::call failed to do that and a
malformed format argument would cause the mon to crash. A check is added
to each of them and fallback to json-pretty if the format is not
recognized.

To further protect AdminSocketHook::call implementations from similar
problems the format argument is checked immediately after accepting the
command in AdminSocket::do_accept and replaced with json-pretty if it is
not known.

A test case is added for both CephContextHook::call and HelpHook::call
to demonstrate the problem exists and is fixed by the patch.

Three other instances of unsafe calls to new_formatter were found and
a fallback to json-pretty was added. All other calls have been audited
and appear to be safe.

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

Backport: emperor, dumpling
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoclient ownership info validation corrected
Babu Shanmugam [Tue, 11 Feb 2014 05:52:31 +0000 (05:52 +0000)]
client ownership info validation corrected

11 years agoUpdated client code to complete PUT and DELETE requests
Babu Shanmugam [Tue, 11 Feb 2014 05:44:53 +0000 (05:44 +0000)]
Updated client code to complete PUT and DELETE requests

11 years agoMerge pull request #1209 from fghaas/master
John Wilkins [Mon, 10 Feb 2014 23:52:31 +0000 (15:52 -0800)]
Merge pull request #1209 from fghaas/master

doc: highlight that "raw" is the only useful RBD format for QEMU

11 years agodoc: highlight that "raw" is the only useful RBD format for QEMU 1209/head
Florian Haas [Mon, 10 Feb 2014 23:04:06 +0000 (00:04 +0100)]
doc: highlight that "raw" is the only useful RBD format for QEMU

Explain why people should be using the "raw" image format for RBD
volumes created for use by QEMU: using any other format adds only
overhead, but no extra value (since RBDs are also CoW and
thin-provisioned), plus the Qcow2 storage driver is not migration safe
when caching is enabled, whereas the RBD driver is.

Also, fix a minor glitch in the example qemu-img commands ("-f rbd"
and "-O rbd" should really be "-f raw" and "-O raw").

Finally, drop the "-f" option altogether on qemu-img commands where it
makes no sense (info and resize).

Signed-off-by: Florian Haas <florian@hastexo.com>
11 years agoMerge branch wip-librados-timeout
Josh Durgin [Mon, 10 Feb 2014 21:49:23 +0000 (13:49 -0800)]
Merge branch wip-librados-timeout

Reviewed-by: Sage Weil <sage@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1205 from ceph/wip-7334
Josh Durgin [Mon, 10 Feb 2014 21:09:40 +0000 (13:09 -0800)]
Merge pull request #1205 from ceph/wip-7334

use `partx` for CentOS/RHEL instead of `partprobe`
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #1204 from ceph/wip-fsetpipesz-fix
Josh Durgin [Mon, 10 Feb 2014 20:59:03 +0000 (12:59 -0800)]
Merge pull request #1204 from ceph/wip-fsetpipesz-fix

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoqa: add script for testing rados client timeout options
Josh Durgin [Thu, 6 Feb 2014 01:26:02 +0000 (17:26 -0800)]
qa: add script for testing rados client timeout options

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agorados: check return values for commands that can now fail
Josh Durgin [Thu, 6 Feb 2014 01:25:24 +0000 (17:25 -0800)]
rados: check return values for commands that can now fail

A few places were not checking the return values of commands, since
they could not fail before timeouts were added.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agolibrados: check and return on error so timeouts work
Josh Durgin [Thu, 6 Feb 2014 01:24:16 +0000 (17:24 -0800)]
librados: check and return on error so timeouts work

Some functions could not previously return errors, but they had an
int return value, which can now receive ETIMEDOUT.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agomsg/Pipe: add option to restrict delay injection to specific msg type
Josh Durgin [Thu, 6 Feb 2014 01:22:14 +0000 (17:22 -0800)]
msg/Pipe: add option to restrict delay injection to specific msg type

This makes it possible to test timeouts reliably by delaying certain
messages effectively forever, but still being able to e.g. connect and
authenticate to the monitors.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMonClient: add a timeout on commands for librados
Josh Durgin [Tue, 4 Feb 2014 02:30:00 +0000 (18:30 -0800)]
MonClient: add a timeout on commands for librados

Just use the conf option directly, since librados is the only caller.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoObjecter: implement mon and osd operation timeouts
Josh Durgin [Tue, 4 Feb 2014 01:59:21 +0000 (17:59 -0800)]
Objecter: implement mon and osd operation timeouts

This captures almost all operations from librados other than mon_commands().

Get the values for the timeouts from the Objecter constructor, so only
librados uses them.

Add C_Cancel_*_Op, finish_*_op(), and *_op_cancel() for each type of
operation, to mirror those for Op. Create a callback and schedule it
in the existing timer thread if the timeouts are specified.

Fixes: #6507
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoalert the user about error messages from partx 1205/head
Alfredo Deza [Mon, 10 Feb 2014 20:07:55 +0000 (15:07 -0500)]
alert the user about error messages from partx

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
11 years agouse partx for red hat or centos instead of partprobe
Alfredo Deza [Fri, 7 Feb 2014 16:55:01 +0000 (11:55 -0500)]
use partx for red hat or centos instead of partprobe

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Mon, 10 Feb 2014 18:19:55 +0000 (10:19 -0800)]
Merge remote-tracking branch 'gh/next'

11 years agocommon/buffer: fix build breakage for CEPH_HAVE_SETPIPE_SZ 1204/head
Ilya Dryomov [Mon, 10 Feb 2014 17:34:44 +0000 (19:34 +0200)]
common/buffer: fix build breakage for CEPH_HAVE_SETPIPE_SZ

common/buffer.cc fails to build if CEPH_HAVE_SETPIPE_SZ is defined.
Fix it.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoconfigure: fix F_SETPIPE_SZ detection
Ilya Dryomov [Mon, 10 Feb 2014 17:34:44 +0000 (19:34 +0200)]
configure: fix F_SETPIPE_SZ detection

Currently CEPH_HAVE_SETPIPE_SZ is not set even if F_SETPIPE_SZ is
available, because AC_COMPILE_IFELSE test program as written always
fails to compile.  F_SETPIPE_SZ is a macro, so use AC_EGREP_CPP which
works on the preprocessor output instead of trying to compile.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agoconfigure: don't check for arpa/nameser_compat.h twice
Ilya Dryomov [Mon, 10 Feb 2014 17:34:44 +0000 (19:34 +0200)]
configure: don't check for arpa/nameser_compat.h twice

Nuke redundant check and move the real one into the common
AC_CHECK_HEADERS stanza.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
11 years agolibcephfs: fix documentation for ceph_readlink
Casey Bodley [Mon, 10 Feb 2014 16:33:09 +0000 (11:33 -0500)]
libcephfs: fix documentation for ceph_readlink

ceph_readlink() and ceph_ll_readlink() both return the number of bytes
copied on success, which the callers need to guarantee null-termination

Signed-off-by: Casey Bodley <casey@linuxbox.com>