]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agoAsyncConnection: avoid is_connected require connection's lock 8520/head
Haomai Wang [Sun, 10 Apr 2016 07:21:55 +0000 (15:21 +0800)]
AsyncConnection: avoid is_connected require connection's lock

Fixes: http://tracker.ceph.com/issues/15440
Signed-off-by: Haomai Wang <haomai@xsky.com>
9 years agoMerge pull request #8500 from linuxbox2/ldap-include
Dan Mick [Fri, 8 Apr 2016 00:43:18 +0000 (17:43 -0700)]
Merge pull request #8500 from linuxbox2/ldap-include

rgw_ldap: make ldap.h inclusion conditional

Reviewed-by: Dan Mick <dmick@redhat.com>
9 years agoMerge pull request #8495 from athanatos/wip-14777
Sage Weil [Thu, 7 Apr 2016 23:40:56 +0000 (19:40 -0400)]
Merge pull request #8495 from athanatos/wip-14777

osd/ReplicatedPG::_rollback_to: update the OMAP flag

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agorgw_ldap: make ldap.h inclusion conditional 8500/head
Matt Benjamin [Thu, 7 Apr 2016 23:39:40 +0000 (19:39 -0400)]
rgw_ldap: make ldap.h inclusion conditional

The feature implementation is conditional, embarassingly, the
header inclusion is not.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agoMerge pull request #8493 from dillaman/wip-15354
Josh Durgin [Thu, 7 Apr 2016 21:49:22 +0000 (14:49 -0700)]
Merge pull request #8493 from dillaman/wip-15354

test: fix valgrind memcheck issues for rbd-mirror test cases

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #8490 from dillaman/wip-15097
Josh Durgin [Thu, 7 Apr 2016 21:11:10 +0000 (14:11 -0700)]
Merge pull request #8490 from dillaman/wip-15097

rbd: journal reset should disable/re-enable journaling feature

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #8477 from dillaman/wip-15364
Josh Durgin [Thu, 7 Apr 2016 21:07:51 +0000 (14:07 -0700)]
Merge pull request #8477 from dillaman/wip-15364

journal: fix race condition between Future and journal shutdown

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agotest: fix memory leaks in rbd-mirror test cases 8493/head
Jason Dillaman [Thu, 7 Apr 2016 20:40:45 +0000 (16:40 -0400)]
test: fix memory leaks in rbd-mirror test cases

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agotest: avoid leaking librados connections when creating pools
Jason Dillaman [Thu, 7 Apr 2016 20:38:33 +0000 (16:38 -0400)]
test: avoid leaking librados connections when creating pools

Fixes: http://tracker.ceph.com/issues/15354
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agorbd: journal reset should disable/re-enable journaling feature 8490/head
Jason Dillaman [Thu, 7 Apr 2016 19:39:06 +0000 (15:39 -0400)]
rbd: journal reset should disable/re-enable journaling feature

Fixes: http://tracker.ceph.com/issues/15097
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agomon: warn if 'sortbitwise' flag is not set and no legacy OSDs are presentReviewed...
Samuel Just [Thu, 7 Apr 2016 18:05:47 +0000 (11:05 -0700)]
mon: warn if 'sortbitwise' flag is not set and no legacy OSDs are presentReviewed-by: Samuel Just <sjust@redhat.com>

mon: warn if 'sortbitwise' flag is not set and no legacy OSDs are present

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #8476 from dillaman/wip-rbd-mirror-lockdep
Josh Durgin [Thu, 7 Apr 2016 17:14:13 +0000 (10:14 -0700)]
Merge pull request #8476 from dillaman/wip-rbd-mirror-lockdep

rbd-mirror: workaround for intermingled lockdep singletons

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #8456 from dreamhost/wip-authtool-help
Sage Weil [Thu, 7 Apr 2016 15:44:30 +0000 (11:44 -0400)]
Merge pull request #8456 from dreamhost/wip-authtool-help

authtool: update --help and manpage to match code.

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8446 from liewegas/wip-15366
Sage Weil [Thu, 7 Apr 2016 15:36:34 +0000 (11:36 -0400)]
Merge pull request #8446 from liewegas/wip-15366

osd: fix/clean up full map request handling

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #8472 from jmunhoz/fix-aws4-subdomain-calling
Orit Wasserman [Thu, 7 Apr 2016 14:59:09 +0000 (16:59 +0200)]
Merge pull request #8472 from jmunhoz/fix-aws4-subdomain-calling

rgw: aws4 subdomain calling bugfix
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
9 years agorbd-mirror: workaround for intermingled lockdep singletons 8476/head
Jason Dillaman [Wed, 6 Apr 2016 20:08:15 +0000 (16:08 -0400)]
rbd-mirror: workaround for intermingled lockdep singletons

