]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agolttng: Test for sane lttng-gen-tp
Adam Crume [Fri, 15 Aug 2014 22:47:18 +0000 (15:47 -0700)]
lttng: Test for sane lttng-gen-tp

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Don't build trace libraries when lttng is disabled
Adam Crume [Fri, 15 Aug 2014 22:22:37 +0000 (15:22 -0700)]
lttng: Don't build trace libraries when lttng is disabled

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Fix build error on 32-bit systems
Adam Crume [Fri, 15 Aug 2014 19:49:53 +0000 (12:49 -0700)]
lttng: Fix build error on 32-bit systems

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Remove -lboost_regex from unit test
Adam Crume [Fri, 15 Aug 2014 19:43:08 +0000 (12:43 -0700)]
lttng: Remove -lboost_regex from unit test

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Don't build trace headers when lttng is disabled
Adam Crume [Fri, 15 Aug 2014 19:42:18 +0000 (12:42 -0700)]
lttng: Don't build trace headers when lttng is disabled

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Update packaging
Adam Crume [Fri, 15 Aug 2014 18:45:26 +0000 (11:45 -0700)]
lttng: Update packaging

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Only require lttng for Fedora >= 20 and RHEL == 6 for RPM distros
Adam Crume [Fri, 15 Aug 2014 17:27:05 +0000 (10:27 -0700)]
lttng: Only require lttng for Fedora >= 20 and RHEL == 6 for RPM distros

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Add distro packaging
Adam Crume [Fri, 15 Aug 2014 04:33:43 +0000 (21:33 -0700)]
lttng: Add distro packaging

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Fix "make distcheck"
Adam Crume [Fri, 15 Aug 2014 01:25:20 +0000 (18:25 -0700)]
lttng: Fix "make distcheck"

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Support --with-lttng=check
Adam Crume [Wed, 13 Aug 2014 22:22:42 +0000 (15:22 -0700)]
lttng: Support --with-lttng=check

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Remove tracing from libcommon
Adam Crume [Wed, 13 Aug 2014 18:42:00 +0000 (11:42 -0700)]
lttng: Remove tracing from libcommon

This is a short-term fix for issues caused by tracepoints in libcommon.
Code crashes at runtime if the same tracepoints are linked into the
program multiple times.  This happens with libcommon because it is
statically linked into dynamic libraries such as librados, then
statically linked into executables because symbols from libcommon are
not exposed in librados.  Therefore, any programs that use librados and
libcommon would crash because of duplicate tracepoints.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Fix bug in rbd-replay-prep, Thread::issued_io with wrong IO
Adam Crume [Wed, 13 Aug 2014 00:42:31 +0000 (17:42 -0700)]
rbd-replay: Fix bug in rbd-replay-prep, Thread::issued_io with wrong IO

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Remove extent tracepoints and inline extents
Adam Crume [Tue, 12 Aug 2014 23:10:53 +0000 (16:10 -0700)]
rbd-replay: Remove extent tracepoints and inline extents

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Move tracepoints from internal.cc to librbd.cc
Adam Crume [Tue, 12 Aug 2014 22:49:53 +0000 (15:49 -0700)]
rbd-replay: Move tracepoints from internal.cc to librbd.cc

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add man page and package binaries for rbd-replay-prep
Adam Crume [Tue, 12 Aug 2014 03:52:45 +0000 (20:52 -0700)]
rbd-replay: Add man page and package binaries for rbd-replay-prep

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Convert prep-for-replay.py to rbd-replay-prep.cc
Adam Crume [Thu, 7 Aug 2014 20:38:19 +0000 (13:38 -0700)]
rbd-replay: Convert prep-for-replay.py to rbd-replay-prep.cc

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add man page, and add binaries to Debian packaging
Adam Crume [Fri, 8 Aug 2014 00:20:05 +0000 (17:20 -0700)]
rbd-replay: Add man page, and add binaries to Debian packaging

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Remove outdated message that says regexes are used
Adam Crume [Fri, 8 Aug 2014 00:18:04 +0000 (17:18 -0700)]
rbd-replay: Remove outdated message that says regexes are used

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Replace Boost dependencies with custom string code
Adam Crume [Thu, 7 Aug 2014 22:11:37 +0000 (15:11 -0700)]
lttng: Replace Boost dependencies with custom string code

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Remove boost_regex from LIBADD and LDADD
Adam Crume [Thu, 7 Aug 2014 19:12:39 +0000 (12:12 -0700)]
rbd-replay: Remove boost_regex from LIBADD and LDADD

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Fix compiler warning in unit tests
Adam Crume [Thu, 7 Aug 2014 16:05:00 +0000 (09:05 -0700)]
rbd-replay: Fix compiler warning in unit tests

