Commit Graph

42082 Commits

Author SHA1 Message Date
Loic Dachary
864e2007d9 tests: add --{show_,}path to ceph_erasure_code_non_regression
The directory in which the payload is stored is created from the plugin
parameters. The --show-path shows the directory and exits. This
directory can then be used with --path to override the path created from
the plugin parameters. This is useful to verifying that the jerasure
variant optimized with AVX, SSE4 etc. instructions can be used on the
same payload and show no difference at all. In this case the directory
used by the default jerasure variant is used for each variant and the
parameter that sets the variant to use ( --parameters jerasure-variant )
must not be taken into account to figure out the location of the
payload.

http://tracker.ceph.com/issues/9720 Refs: #9720

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-07 00:15:05 +02:00
Loic Dachary
1d60786c39 Merge pull request #4811 from dachary/wip-11346-isa
ceph-erasure-code-corpus: isa: add k=10 m=4

Reviewed-by: Yuan Zhou <yuan.zhou@intel.com>
2015-06-07 00:12:11 +02:00
Sage Weil
efededa010 Merge pull request #4882 from SUSE/wip-submitting-patches-clarification
SubmittingPatches: clarify how Reviewed-by lines are added

Reviewed-by: Sage Weil <sage@redhat.com>
2015-06-06 06:24:17 -07:00
Nathan Cutler
85b327f85a SubmittingPatches: clarify how Reviewed-by lines are added
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-06 15:16:16 +02:00
Loic Dachary
eefdeb6b79 Merge pull request #4878 from dachary/wip-11901-spec
ceph.spec.in: add missing BuildRequires from SUSE block

Reviewed-by: Nathan Cutler <ncutler@suse.cz>
2015-06-06 14:37:23 +02:00
Loic Dachary
739ef0f9a3 install-deps.sh: detect yum-builddep errors
yum-builddep does not exit on error when an error happens: grep the
output for the error: string instead.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-06 12:31:56 +02:00
Loic Dachary
34e4dd9c8a ceph.spec.in: add missing BuildRequires from SUSE block
The %endif removed by f94f23297c is restored.
The %else removed by 75e87a20da is restored.
The stray %endif added by d8abde3338 is removed.

May 29th, in d8abde3338 Owen added a stray
%endif after

   BuildRequires: gperftools-devel

around line 133. June 3rd, in f94f23297c
Ken correctly attributed the error

     "error: /srv/autobuild-ceph/gitbuilder.git/build/ceph.spec:140: Got a
      %endif with no %if"

to a stray %endif but did not remove the one causing problem and in
doing so created another problem. June 4th, in
75e87a20da Owen incorrectly fixed
this new problem by removing the %else that is near

   BuildRequires: gperftools-devel

around line 116, instead of reverting
f94f23297c. As a consequence the
ceph.spec.in became syntactically correct but implemented an if/else
logic different from what was intended originally and a number of
BuildRequires became exclusive to SUSE and were not installed for CentOS
7 etc.

http://tracker.ceph.com/issues/11901 Fixes: #11901

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-06 12:05:19 +02:00
Noah Watkins
a8500ce981 Merge pull request #4834 from liewegas/wip-11461
fix build on arm w/ old kernels

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
2015-06-05 12:12:13 -07:00
Greg Farnum
905a867043 Merge remote-tracking branch 'origin/wip-client-fsync'
Conflicts:
	src/client/Client.cc

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-05 11:25:21 -07:00
Gregory Farnum
3f4dfb80e3 Merge pull request #4831 from ceph/wip-11807
qa: fix multiple_rsync.sh to avoid using /usr/ directly

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-06-05 11:22:53 -07:00
Gregory Farnum
7dc602aff7 Merge pull request #4743 from ceph/wip-client-oldest-tid
Wip client oldest tid

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-05 11:21:20 -07:00
Gregory Farnum
3673c8be10 Merge pull request #4723 from ceph/wip-snap-misc
Wip snap misc

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-05 11:16:50 -07:00
Gregory Farnum
5e99022fc6 Merge pull request #4702 from tchaikov/wip-fix-11590
mon: always reply mdsbeacon

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-05 11:15:25 -07:00
Gregory Farnum
5a3da7b891 Merge pull request #4602 from ceph/wip-11504
mon: refine check_remove_tier checks

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-05 11:13:42 -07:00
Josh Durgin
788542cc05 Merge pull request #4781 from ceph/wip-librbd-perf-counters
librbd: re-add missing discard perf counters

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-06-05 08:59:15 -07:00
Loic Dachary
f2897886b0 Merge pull request #4870 from joaquimrocha/extra_doc_info_for_debug_option
build: Add info about tests to --with-debug option

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-06-05 15:22:48 +02:00
Joaquim Rocha
63aa2e6a95 build: Add info about tests to --with-debug option
The configure's --with-debug option builds also some of the tests
so this should be mentioned in its doc string in order to let users
know how to build all the tests.

Signed-off-by: Joaquim Rocha <joaquim.rocha@cern.ch>
2015-06-05 15:17:42 +02:00
Loic Dachary
3a562b44f9 Merge pull request #4866 from ddiss/fix_test_ceph_disk_dmcrypt_uuid_only
tests: fix test_activate_dmcrypt uuid usage

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-06-05 11:56:37 +02:00
David Disseldorp
7bef2d8897 tests: fix test_activate_dmcrypt uuid usage
4601e10800 introduced a regression in that
an empty (uninitialised) OSD uuid is passed to test_pool_read_write for
IO. As a result, the "rados put" request times out causing test failure.