If librados constructs the CephContext, lockdep will be initialized
in both the librados shared address space and also within the app
address space.  This breaks lockdep's functionality and results in
a crash upon shutdown.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #8460 from linuxbox2/jewel-nfs-fixes-3
Matt Benjamin [Thu, 7 Apr 2016 14:26:11 +0000 (10:26 -0400)]
Merge pull request #8460 from linuxbox2/jewel-nfs-fixes-3

Jewel nfs fixes 3

9 years agolibrbd: restore out-of-band future callbacks to avoid lock cycles 8477/head
Jason Dillaman [Wed, 6 Apr 2016 21:30:11 +0000 (17:30 -0400)]
librbd: restore out-of-band future callbacks to avoid lock cycles

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agorgw: aws4 subdomain calling bugfix 8472/head
Javier M. Mellid [Wed, 6 Apr 2016 13:23:17 +0000 (15:23 +0200)]
rgw: aws4 subdomain calling bugfix

Fixes: http://tracker.ceph.com/issues/15369
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
9 years agoMerge pull request #8457 from dreamhost/wip-virtualenv-tmpdir
Loic Dachary [Thu, 7 Apr 2016 05:24:45 +0000 (07:24 +0200)]
Merge pull request #8457 from dreamhost/wip-virtualenv-tmpdir

build: Respect TMPDIR for virtualenv.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoauthtool: fix test output validation & minor whitespace. 8456/head
Robin H. Johnson [Wed, 6 Apr 2016 16:42:54 +0000 (09:42 -0700)]
authtool: fix test output validation & minor whitespace.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
9 years agojournal: fix context memory leak when shutting down live replay
Jason Dillaman [Wed, 6 Apr 2016 21:20:30 +0000 (17:20 -0400)]
journal: fix context memory leak when shutting down live replay

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agojournal: Future does not require metadata shared pointer
Jason Dillaman [Wed, 6 Apr 2016 21:18:33 +0000 (17:18 -0400)]
journal: Future does not require metadata shared pointer

Avoid keeping the metadata object alive through the lifespan of the
future.  Callers can expect to receive a re-entrant callback if the
future is already safe and flush/wait is invoked.

Fixes: http://tracker.ceph.com/issues/15364
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agomon: warn if 'sortbitwise' flag is not set and no legacy OSDs are present 8432/head
Sage Weil [Wed, 6 Apr 2016 21:03:53 +0000 (17:03 -0400)]
mon: warn if 'sortbitwise' flag is not set and no legacy OSDs are present

If the user has upgraded, they should set sortbitwise.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8418 from liewegas/wip-blk-probe
Sage Weil [Wed, 6 Apr 2016 20:57:11 +0000 (16:57 -0400)]
Merge pull request #8418 from liewegas/wip-blk-probe

os/ObjectStore: make device uuid probe output something friendly

9 years agoMerge pull request #8428 from liewegas/wip-rest-mds
Sage Weil [Wed, 6 Apr 2016 20:10:53 +0000 (16:10 -0400)]
Merge pull request #8428 from liewegas/wip-rest-mds

ceph-rest-api: fix fs/flag/set

9 years agoMerge pull request #7981 from liewegas/wip-14364
Sage Weil [Wed, 6 Apr 2016 19:52:10 +0000 (15:52 -0400)]
Merge pull request #7981 from liewegas/wip-14364

osdc/Objecter: fix narrow race with tid assignment

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #8403 from dx9/wip-ceph-dencoder-esessions-fix
Sage Weil [Wed, 6 Apr 2016 19:51:40 +0000 (15:51 -0400)]
Merge pull request #8403 from dx9/wip-ceph-dencoder-esessions-fix

mds: Add cmapv to ESessions default constructor initializer list

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8419 from adamemerson/wip-32bit-time
Sage Weil [Wed, 6 Apr 2016 19:49:22 +0000 (15:49 -0400)]
Merge pull request #8419 from adamemerson/wip-32bit-time

common: fix time_t cast in decode

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8431 from liewegas/wip-bluestore
Sage Weil [Wed, 6 Apr 2016 19:48:45 +0000 (15:48 -0400)]
Merge pull request #8431 from liewegas/wip-bluestore

os/bluestore: revamp BlueFS bdev management and add perfcounters

9 years agoMerge pull request #8445 from jmunhoz/fix-aws4-uri-encoding
Orit Wasserman [Wed, 6 Apr 2016 18:37:58 +0000 (20:37 +0200)]
Merge pull request #8445 from jmunhoz/fix-aws4-uri-encoding

