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>
Add assertf macro

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add rbd_replay subsystem

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Bugfix: ensure PendingIOs are added before they're removed

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Printing pending IOs when worker threads waiting to die

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Change Worker::m_pending_ios from vector to map

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Print "Still waiting for" more judiciously

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Support writing Actions to ostreams

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Check that return values are non-negative

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Fix memory leak in PendingIO

Signed-off-by: Adam Crume <adamcrume@gmail.com>
doc: Add usage comment to librbd::RBD::AioCompletion

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add --latency-multiplier option to usage statement

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Hash completions across multiple mutexes to reduce contention

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Clean up prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Fix examples/rbd-replay/replay

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Add --read-only flag

Removes ignoreWrites flag in prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>
rbd-replay: Fix async writes in prep-for-replay.py

Signed-off-by: Adam Crume <adamcrume@gmail.com>
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>
lttng: Default to not storing buffer content

Signed-off-by: Adam Crume <adamcrume@gmail.com>