This change ensures that a correct OSD uuid is passed to
test_pool_read_write.

Signed-off-by: David Disseldorp <ddiss@suse.de>
2015-06-05 11:39:31 +02:00
Josh Durgin
792e94822f Merge pull request #4528 from ceph/wip-librbd-helgrind
librbd: correct issues discovered via lockdep / helgrind

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-06-04 18:55:43 -07:00
Jason Dillaman
c1b2783bc0 Merge pull request #4857 from jdurgin/wip-rbd-features-constants
update rbd features constants for python usage

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 20:37:39 -04:00
Jason Dillaman
3d5cef38c3 librbd: flush pending ops while not holding lock
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
742a85d667 tests: fix possible deadlock in librbd ImageWatcher tests
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
45cb9cb598 tests: enable lockdep for librbd unit tests
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
c9142fe353 librbd: owner_lock should be held during flush request
Flush might result in the cache writing out dirty objects, which
would require that the owner_lock be held.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
a38f9e5104 osdc: ObjectCacher flusher might needs additional locks
librbd requires the ObjectCacher flusher thread to acquire
an additional lock in order to maintain lock ordering
constraints.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
1b57cc1da7 librbd: fix recursive locking issues
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
d6b733dbdd librbd: simplify state machine handling of exclusive lock
It is expected that all IO is flushed and all async ops are cancelled
prior to releasing the exclusive lock.  Therefore, replace handling of
lost exclusive locks in state machines with an assertion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
c352bcdc0f librbd: AsyncObjectThrottle should always hold owner_lock
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:05 -04:00
Jason Dillaman
5f157f2098 librbd: execute flush completion outside of cache_lock
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:52:04 -04:00
Jason Dillaman
218bc2d0f8 librbd: add AsyncRequest task enqueue helper method
In order to support the invariant that all state machine
callbacks occur without holding locks, transitions that
don't always involve a librados call should queue their
callback.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:51:02 -04:00
Jason Dillaman
66e74641ba librbd: disable lockdep on AioCompletion
It is only used by clients and it causes a large slowdown
in performance due to the rate at which the lock is constructed/
destructed for each IO request.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:51:01 -04:00
Jason Dillaman
3ad19ae349 librbd: AioCompletion shouldn't hold its lock during callback
The callback routine most likely will attempt to retrieve the result
code, which will result in a recursive lock attempt.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:52 -04:00
Jason Dillaman
0024677dc8 librbd: complete cache read in a new thread context
The ObjectCacher complete the read callback while still holding
the cache lock.  This introduces lock ordering issues which are
resolved by queuing the completion to execute in a clean (unlocked)
context.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
c474ee42b8 librbd: give locks unique names to prevent false lockdep failures
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
c1e1445177 log: fix helgrind warnings regarding possible data race
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
b65ae4bc26 librados_test_stub: fix helgrind warnings
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
6e400b9049 librados_test_stub: add support for flushing watches
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
7c7df2ce9f common: lockdep now support unregistering once destructed
librbd use of an image hierarchy resulted in lock names being
re-used and incorrectly analyzed.  librbd now uses unique lock
names per instance, but to prevent an unbounded growth of
tracked locks, we now remove lock tracking once a lock is
destructed.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
650ad32d74 common: add valgrind.h convenience wrapper
Conditionally support helgrind annotations if valgrind support is
enabled during the build.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
21f990efe6 librbd: add work queue for op completions
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Jason Dillaman
e5ffae578e WorkQueue: ContextWQ can now accept a return code
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-06-04 16:49:51 -04:00
Josh Durgin
eb6a1df80b pybind/rbd.py: update with new features constants
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2015-06-04 13:32:23 -07:00
Josh Durgin
8baaf514da librbd: describe the purpose of features constants
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2015-06-04 13:32:12 -07:00
Josh Durgin
fbe328e240 librbd: add a constant for single-client-only features
This way it's easy to disable them if you want to access an image from
multiple clients.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2015-06-04 13:06:06 -07:00
Samuel Just
b7abc398c0 Merge pull request #4717 from athanatos/wip-8635
Wip 8635 -- Move scrub, snap_trim into a unified queue

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-06-04 11:25:12 -07:00
Samuel Just
e5b18903bc Merge pull request #4718 from athanatos/wip-sync-omap
FileStore: sync object_map when we syncfs

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-06-04 11:24:43 -07:00
Sage Weil
5ff8056461 Merge pull request #4839 from ceph/wip-fix-arm-linking-issue
common/Cycles.cc: skip initialization if rdtsc is not implemented

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
2015-06-04 09:46:29 -07:00
Orit Wasserman
23a09790b1 Merge pull request #4852 from ceph/wip-rgw-vstart
make vstart + rgw more useful
2015-06-04 18:03:58 +02:00
Sage Weil
61bad5584d vstart.sh: set rgw dns name = localhost
So we can test buckets in the URL by adding entries in /etc/hosts

Signed-off-by: Sage Weil <sage@redhat.com>
2015-06-04 09:02:29 -07:00