rgw: aws4 uri encoding bugfix
Review-by: Orit Wasserman <owasserm@redhat.com>
9 years agoMerge pull request #8450 from javacruft/tasksmax-infinity 10932/head
Sage Weil [Wed, 6 Apr 2016 13:36:15 +0000 (09:36 -0400)]
Merge pull request #8450 from javacruft/tasksmax-infinity

systemd: drop any systemd imposed process/thread limits

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agodebian/rules: include ceph-mds-*.conf upstart files in ceph-mds
Sage Weil [Wed, 6 Apr 2016 12:55:49 +0000 (08:55 -0400)]
debian/rules: include ceph-mds-*.conf upstart files in ceph-mds

These were lost by a typo in 0cbe3dea69604730bc7dba7bc3844294f4c9ac5a

Fixes: http://tracker.ceph.com/issues/15395
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8459 from jdurgin/wip-rbd-op-threads
Jason Dillaman [Wed, 6 Apr 2016 11:46:53 +0000 (07:46 -0400)]
Merge pull request #8459 from jdurgin/wip-rbd-op-threads

librbd: disallow unsafe rbd_op_threads values

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
9 years agoMerge pull request #8455 from liewegas/wip-legacy-layout-zero
John Spray [Wed, 6 Apr 2016 10:41:24 +0000 (11:41 +0100)]
Merge pull request #8455 from liewegas/wip-legacy-layout-zero

mds: fix file_layout_t legacy encoding snafu

Reviewed-by: John Spray <john.spray@redhat.com>
9 years agoos/bluestore: use short, relative paths with bluefs 8431/head
Sage Weil [Wed, 6 Apr 2016 01:26:06 +0000 (21:26 -0400)]
os/bluestore: use short, relative paths with bluefs

If we're using bluefs, only pass in the short relative
path (db, db.wal, db.slow).  The leading components
are ignored and only lead to errors if the configuration
provides relative paths that do not match (e.g., if one
if using ceph-objectstore-tool).

Fixes: http://tracker.ceph.com/issues/15376
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agolibrbd: disallow unsafe rbd_op_threads values 8459/head
Josh Durgin [Tue, 5 Apr 2016 22:30:18 +0000 (15:30 -0700)]
librbd: disallow unsafe rbd_op_threads values

Don't use this config option in librbd until
http://tracker.ceph.com/issues/15034 is avoided.

The option itself is still useful for mirroring threads, where
ordering is unimportant.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
9 years agolibrgw/rgw_file: correctly handle object permissions 8460/head
Matt Benjamin [Tue, 5 Apr 2016 22:22:04 +0000 (18:22 -0400)]
librgw/rgw_file:  correctly handle object permissions

Implement the full object permission model for librgw (aka, NFS
and similar) operations.

Fixes DIRS1 unit tests.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorgw_file: print DIRS1 read parameters at verbose
Matt Benjamin [Tue, 5 Apr 2016 20:19:53 +0000 (16:19 -0400)]
rgw_file: print DIRS1 read parameters at verbose

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorgw_file: fix attributes for "special" test cases
Matt Benjamin [Sat, 2 Apr 2016 19:14:25 +0000 (15:14 -0400)]
rgw_file:  fix attributes for "special" test cases

If a caller does an atomic create using rgw_lookup() and
RGW_LOOKUP_FLAG_CREATE, it needs to fix up the attributes using
create_stat().

For use outside of test cases, it probably needs an interlock also,
but for now, do just enough to satisfy existing attribute checks.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agorgw_file unit tests: validate Unix owners in DIRS1
Matt Benjamin [Mon, 28 Mar 2016 20:36:57 +0000 (16:36 -0400)]
rgw_file unit tests: validate Unix owners in DIRS1

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
9 years agoauthtool: update --help and manpage to match code.
Robin H. Johnson [Tue, 5 Apr 2016 22:10:13 +0000 (22:10 +0000)]
authtool: update --help and manpage to match code.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
9 years agobuild: Respect TMPDIR for virtualenv. 8457/head
Robin H. Johnson [Tue, 5 Apr 2016 21:27:16 +0000 (21:27 +0000)]
build: Respect TMPDIR for virtualenv.

Gentoo's normal build process uses a sandbox to catch writes outside the
build environment; this includes providing a value other than /tmp for
TMPDIR. Use TMPDIR by default for CEPH_BUILD_VIRTUALENV.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
9 years agocommon/fs_types: dump pool_id signed 8455/head
Sage Weil [Tue, 5 Apr 2016 20:31:18 +0000 (16:31 -0400)]
common/fs_types: dump pool_id signed

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agomds: fix legacy layout decode with pool 0
Sage Weil [Tue, 5 Apr 2016 20:37:25 +0000 (16:37 -0400)]
mds: fix legacy layout decode with pool 0