Was getting:
test/test_rbd_replay.cc:44:3: warning: converting ‘false’ to pointer type for argument 1 of ‘char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)’ [-Wconversion-null]

Fixed by changing EXPECT_EQ(false, xxx) to EXPECT_FALSE(xxx).
For completeness, also changed EXPECT_EQ(true, xxx) to EXPECT_TRUE(xxx).

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Switch ImageNameMap from regex to plain string matching
Adam Crume [Thu, 7 Aug 2014 00:37:10 +0000 (17:37 -0700)]
rbd-replay: Switch ImageNameMap from regex to plain string matching

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Switch ImageNameMap to using rbd_loc
Adam Crume [Wed, 6 Aug 2014 23:00:40 +0000 (16:00 -0700)]
rbd-replay: Switch ImageNameMap to using rbd_loc

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add rbd_replay::rbd_loc
Adam Crume [Wed, 6 Aug 2014 23:39:56 +0000 (16:39 -0700)]
rbd-replay: Add rbd_replay::rbd_loc

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Use standard image@snap instead of image/snap
Adam Crume [Wed, 6 Aug 2014 18:56:05 +0000 (11:56 -0700)]
rbd-replay: Use standard image@snap instead of image/snap

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Fix ceph_ctf_stringp
Adam Crume [Fri, 1 Aug 2014 00:39:12 +0000 (17:39 -0700)]
lttng: Fix ceph_ctf_stringp

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Support replaying partial traces
Adam Crume [Thu, 31 Jul 2014 23:22:44 +0000 (16:22 -0700)]
rbd-replay: Support replaying partial traces

Tracing may start after the application is started, and image open calls
may missed. To support replaying these traces, additional information is
traced, allowing missing open calls to be generated.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Use non-zero fake data
Adam Crume [Thu, 31 Jul 2014 19:21:35 +0000 (12:21 -0700)]
rbd-replay: Use non-zero fake data

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add unit tests
Adam Crume [Thu, 31 Jul 2014 01:48:46 +0000 (18:48 -0700)]
rbd-replay: Add unit tests

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Preload liblttng-ust-fork.so in TESTS_ENVIRONMENT
Adam Crume [Mon, 28 Jul 2014 23:32:15 +0000 (16:32 -0700)]
lttng: Preload liblttng-ust-fork.so in TESTS_ENVIRONMENT

This adds LD_PRELOAD=liblttng-ust-fork.so to TESTS_ENVIRONMENT.
This prevents lttng from complaining when processes are forked.
The complaints otherwise taint the output and cause tests to fail.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Disable LTTng by default, add --with-lttng configure option
Adam Crume [Mon, 28 Jul 2014 16:44:42 +0000 (09:44 -0700)]
lttng: Disable LTTng by default, add --with-lttng configure option

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Fix 'make check' by setting up fake HOME
Adam Crume [Wed, 23 Jul 2014 15:48:39 +0000 (08:48 -0700)]
lttng: Fix 'make check' by setting up fake HOME

If the HOME variable is not set, LTTng complains, and the extra output
fails to match what the tests expect, so they fail.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add --map-image option for image name mapping
Adam Crume [Tue, 22 Jul 2014 23:06:52 +0000 (16:06 -0700)]
rbd-replay: Add --map-image option for image name mapping

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add --pool option
Adam Crume [Tue, 22 Jul 2014 23:09:29 +0000 (16:09 -0700)]
rbd-replay: Add --pool option

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add assertions
Adam Crume [Mon, 21 Jul 2014 22:57:45 +0000 (15:57 -0700)]
rbd-replay: Add assertions

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Default to not storing buffer content
Adam Crume [Mon, 21 Jul 2014 22:35:32 +0000 (15:35 -0700)]
lttng: Default to not storing buffer content

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add command-line arguments to prep-for-replay.py
Adam Crume [Mon, 21 Jul 2014 21:40:29 +0000 (14:40 -0700)]
rbd-replay: Add command-line arguments to prep-for-replay.py

Includes:
--print-on-read
--print-on-write
--window

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Fix async writes in prep-for-replay.py
Adam Crume [Mon, 21 Jul 2014 21:39:42 +0000 (14:39 -0700)]
rbd-replay: Fix async writes in prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add --read-only flag
Adam Crume [Mon, 21 Jul 2014 21:38:28 +0000 (14:38 -0700)]
rbd-replay: Add --read-only flag

