summaryrefslogtreecommitdiffstats
path: root/src/rbd_replay (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cmake: use boost target instead of libary path while linking against themKefu Chai2017-06-141-1/+1
| | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
* rbd-replay: removed default rbd pool nameJason Dillaman2017-06-072-3/+13
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* byteorder: use gcc intrinsics for byteswapKefu Chai2017-05-101-9/+9
| | | | | | | | | * use gcc intrinsics for byteswap * use template to wrap them. * add the modeline for emacs/vim * update the caller of the mswab/swab accordingly Signed-off-by: Kefu Chai <kchai@redhat.com>
* librbd: add override in header filesliuchang08122017-02-213-64/+64
| | | | | | Fixes: http://tracker.ceph.com/issues/19012 Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
* cmake: turn libcommon into a shared libraryKefu Chai2017-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | prior to this change, libcommon is a convenient library which gets linked into librados, librbd and libcephfs and all ceph executables. this incurs some problems: - double dose of libcommon in memory space and HDD: waste of memory and disk space. - if an application links to two libraries including libcommon at the same time. take librados and libcephfs as an example, they could interfere with each other by changing the other guy's status. after this change, libcommon is tuned into a shared library and renamed to libceph-common. it will be installed into $prefix/lib/ceph, and packaged in librados2. ceph.spec.in,debian/librados2.install: package libceph-common in librados2. CMakeLists.txt: - do not link against libboost-* if not necessary. - s/common/ceph-common/g - install libceph-common into $prefix/lib/ceph - set rpath to $prefix/lib/ceph - link against ceph-common if an executable needs access to non public symbols in ceph. Signed-off-by: Kefu Chai <kchai@redhat.com>
* Cmake: cleanup the use of udev and blkid in target_link_lib()Willem Jan Withagen2017-01-061-1/+0
| | | | Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
* dout: Use dout_contextAdam C. Emerson2016-12-223-0/+3
| | | | | | | As a transition for g_ceph_context removal, make all dout macros depends on a local macro. Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
* common,test: g_ceph_context->put() upon returnKefu Chai2016-11-241-1/+2
| | | | | | | | | | | | | | | | | | | | | prior to this change, global_init() could create a new CephContext and assign it to g_ceph_context. it's our responsibilty to release the CephContext explicitly using cct->put() before the application quits. but sometimes, we fail to do so. in this change, global_init() will return an intrusive_ptr<CephContext>, which calls `g_ceph_context->put()` in its dtor. this ensures that the CephContext is always destroyed before main() returns. so the log is flushed before _log_exp_length is destroyed. there are two cases where global_pre_init() is called directly. - ceph_conf.cc: g_ceph_context->put() will be called by an intrusive_ptr<> deleter. - rgw_main.cc: global_init() is called later on on the success code path, so it will be taken care of. Fixes: http://tracker.ceph.com/issues/17762 Signed-off-by: Kefu Chai <kchai@redhat.com>
* remove autotoolsSage Weil2016-09-071-76/+0
| | | | Signed-off-by: Sage Weil <sage@redhat.com>
* cmake: do not link against keyutils if not necessaryKefu Chai2016-08-241-5/+3
| | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
* cmake: do not link secret.c if not necessaryKefu Chai2016-08-241-5/+1
| | | | Signed-off-by: Kefu Chai <kchai@redhat.com>
* rbd-replay: decode and replay discard IO operationsJason Dillaman2016-07-197-1/+213
| | | | | Fixes: http://tracker.ceph.com/issues/16707 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* cmake: do not install intermediate libsKefu Chai2016-07-021-3/+0
| | | | | | | rbd_replay and rbd_replay_ios are convenience libraries, and they are not supposed to be used by user. Signed-off-by: Kefu Chai <kchai@redhat.com>
* all: add const to operator<< paramMichal Jarzabek2016-06-052-2/+2
| | | | Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
* rbd-replay: s/CEPH_BUFFER_APPEND_SIZE/CEPH_PAGE_SIZE/Sage Weil2016-03-011-2/+2
| | | | Signed-off-by: Sage Weil <sage@redhat.com>
* Merge pull request #7474 from jack-changtao/wip-cmake2Kefu Chai2016-02-051-1/+1
|\ | | | | | | | | CMake: For CMake version <= 2.8.11, use LINK_PRIVATE and LINK_PUBLIC Reviewed-by: Kefu Chai <kchai@redhat.com>
| * CMake: For CMake version <= 2.8.11, use LINK_{PRIVATE,PUBLIC} instead of ↵changtao2016-02-031-1/+1
| | | | | | | | | | | | PRIVATE,PUBLIC for backward compatibility Signed-off-by: Tao Chang <changtao@hihuron.com>
* | make ctors with one argument explicitDanny Al-Gaaf2016-01-293-12/+12
| | | | | | | | | | | | | | Use explicit keyword for constructors with one argument to prevent implicit usage as conversion functions. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | rbd-replay-prep.cc: replace inefficient string::find() w/ compare()Danny Al-Gaaf2016-01-291-2/+2
|/ | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* rbd-replay: async open/close calls supportMykola Golub2016-01-227-8/+261
| | | | | | It still uses sync open/close in replay, which can be improved later. Signed-off-by: Mykola Golub <mgolub@mirantis.com>
* rbd-replay: handle EOF gracefullyMykola Golub2016-01-213-3/+10
| | | | | Fixes: #14452 Signed-off-by: Mykola Golub <mgolub@mirantis.com>
* cmake: rbd_replay CMakeLists.txt, rbd_replay fixesAli Maredia2016-01-051-0/+52
| | | | | | | | | moved rbd_replay targets into it's directory, rbd-replay-prep added, removed "lib" in front of all rbd_replay libraries, linked rbd_replay into ceph-dencoder. Signed-off-by: Ali Maredia <amaredia@redhat.com>
* common/buffer: forward declare bufferMichal Jarzabek2015-11-302-2/+2
| | | | Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
* rbd-replay: added version control to trace output fileJason Dillaman2015-10-0816-773/+1071
| | | | Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* rbd-replay-prep: added --verbose command line optionJason Dillaman2015-10-071-5/+17
| | | | | | | This new command-line will dump all the processed events as they are extracted from the trace file. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* rbd-replay-prep: stream events to the prep fileJason Dillaman2015-10-072-56/+43
| | | | | | | Avoid building the entire prep event history in memory before attempting to write the prepped trace file. Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* rbd-replay-prep: simplify IO dependency calculationJason Dillaman2015-10-075-342/+93
| | | | | | | | | | | | | Only track read-after-write and write-after-write IO dependencies via the associated write completions. All IO events after a write completion are considered to be dependent and can be pruned down to at most the number of concurrent IOs. This reduces the prep time from a simple 'rbd bench-write' from over 4 hrs down to seconds. Fixes: #13378, #13384 Backport: hammer Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* rbd-replay: improve error messagesJason Dillaman2015-10-071-4/+6
| | | | | | Fixes: #13221 Backport: hammer Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* rbd-replay-prep: support new read/write APIsJason Dillaman2015-10-071-4/+8
| | | | | | | | Added support for read2, write2, aio_read2, and aio_write2 APIs. Fixes: 13325 Backport: hammer Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* rbd-replay-prep: avoid using assert statements on user inputsJason Dillaman2015-10-071-13/+27
| | | | | | Fixes: #13220 Backport: hammer Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* compat: include proper headers for FreeBSDYan, Zheng2015-09-112-2/+2
| | | | Signed-off-by: Yan, Zheng <zyan@redhat.com>
* rbd-replay: Different location of endian.h on DARWINDennis Schafroth2015-08-312-3/+10
| | | | Signed-off-by: Dennis Schafroth <dennis@schafroth.com>
* rbd_replay/Replayer.cc: init non-static members in ctorDanny Al-Gaaf2015-07-171-1/+3
| | | | | | | | | | | | | | | | | | Fix for: CID 1232607 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR) uninit_member: Non-static class member m_dump_perf_counters is not initialized in this constructor nor in any functions that it calls. uninit_member: Non-static class member m_rbd is not initialized in this constructor nor in any functions that it calls. uninit_member: Non-static class member m_ioctx is not initialized in this constructor nor in any functions that it calls. uninit_member: Non-static class member m_latency_multiplier is not initialized in this constructor nor in any functions that it calls. uninit_member: Non-static class member m_readonly is not initialized in this constructor nor in any functions that it calls. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* common: ceph_argparse_witharg: pass oss by referenceMykola Golub2015-04-041-1/+1
| | | | | | It is always supposed to be a valid pointer here. Signed-off-by: Mykola Golub <mgolub@mirantis.com>
* ceph_argparse: generalize ceph_argparse_with* routinesDmitry Yatsushkevich2015-03-311-1/+1
| | | | | | | Remove code duplication by generalizing ceph_argparse_with{int,float,longlong} routines - make one template function for those cases. Signed-off-by: Dmitry Yatsushkevich <dyatsushkevich@mirantis.com>
* Minor changes in other Makefile.am files to make them support the build ↵Boris Ranto2015-03-061-0/+8
| | | | refinement
* rbd-replay-prep.cc: reduce scope of variableDanny Al-Gaaf2014-10-261-2/+1
| | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* rbd-replay: Add code documentationAdam Crume2014-09-1210-17/+197
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* rbd-replay: Add --dump-perf-counters optionAdam Crume2014-09-123-1/+38
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* rbd-replay: Add --anonymize flag to rbd-replay-prepAdam Crume2014-09-121-4/+57
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* PendingIO.cc: use static_cast instead of c-style castDanny Al-Gaaf2014-09-031-1/+1
| | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* rbd_replay/Replayer.cc: pass const string parameter by referenceDanny Al-Gaaf2014-09-022-2/+2
| | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* rbd_replay: Add unit test for batch_unreachable_fromAdam Crume2014-08-214-518/+619
| | | | | | | This requires a fair amount of code reorganization, since the types in the function signature were previously not in a header file. Signed-off-by: Adam Crume <adamcrume@gmail.com>
* lttng: Split --with-lttng and --with-babeltrace optionsAdam Crume2014-08-211-1/+1
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* lttng: Fix build error on 32-bit systemsAdam Crume2014-08-211-1/+1
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* lttng: Update packagingAdam Crume2014-08-211-0/+2
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* rbd-replay: Fix bug in rbd-replay-prep, Thread::issued_io with wrong IOAdam Crume2014-08-211-1/+1
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* rbd-replay: Remove extent tracepoints and inline extentsAdam Crume2014-08-211-97/+46
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* rbd-replay: Convert prep-for-replay.py to rbd-replay-prep.ccAdam Crume2014-08-217-536/+1185
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>
* rbd-replay: Remove outdated message that says regexes are usedAdam Crume2014-08-211-2/+1
| | | | Signed-off-by: Adam Crume <adamcrume@gmail.com>