If you data pool was pool 0, this was transforming
that to -1 unconditionally, which broke upgrades.  We
only want do that for a fully zeroed ceph_file_layout,
so that it still maps to a file_layout_t.  If any fields
are set, though, we trust the fl_pgpool to be a valid
pool.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8447 from cbodley/wip-cmake-mrun
Orit Wasserman [Tue, 5 Apr 2016 19:42:48 +0000 (21:42 +0200)]
Merge pull request #8447 from cbodley/wip-cmake-mrun

mrun: update path to cmake binaries

9 years agoMerge pull request #8430 from wjin/fix
Kefu Chai [Tue, 5 Apr 2016 16:37:41 +0000 (00:37 +0800)]
Merge pull request #8430 from wjin/fix

crush: fix error log

Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoDrop any systemd imposed process/thread limits 8450/head
James Page [Tue, 5 Apr 2016 16:32:59 +0000 (17:32 +0100)]
Drop any systemd imposed process/thread limits

If systemd has task accounting enabled, a default of 512 tasks
will be applied to all systemd units.

For ceph, this is way to low even for a modest cluster, so stop
this restriction being applied and allow administrators to apply
limits using sysctl.

Signed-off-by: James Page <james.page@ubuntu.com>
9 years agomrun: update path to cmake binaries 8447/head
Casey Bodley [Tue, 5 Apr 2016 14:38:39 +0000 (10:38 -0400)]
mrun: update path to cmake binaries

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agoos/bluestore/BlueFS: add some perfcounters
Sage Weil [Mon, 4 Apr 2016 18:56:13 +0000 (14:56 -0400)]
os/bluestore/BlueFS: add some perfcounters

Most utilization-related.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/bluestore/BlueFS: revamp bdev ids
Sage Weil [Mon, 4 Apr 2016 18:39:18 +0000 (14:39 -0400)]
os/bluestore/BlueFS: revamp bdev ids

You cannot tell from the old bdev vector which device
was which.

- use a fixed id for each type/slot
- go from fast(small) to slow(big)
- normalize the allocation fallback to try any slower
  device.
- clean up the BlueStore instantiation/setup accordingly

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoos/ObjectStore: make device uuid probe output something friendly 8418/head
Sage Weil [Tue, 5 Apr 2016 15:10:54 +0000 (11:10 -0400)]
os/ObjectStore: make device uuid probe output something friendly

Otherwise, all you see is errors about the probes that failed (e.g., a
failure to decode a non-bluestore superblock as bluestore).

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agorgw: aws4 uri encoding bugfix 8445/head
Javier M. Mellid [Tue, 5 Apr 2016 14:00:10 +0000 (16:00 +0200)]
rgw: aws4 uri encoding bugfix

Fixes: http://tracker.ceph.com/issues/15358
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
9 years agomon/OSDMonitor: fix off-by-one for osd_map_message_max 8446/head
Sage Weil [Tue, 5 Apr 2016 13:58:02 +0000 (09:58 -0400)]
mon/OSDMonitor: fix off-by-one for osd_map_message_max

For most messages we were sending osd_map_message_max + 1 maps.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8131 from ErwanAliasr1/evelu-fast-check
Loic Dachary [Tue, 5 Apr 2016 13:52:52 +0000 (15:52 +0200)]
Merge pull request #8131 from ErwanAliasr1/evelu-fast-check

tests: Improving 'make check' execution time

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoosd: improve full map requests
Sage Weil [Tue, 5 Apr 2016 13:45:33 +0000 (09:45 -0400)]
osd: improve full map requests

If we don't get all the full maps we want, request more
immediately.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosd: create rerequest_full_maps() helper
Sage Weil [Tue, 5 Apr 2016 13:45:04 +0000 (09:45 -0400)]
osd: create rerequest_full_maps() helper

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoconfig: fix setuser_match_path typo
Kefu Chai [Tue, 5 Apr 2016 12:53:25 +0000 (08:53 -0400)]
config: fix setuser_match_path typo

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #8433 from ceph/wip-setuser-match-path
Sage Weil [Tue, 5 Apr 2016 12:53:04 +0000 (08:53 -0400)]
Merge pull request #8433 from ceph/wip-setuser-match-path

global/global_init: expand metavariables in setuser_match_path

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #8438 from tchaikov/wip-fix-cmake
Orit Wasserman [Tue, 5 Apr 2016 09:40:44 +0000 (11:40 +0200)]
Merge pull request #8438 from tchaikov/wip-fix-cmake

cmake: fix the build of test_rados_api_list

9 years agotests: Removing one ceph-dencoder call in check-generated.sh 8131/head
Erwan Velu [Thu, 24 Mar 2016 14:26:55 +0000 (15:26 +0100)]
tests: Removing one ceph-dencoder call in check-generated.sh