Removes ignoreWrites flag in prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Fix examples/rbd-replay/replay
Adam Crume [Mon, 21 Jul 2014 21:33:26 +0000 (14:33 -0700)]
rbd-replay: Fix examples/rbd-replay/replay

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Clean up prep-for-replay.py
Adam Crume [Mon, 21 Jul 2014 19:02:54 +0000 (12:02 -0700)]
rbd-replay: Clean up prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Hash completions across multiple mutexes to reduce contention
Adam Crume [Mon, 21 Jul 2014 18:14:01 +0000 (11:14 -0700)]
rbd-replay: Hash completions across multiple mutexes to reduce contention

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add --latency-multiplier option to usage statement
Adam Crume [Mon, 21 Jul 2014 18:12:48 +0000 (11:12 -0700)]
rbd-replay: Add --latency-multiplier option to usage statement

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agodoc: Add usage comment to librbd::RBD::AioCompletion
Adam Crume [Mon, 21 Jul 2014 17:37:29 +0000 (10:37 -0700)]
doc: Add usage comment to librbd::RBD::AioCompletion

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Fix memory leak in PendingIO
Adam Crume [Mon, 21 Jul 2014 17:36:51 +0000 (10:36 -0700)]
rbd-replay: Fix memory leak in PendingIO

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Check that return values are non-negative
Adam Crume [Fri, 18 Jul 2014 21:37:57 +0000 (14:37 -0700)]
rbd-replay: Check that return values are non-negative

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Support writing Actions to ostreams
Adam Crume [Fri, 18 Jul 2014 20:57:16 +0000 (13:57 -0700)]
rbd-replay: Support writing Actions to ostreams

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Print "Still waiting for" more judiciously
Adam Crume [Fri, 18 Jul 2014 20:49:15 +0000 (13:49 -0700)]
rbd-replay: Print "Still waiting for" more judiciously

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Change Worker::m_pending_ios from vector to map
Adam Crume [Fri, 18 Jul 2014 20:42:43 +0000 (13:42 -0700)]
rbd-replay: Change Worker::m_pending_ios from vector to map

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Printing pending IOs when worker threads waiting to die
Adam Crume [Fri, 18 Jul 2014 20:11:24 +0000 (13:11 -0700)]
rbd-replay: Printing pending IOs when worker threads waiting to die

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Bugfix: ensure PendingIOs are added before they're removed
Adam Crume [Fri, 18 Jul 2014 19:16:59 +0000 (12:16 -0700)]
rbd-replay: Bugfix: ensure PendingIOs are added before they're removed

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Add rbd_replay subsystem
Adam Crume [Fri, 18 Jul 2014 19:08:41 +0000 (12:08 -0700)]
rbd-replay: Add rbd_replay subsystem

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agoAdd assertf macro
Adam Crume [Fri, 18 Jul 2014 19:06:19 +0000 (12:06 -0700)]
Add assertf macro

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agorbd-replay: Switch logging from cout to dout
Adam Crume [Thu, 17 Jul 2014 22:01:42 +0000 (15:01 -0700)]
rbd-replay: Switch logging from cout to dout

To enable logs, we also have to use global_init to parse our
command-line args, so we now have other standard Ceph goodies
such as picking up config options from the environment.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Add rbd-replay
Adam Crume [Thu, 17 Jul 2014 16:39:35 +0000 (09:39 -0700)]
lttng: Add rbd-replay

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Add more tracing to librbd
Adam Crume [Wed, 9 Jul 2014 17:20:26 +0000 (10:20 -0700)]
lttng: Add more tracing to librbd

Includes:
- aio_complete
- aio_discard
- aio_flush
- aio_get_return_value
- aio_is_complete
- aio_read
- aio_wait_for_complete
- aio_write
- copy
- discard
- flush
- invalidate_cache
- rename
- resize
- Add ImageCtx pointer to trace points
- Add snap_name and readonly flag to trace point open_image_enter

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agotracing: instrument filestore
Noah Watkins [Tue, 1 Jul 2014 22:48:00 +0000 (15:48 -0700)]
tracing: instrument filestore