The first ceph-dencoder call is very unlikely to fail and represent a
bottleneck as the parallel computation are only done one this test is
completed.

The idea of this patch is to run immediately the 4 dencoders process in
parallel and check the resulting error code. If one fail then we report the
failure.

As the failure is very unlikely, that saves time and makes the code
simplier too.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Fixing python statement in ceph_objectstore_tool.py
Erwan Velu [Wed, 23 Mar 2016 13:07:36 +0000 (14:07 +0100)]
tests: Fixing python statement in ceph_objectstore_tool.py

As reported by Kefu, "if ++try == 150" doesn't do what we are
expecting. This is C-style coding which is invalid in Python.

So this patch is splitting the increment and the test.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Avoiding a fixed 10sec sleep in test_mon_cephdf_commands()
Erwan Velu [Wed, 23 Mar 2016 10:13:48 +0000 (11:13 +0100)]
tests: Avoiding a fixed 10sec sleep in test_mon_cephdf_commands()

The current code was waiting 10s to expect the file being put.
If the file was put in a shorter time than 10s, the test just waits for
nothing reducing the execution speed of that test.

This patch simply check if the file is actually available every second
during 10sec to exit prematurely.

This patch saves exactly 10 sec on a local system, surely a little bit
less on an infra but still saves time.
Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Optmizing sleep sequence in cephtool/test.sh
Erwan Velu [Wed, 23 Mar 2016 09:45:33 +0000 (10:45 +0100)]
tests: Optmizing sleep sequence in cephtool/test.sh

The actual code double the wait time between two calls leading to a
possible 511s of waiting time which sounds a little bit excessive.

This patch offer to reduce the global wait time to 300s and test more
often the rados status to exit the loop earlier. In a local test, that
saves 6 secs per run.
Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Moving sleep call after action in ceph_watch_wait()
Erwan Velu [Wed, 23 Mar 2016 09:22:28 +0000 (10:22 +0100)]
tests: Moving sleep call after action in ceph_watch_wait()

ceph_watch_wait() is doing a sleep _before_ doing the test which could
stop this loop.

It's better doing the action first as it could exit immediately and
avoid a useless sleep.

That's a minor optimization but everything count when trying to get
something smooth.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Reducing sleep loops in ceph_objectstore_tool
Erwan Velu [Tue, 22 Mar 2016 10:20:24 +0000 (11:20 +0100)]
tests: Reducing sleep loops in ceph_objectstore_tool

This python script is making excessive sleep calls while running some
ceph commands.

Waiting up to 5 seconds to get the proper health status can be shorten
to avoid the worst case of waiting almost 5 seconds for nothing.

This patch removes also two sleeps calls after a wait_for_health call
which is already supposed to provides a clean state. Waiting
respectively 20 & 15 seconds after that call is just loosing time which
is precious at make check time.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Reducing sleep time for osd to be up
Erwan Velu [Mon, 21 Mar 2016 15:20:25 +0000 (16:20 +0100)]
tests: Reducing sleep time for osd to be up

OSDs are taking some time to be up but waiting 10 secs seems execessive
here between two loops. In the worst case, we can be in a situation of
waiting 10secs for nothing as we are just a few microsecs after the osd
is up.

This patch simply reduce the sleep from 10 to 1 seconds.
Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Optimizing kill_daemons() sleep time
Erwan Velu [Mon, 21 Mar 2016 11:12:13 +0000 (12:12 +0100)]
tests: Optimizing kill_daemons() sleep time

It could sounds like nothing but the actual sleeping rampup is counter
productive.

The code does : kill <proc>; sleep 0; kill <proc>; sleep 0; kill <proc;
sleep 1; and then it grows up 120 seconds by a smooth rampup.

But actually there is almost no chance the process dies so fast meaning
that by default we switch to the sleep 1.

Moving from sleep 0 to sleep 1 doesn't seems a big win but as
kill_daemons() is called very often we can save a lot of time by then
end.

This patch offer to sleep first a 1/10th of second instead of 0 and then
1/20th of second instead of 0.

The sleep call is also moved after the kill call as it's not necessary
waiting before executing the command.

This patch makes the running time of a test like osd-scrub-repair.sh
dropping from 7m30 to 7m7.

Saving another ~30seconds is an interesting win at make check level.
Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Making "objectstore" calls parallel in osd-scrub-repair.sh
Erwan Velu [Mon, 21 Mar 2016 10:47:51 +0000 (11:47 +0100)]
tests: Making "objectstore" calls parallel in osd-scrub-repair.sh

osd-scrub-repair is making several similar objectore calls in a
sequential way while they could be easily parallelized.