This adds objectstore tracepoints for the filestore. It'd be nice to add
these to the objectstore interface some how so we can get all
implementations for free, but that might just be a bit difficult
especially since each impl will apply transactions in a differnet way.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
10 years agolttng: Basic tracing of librbd
Adam Crume [Fri, 27 Jun 2014 23:48:19 +0000 (16:48 -0700)]
lttng: Basic tracing of librbd

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Remove 'ver' from trace in code for CEPH_OSD_OP_NOTIFY
Adam Crume [Mon, 30 Jun 2014 14:17:32 +0000 (07:17 -0700)]
lttng: Remove 'ver' from trace in code for CEPH_OSD_OP_NOTIFY

'ver' is obsolete and variable exists only for proper deserialization

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Split up libtracepoints
Adam Crume [Fri, 27 Jun 2014 23:27:20 +0000 (16:27 -0700)]
lttng: Split up libtracepoints

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Prevent deletion of tracing-common.h when cleaning
Adam Crume [Fri, 27 Jun 2014 22:40:25 +0000 (15:40 -0700)]
lttng: Prevent deletion of tracing-common.h when cleaning

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Prevent creation of incorrect .o files when generating from .tp
Adam Crume [Fri, 27 Jun 2014 22:38:24 +0000 (15:38 -0700)]
lttng: Prevent creation of incorrect .o files when generating from .tp

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Trace librados C API
Adam Crume [Wed, 25 Jun 2014 20:59:08 +0000 (13:59 -0700)]
lttng: Trace librados C API

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agoexamples: Add example for the librados C API
Adam Crume [Thu, 26 Jun 2014 15:46:10 +0000 (08:46 -0700)]
examples: Add example for the librados C API

Simply copied and modified the C++ API example.

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Add tracing-common.h
Adam Crume [Wed, 25 Jun 2014 20:57:42 +0000 (13:57 -0700)]
lttng: Add tracing-common.h

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Trace ReplicatedPG::do_osd_ops
Adam Crume [Wed, 18 Jun 2014 18:01:19 +0000 (11:01 -0700)]
lttng: Trace ReplicatedPG::do_osd_ops

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Add rmw_flags to tracepoint in PG::queue_op
Adam Crume [Wed, 18 Jun 2014 17:52:56 +0000 (10:52 -0700)]
lttng: Add rmw_flags to tracepoint in PG::queue_op

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agolttng: Trace OpRequest
Adam Crume [Sat, 14 Jun 2014 00:17:22 +0000 (17:17 -0700)]
lttng: Trace OpRequest

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agotracing: automake-ify tracepoint generation
Noah Watkins [Fri, 20 Jun 2014 23:49:28 +0000 (16:49 -0700)]
tracing: automake-ify tracepoint generation

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
10 years agolttng: Check for lttng/tracepoint.h when configuring
Adam Crume [Thu, 12 Jun 2014 23:27:19 +0000 (16:27 -0700)]
lttng: Check for lttng/tracepoint.h when configuring

10 years agolttng: add pg and osd tracepoints
Noah Watkins [Sat, 7 Jun 2014 16:37:39 +0000 (09:37 -0700)]
lttng: add pg and osd tracepoints

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
10 years agolttng: trace mutex::unlock
Noah Watkins [Sat, 31 May 2014 22:59:27 +0000 (15:59 -0700)]
lttng: trace mutex::unlock

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
10 years agotracing: bootstrap lttng-ust with mutex events
Noah Watkins [Fri, 30 May 2014 21:13:12 +0000 (14:13 -0700)]
tracing: bootstrap lttng-ust with mutex events

See src/tracing/README.md

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
10 years agoMerge pull request #2295 from dachary/wip-9153-jerasure-upgrade
Sage Weil [Wed, 20 Aug 2014 22:09:42 +0000 (15:09 -0700)]
Merge pull request #2295 from dachary/wip-9153-jerasure-upgrade

erasure-code: do not preload the isa plugin

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoerasure-code: do not preload the isa plugin 2295/head
Loic Dachary [Wed, 20 Aug 2014 21:10:49 +0000 (23:10 +0200)]
erasure-code: do not preload the isa plugin

Because it's not built for all architectures and distributions.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2219 from somnathr/wip-optracker-lock
Sage Weil [Wed, 20 Aug 2014 20:08:39 +0000 (13:08 -0700)]
Merge pull request #2219 from somnathr/wip-optracker-lock

TrackedOp: Removed redundant lock in OpTracker::_mark_event()

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoTrackedOp:_dump_op_descriptor is renamed to _dump_op_descriptor_unlocked 2219/head
Pavan Rallabhandi [Wed, 20 Aug 2014 08:31:57 +0000 (14:01 +0530)]
TrackedOp:_dump_op_descriptor is renamed to _dump_op_descriptor_unlocked