Each single objectore call can spent up to dozen of seconds so making
the call parallel is saving a lot of time while keeping the code pretty
simple.

This particular patch saves approx. 2 minutes on the actual code on a recent
laptop. The global running time of osd-scrub-repair drops from 9m33 to
7m37 !
Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Optimizing wait_for_clean()
Erwan Velu [Mon, 21 Mar 2016 10:30:13 +0000 (11:30 +0100)]
tests: Optimizing wait_for_clean()

wait_for_clean() is a very common call when running the make check.
It does wait the cluster to be stable before continuing.

This script was doing the same calls twice and could be optimized by
making the useful calls only once.

is_clean() function was checking num_pgs & get_num_active_clean()
The main loop itself was also calling get_num_active_clean()

This patch is inlining the is_clean() inside this loop to benefit from a
single get_num_active_clean() call. This avoid a useless call of (ceph +
xmlstarlet).

This patch does move all the 'timer reset' conditions into an else
avoiding spawning other ceph+xmlstarlet call while we already know we
should reset the timer.

The last modification is to reduce the sleeping time as the state of the
cluster is changing very fast.

This whole patch could looks like almost not a big win but for a test
like test/osd/osd-scrub-repair.sh, we drop from 9m56 to 9m30 while
reducing the number system calls.

At the scale of make check, that's a lot of saving.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Reducing commands in get_num_active_clean()
Erwan Velu [Mon, 21 Mar 2016 10:16:12 +0000 (11:16 +0100)]
tests: Reducing commands in get_num_active_clean()

get_num_active_clean() is called very often but spawn 1 useless process.
The current "grep -v | wc -l" can be easily replaced by "grep -cv" which
do the same while spawning one process less.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Killing daemons in parallel
Erwan Velu [Mon, 21 Mar 2016 10:14:04 +0000 (11:14 +0100)]
tests: Killing daemons in parallel

The current code of kill_daemons() was killing daemons one after the
other and wait it to actually die before switching to the next one.

This patch makes the kill_daemons() loop being run in parallel to avoid
this bottleneck.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Adding parallelism to check-generated.sh
Erwan Velu [Wed, 16 Mar 2016 15:54:35 +0000 (16:54 +0100)]
tests: Adding parallelism to check-generated.sh

This script had the following performance issue :
- 4 ceph-dencoders spawn sequentialy
- running twice the same dencoder command

This patch is adding parallelism around the 4 sequential calls but also
prevent from testing the deterministic feature twice.

On a recent laptop, this patch drops the running time from 7mn to 3m46
while keeping the loadavg < 2.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Adding parallelism for sequential ceph-dencoder calls
Erwan Velu [Wed, 16 Mar 2016 13:24:04 +0000 (14:24 +0100)]
tests: Adding parallelism for sequential ceph-dencoder calls

The current code was running sequentially two ceph-dencoder calls.
This process is executed pretty fast but adding sequentiality and by the number
of loops to execute, it have a cost.

This patch is just making this two calls being run in parallel.

As a result, the test/encoding/readable.sh test is running in 4m50 instead of 6.
The associate loadavg isn't impacted as it stays at 6 while being run with
nproc=8.

This patch save 1/6th of building time without impact the loadavg.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Adding parallelism to encoding/readable.sh
Erwan Velu [Tue, 15 Mar 2016 15:00:17 +0000 (16:00 +0100)]
tests: Adding parallelism to encoding/readable.sh

When running make -j x check, we face a weird situation where the makefile
targets are spawn in parallel up to "x" but one of those target is very very
long and sequential.

The "readable.sh" test is trying to run ~7.9K tests where 5.3K are actually
executed.

The current code is taking 23mn on a recent laptop (Intel(R) Core(TM)
i7-4810MQ CPU @ 2.80GHz, 32GB of RAM & SSD).

This patch implements parallelism to speed up this process which is not really CPU and
neither IO bound.

By default, readable.sh is now using the number of logical processors to determine
the level of parallelism (by using nproc). If needed, defining the MAX_PARALLEL_JOBS
variable will override this default value.

On the same system, where nproc=8, the resulting execution time is 5m55 seconds :
4x faster than the original code.

The global 'make check' is therefore getting faster too and dropped from 30 to
16 minutes : 2x faster than the original code.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agotests: Adding parallelism helpers in ceph-helpers.sh
Erwan Velu [Thu, 24 Mar 2016 09:57:38 +0000 (10:57 +0100)]
tests: Adding parallelism helpers in ceph-helpers.sh

This commit introduce two new functions in ceph-helpers.sh to ease
parallelism in tests.

It's based on two functions : run_in_background() & wait_background()

The first one allow you to spawn processes or functions in background and saves
the associated pid in a variable passed as first argument.

The second one waits for thoses pids to complete and report their exit status.
If one or more failed then wait_background() reports a failure.

A typical usage looks like :

 pids1=""
 run_in_background pids1 bash -c 'sleep 5; exit 0'
 run_in_background pids1 bash -c 'sleep 1; exit 1'
 run_in_background pids1 my_bash_function
 wait_background pids1

The variable that contains pids is local making possible to do nested calls of
thoses two new functions.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agocmake: fix the build of test_rados_api_list 8438/head
Kefu Chai [Tue, 5 Apr 2016 06:19:55 +0000 (14:19 +0800)]
cmake: fix the build of test_rados_api_list

the libglobal linkage was added in 769c0af, so add it to cmake
accordingly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
9 years agoMerge pull request #8435 from dillaman/wip-15370
Josh Durgin [Tue, 5 Apr 2016 01:11:48 +0000 (18:11 -0700)]
Merge pull request #8435 from dillaman/wip-15370

test: TestMirroringWatcher test cases were not closing images

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agotest: TestMirroringWatcher test cases were not closing images 8435/head
Jason Dillaman [Mon, 4 Apr 2016 22:03:59 +0000 (18:03 -0400)]
test: TestMirroringWatcher test cases were not closing images

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
9 years agoglobal/global_init: expand metavariables in setuser_match_path 8433/head
Sage Weil [Mon, 4 Apr 2016 21:14:33 +0000 (17:14 -0400)]
global/global_init: expand metavariables in setuser_match_path

Back in 8290536d7d373ea6dddd8cdb55ac71e42b5278e2 we moved the
apply_changse (and, indirectly, config var expansion) to happen
after set do the drop privileges, but we need the metavar
expansion for setuser_match_path (which docs suggest setting to
/var/lib/ceph/$type/$cluster-$id).

Fixes: http://tracker.ceph.com/issues/15365
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8378 from liewegas/wip-pgls-pgid
Sage Weil [Mon, 4 Apr 2016 20:53:51 +0000 (16:53 -0400)]
Merge pull request #8378 from liewegas/wip-pgls-pgid

osdc/Objecter: use full pgid hash in PGNLS ops

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agoMerge pull request #8069 from somnathr/wip-dyn-throttle-doc
Samuel Just [Mon, 4 Apr 2016 19:54:32 +0000 (12:54 -0700)]
Merge pull request #8069 from somnathr/wip-dyn-throttle-doc

Adding documentation on how to use new dynamic throttle scheme

Reviewed-by: Samuel Just <sjust@redhat.com>
9 years agoMerge pull request #8429 from ErwanAliasr1/evelu-broken-cephtool-test-mon
Sage Weil [Mon, 4 Apr 2016 19:48:10 +0000 (15:48 -0400)]
Merge pull request #8429 from ErwanAliasr1/evelu-broken-cephtool-test-mon

tests: Fixing broken test/cephtool-test-mon.sh test

Reviewed-by: Loic Dachary <ldachary@redhat.com>
9 years agoMerge pull request #8411 from theanalyst/rgw/unused-var
Orit Wasserman [Mon, 4 Apr 2016 18:22:43 +0000 (20:22 +0200)]
Merge pull request #8411 from theanalyst/rgw/unused-var

rgw_admin: remove unused parent_period arg
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
9 years agomds: Add cmapv to ESessions default constructor initializer list 8403/head
John Coyle [Thu, 31 Mar 2016 19:38:45 +0000 (15:38 -0400)]
mds: Add cmapv to ESessions default constructor initializer list

Fixes uninitialized values in cmapv which cause ceph-dencoder tests to fail.

Signed-off-by: John Coyle <dx9err@gmail.com>
9 years agoMerge pull request #8426 from dillaman/wip-striper-logs
Josh Durgin [Mon, 4 Apr 2016 17:01:52 +0000 (10:01 -0700)]
Merge pull request #8426 from dillaman/wip-striper-logs

Striper: reduce assemble_result log level

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
9 years agocrush: fix error log 8430/head
Wei Jin [Mon, 4 Apr 2016 15:52:04 +0000 (23:52 +0800)]
crush: fix error log

Signed-off-by: Wei Jin <wjin.cn@gmail.com>
9 years agoMerge pull request #8421 from tchaikov/wip-noexcept
Kefu Chai [Mon, 4 Apr 2016 15:44:43 +0000 (23:44 +0800)]
Merge pull request #8421 from tchaikov/wip-noexcept

os/ObjectStore: add noexcept to ensure move ctor is used