Caller don't need to hold lock before calling _dump_op_descriptor(),so,
to reflect this it is renamed to _dump_op_descriptor_unlocked().

Signed-off-by: Pavan Rallabhandi <pavan.rallabhandi@sandisk.com>
Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
10 years agoTrackedOp: Removed redundant lock in OpTracker::_mark_event()
Pavan Rallabhandi [Tue, 5 Aug 2014 11:51:35 +0000 (17:21 +0530)]
TrackedOp: Removed redundant lock in OpTracker::_mark_event()

ops_in_flight_lock seems redundant in OpTracker::_mark_event()
and this lock is highly contended for. Removing the same
is giving a significant performance boost.

Signed-off-by: Pavan Rallabhandi <pavan.rallabhandi@sandisk.com>
10 years agoMerge pull request #2282 from dachary/wip-9153-jerasure-upgrade
Sage Weil [Wed, 20 Aug 2014 17:08:39 +0000 (10:08 -0700)]
Merge pull request #2282 from dachary/wip-9153-jerasure-upgrade

erasure-code: preload the jerasure plugin

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodoc/start/quick-ceph-deploy: missing {ceph-node} from mon create-initial
Dan Mick [Wed, 20 Aug 2014 04:23:46 +0000 (21:23 -0700)]
doc/start/quick-ceph-deploy: missing {ceph-node} from mon create-initial

Signed-off-by: Dan Mick <dan.mick@inktank.com>
10 years agoMerge pull request #2283 from somnathr/wip-sd-9145
Sage Weil [Wed, 20 Aug 2014 03:56:06 +0000 (20:56 -0700)]
Merge pull request #2283 from somnathr/wip-sd-9145

CollectionIndex: Collection name is added to the access_lock name

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoCollectionIndex: Collection name is added to the access_lock name 2283/head
Somnath Roy [Mon, 18 Aug 2014 23:59:36 +0000 (16:59 -0700)]
CollectionIndex: Collection name is added to the access_lock name

The CollectionIndex constructor is changed to accept the coll_t
so that the collection name can be used to form access_lock(RWLock)
name.This is needed otherwise lockdep will report a recursive lock error
and assert. lockdep needs unique lock names for each Index object.

Fixes: #9145
Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
10 years agoerasure-code: preload the jerasure plugin 2282/head
Loic Dachary [Mon, 18 Aug 2014 23:30:15 +0000 (01:30 +0200)]
erasure-code: preload the jerasure plugin

Load the jerasure plugin when ceph-osd starts to avoid the following
scenario:

* ceph-osd-v1 is running but did not load jerasure

* ceph-osd-v2 is installed being installed but takes time : the files
  are installed before ceph-osd is restarted

* ceph-osd-v1 is required to handle an erasure coded placement group and
  loads jerasure (the v2 version which is not API compatible)

* ceph-osd-v1 calls the v2 jerasure plugin and does not reference the
  expected part of the code and crashes

Although this problem shows in the context of teuthology, it is unlikely
to happen on a real cluster because it involves upgrading immediately
after installing and running an OSD. Once it is backported to firefly,
it will not even happen in teuthology tests because the upgrade from
firefly to master will use the firefly version including this fix.

While it would be possible to walk the plugin directory and preload
whatever it contains, that would not work for plugins such as jerasure
that load other plugins depending on the CPU features, or even plugins
such as isa which only work on specific CPU.

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

Backport: firefly
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2043 from guangyy/wip-pg-splitting
Samuel Just [Tue, 19 Aug 2014 22:45:31 +0000 (15:45 -0700)]
Merge pull request #2043 from guangyy/wip-pg-splitting

Support 'expected_num_objects' parameter when creating pool for pg folder splitting

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agomon: fix signed/unsigned warnings
Sage Weil [Tue, 19 Aug 2014 21:33:54 +0000 (14:33 -0700)]
mon: fix signed/unsigned warnings

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2287 from ceph/wip-reweight-tunables
Gregory Farnum [Tue, 19 Aug 2014 20:06:08 +0000 (13:06 -0700)]
Merge pull request #2287 from ceph/wip-reweight-tunables

mon: make reweight-by-* sanity limits configurable

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agoMerge pull request #2279 from ceph/wip-hadoop
Gregory Farnum [Tue, 19 Aug 2014 18:47:07 +0000 (11:47 -0700)]
Merge pull request #2279 from ceph/wip-hadoop