Reviewed-by: Casey Bodley <cbodley@redhat.com>
9 years agolibrados: use Objecter::prepare_*_op helpers to set c->tid safely 7981/head
Sage Weil [Mon, 4 Apr 2016 15:03:25 +0000 (11:03 -0400)]
librados: use Objecter::prepare_*_op helpers to set c->tid safely

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosdc/Objecter: create more prepare_foo_op() helpers
Sage Weil [Mon, 4 Apr 2016 15:03:06 +0000 (11:03 -0400)]
osdc/Objecter: create more prepare_foo_op() helpers

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agotests: Fixing broken test/cephtool-test-mon.sh test 8429/head
Erwan Velu [Mon, 4 Apr 2016 14:55:08 +0000 (16:55 +0200)]
tests: Fixing broken test/cephtool-test-mon.sh test

Since the merge of pr #7693, 'ceph command' to get the help is invalid.
As a result, 'test/cephtool-test-mon.sh' test was broken

This patch simply change the 'ceph command' by a 'ceph --help command'

Since this change the test is passing again.

Signed-off-by: Erwan Velu <erwan@redhat.com>
9 years agorgw: Do not try to encode or decode time_t 8419/head
Adam C. Emerson [Thu, 31 Mar 2016 20:08:08 +0000 (16:08 -0400)]
rgw: Do not try to encode or decode time_t

time_t's width varies between machines. Also it fails to compile on 32
bit linux.

Fixes: http://tracker.ceph.com/issues/15330
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
9 years agotime: Change temporary variable types in time decode
Adam C. Emerson [Thu, 31 Mar 2016 18:50:06 +0000 (14:50 -0400)]
time: Change temporary variable types in time decode

Since we're decoding 32-bit integers, just use uint32_t and then cast them to
what utime_t expects.

Fixes: http://tracker.ceph.com/issues/15330
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
9 years agoMerge pull request #8422 from ceph/wip-fix-cmake
Casey Bodley [Mon, 4 Apr 2016 14:35:20 +0000 (10:35 -0400)]
Merge pull request #8422 from ceph/wip-fix-cmake

CMake: For CMake version <= 2.8.11, use LINK_PRIVATE

9 years agolibrados: fix narrow race with tid return value assignment
Sage Weil [Fri, 11 Mar 2016 18:19:34 +0000 (13:19 -0500)]
librados: fix narrow race with tid return value assignment

The completion should be done by the time op_submit returns.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoosdc/Objecter: fix narrow race with tid assignment
Sage Weil [Wed, 9 Mar 2016 15:04:14 +0000 (10:04 -0500)]
osdc/Objecter: fix narrow race with tid assignment

The operation completion could finish and be freed before we
do the info->register_tid assignment.  Avoid this by doing the
assignment in _op_submit itself.

Fixes: #14364
Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoMerge pull request #8410 from theanalyst/rgw/help-args
Casey Bodley [Mon, 4 Apr 2016 14:28:38 +0000 (10:28 -0400)]
Merge pull request #8410 from theanalyst/rgw/help-args

rgw: add a few more help options in admin interface

9 years agoMerge pull request #8393 from jcsp/wip-15309-2
Sage Weil [Mon, 4 Apr 2016 13:42:57 +0000 (09:42 -0400)]
Merge pull request #8393 from jcsp/wip-15309-2

qa: update rest test cephfs calls (part 2)

Reviewed-by: Sage Weil <sage@redhat.com>
9 years agoqa/workunits/rest/test.py: fs flag set enable_multiple true 8428/head
Sage Weil [Mon, 4 Apr 2016 13:39:03 +0000 (09:39 -0400)]
qa/workunits/rest/test.py: fs flag set enable_multiple true

This lets us run against a vstart cluster.

Signed-off-by: Sage Weil <sage@redhat.com>
9 years agoceph-rest-api: do not include single-option CephChoices in prefix
Sage Weil [Mon, 4 Apr 2016 12:39:32 +0000 (08:39 -0400)]
ceph-rest-api: do not include single-option CephChoices in prefix

This breaks commands like

COMMAND("fs flag set name=flag_name,type=CephChoices,strings=enable_multiple "
        "name=val,type=CephString", \
"Set a global CephFS flag", \
"fs", "rw", "cli,rest")

with only one option:

PUT fs/flag/set?flag_name=enable_multiple&val=true:  400
FAILURE: url  http://localhost:5000/api/v0.1/fs/flag/set?flag_name=enable_multiple&val=true
expected 200, got 400
Response content:  <html><body><table border=1><th>Possible commands:</th><th>Method</th><th>Description</th><tr><td>fs/flag/set?flag_name=enable_multiple&amp;va
l=val(&lt;string&gt;)
</td><td>PUT</td><td>Set a global CephFS flag</td></tr>
</table></body></html>

...and I can't tell why it's there.

Signed-off-by: Sage Weil <sage@redhat.com>