fix and reorg hadoop workunits

Reviewed-by: Greg Farnum <greg@inktank.com>
10 years agomon: make reweight-by-* sanity limits configurable 2287/head
Sage Weil [Tue, 19 Aug 2014 18:32:07 +0000 (11:32 -0700)]
mon: make reweight-by-* sanity limits configurable

Also drop the somewhat redundant osd_sum.kb check; the main thing we care
about here is

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2199 from ceph/wip-reweight
Sage Weil [Tue, 19 Aug 2014 17:40:42 +0000 (10:40 -0700)]
Merge pull request #2199 from ceph/wip-reweight

mon: allow reweighting of osds by pg (isntead of bytes used)

Reviewed-by: Guang Yang <yguang@yahoo-inc.com>
10 years agomon/OSDMonitor: respect CRUSH weights for reweight-by-pg 2199/head
Sage Weil [Tue, 12 Aug 2014 03:54:38 +0000 (20:54 -0700)]
mon/OSDMonitor: respect CRUSH weights for reweight-by-pg

Do not assume that all OSDs are weighted equally for reweight-by-pg.

Note that reweight-by-utilization already reweights based on the size of
the OSD volume; we presume that this is already reflected by the CRUSH
weights.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomon/OSDMonitor: reweight-by-pg for pool(s)
Sage Weil [Wed, 6 Aug 2014 15:51:18 +0000 (08:51 -0700)]
mon/OSDMonitor: reweight-by-pg for pool(s)

Allow the reweight-by-pg to look at a specific set of pools.  If the list
is ommitted, use PGs from all pools.  This allows you to focus on a
specific pool (the one that will dominate data usage).  Otherwise things
may not be quite right because other pools may have PGs that contain
much less data.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomon/OSDMonitor: adjust weights up, when possible
Sage Weil [Wed, 6 Aug 2014 15:35:07 +0000 (08:35 -0700)]
mon/OSDMonitor: adjust weights up, when possible

Note when OSDs are underloaded, as well.  If that is the case, adjust the
OSD reweight value if, if possible.  (It won't always be possible since
weights are capped at 1.)

Note that we set the underload threshold to the average, as we want to
aggressively adjust weights up (back to 1.0) whenever possible.  This gets
us a more efficient mapping calculation and reduces the amount of "noise"
in the weights.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoqa/workunits/cephtool/test.sh: test reweight-by-pg
Sage Weil [Tue, 19 Aug 2014 03:57:28 +0000 (20:57 -0700)]
qa/workunits/cephtool/test.sh: test reweight-by-pg

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomon/OSDMonitor: reweight-by-pg
Sage Weil [Mon, 4 Aug 2014 22:40:35 +0000 (15:40 -0700)]
mon/OSDMonitor: reweight-by-pg

This is just like reweight-by-utilization, but looks purely at the PG to
OSD mapping, not at the number of bytes used on the target disks.  This
allows the reweighting to be done before any data is written into the
cluster, when no data will need to migrate as a result of the reweight.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoAdd tests for the collection hint OP: 1) Store Test 2) Idempotent Test. 2043/head
Guang Yang [Wed, 9 Jul 2014 07:45:58 +0000 (07:45 +0000)]
Add tests for the collection hint OP: 1) Store Test 2) Idempotent Test.
Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
10 years agoImplement the collection hint transaction, add a new transation type as expected...
Guang Yang [Mon, 7 Jul 2014 11:32:23 +0000 (11:32 +0000)]
Implement the collection hint transaction, add a new transation type as expected number of objects.
Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
10 years agoAdd a new transaction OP (collection hint) to ObjectStore.
Guang Yang [Mon, 7 Jul 2014 07:37:02 +0000 (07:37 +0000)]
Add a new transaction OP (collection hint) to ObjectStore.
Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
10 years agoAdd a new monitor command to let user specify the expected number of objects during...
Guang Yang [Mon, 30 Jun 2014 07:22:17 +0000 (07:22 +0000)]
Add a new monitor command to let user specify the expected number of objects during pool creation.

Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
10 years agoAdd a new field 'expected_num_objects' to pg_pool_t which denotes the expected number...
Guang Yang [Mon, 30 Jun 2014 05:42:49 +0000 (05:42 +0000)]
Add a new field 'expected_num_objects' to pg_pool_t which denotes the expected number of objects on this pool.

Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Tue, 19 Aug 2014 04:10:32 +0000 (21:10 -0700)]
Merge remote-tracking branch 'gh/next'