]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-replay-prep: support new read/write APIs
authorJason Dillaman <dillaman@redhat.com>
Tue, 6 Oct 2015 16:48:50 +0000 (12:48 -0400)
committerJason Dillaman <dillaman@redhat.com>
Wed, 7 Oct 2015 19:41:23 +0000 (15:41 -0400)
Added support for read2, write2, aio_read2, and aio_write2 APIs.

Fixes: 13325
Backport: hammer
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/rbd_replay/rbd-replay-prep.cc

index 7468eb092982ba14ce7d1428e64847f2b613b734..e0998f5b2f3724f42e7db26929dc08678bd2b350 100644 (file)
@@ -366,7 +366,8 @@ private:
       const struct bt_definition *m_scope;
     } fields(evt, scope_fields);
 
-    if (strcmp(event_name, "librbd:read_enter") == 0) {
+    if (strcmp(event_name, "librbd:read_enter") == 0 ||
+        strcmp(event_name, "librbd:read2_enter") == 0) {
       string name(fields.string("name"));
       string snap_name(fields.string("snap_name"));
       bool readonly = fields.int64("read_only");
@@ -414,7 +415,8 @@ private:
       IO::ptr completionIO(thread->pending_io()->create_completion(ts, threadID));
       m_ios.push_back(completionIO);
       completed(completionIO);
-    } else if (strcmp(event_name, "librbd:write_enter") == 0) {
+    } else if (strcmp(event_name, "librbd:write_enter") == 0 ||
+               strcmp(event_name, "librbd:write2_enter") == 0) {
       string name(fields.string("name"));
       string snap_name(fields.string("snap_name"));
       bool readonly = fields.int64("read_only");
@@ -431,7 +433,8 @@ private:
       IO::ptr completionIO(thread->pending_io()->create_completion(ts, threadID));
       m_ios.push_back(completionIO);
       completed(completionIO);
-    } else if (strcmp(event_name, "librbd:aio_read_enter") == 0) {
+    } else if (strcmp(event_name, "librbd:aio_read_enter") == 0 ||
+               strcmp(event_name, "librbd:aio_read2_enter") == 0) {
       string name(fields.string("name"));
       string snap_name(fields.string("snap_name"));
       bool readonly = fields.int64("read_only");
@@ -446,7 +449,8 @@ private:
       m_ios.push_back(io);
       thread->issued_io(io, m_threads);
       m_pending_ios[completion] = io;
-    } else if (strcmp(event_name, "librbd:aio_write_enter") == 0) {
+    } else if (strcmp(event_name, "librbd:aio_write_enter") == 0 ||
+               strcmp(event_name, "librbd:aio_write2_enter") == 0) {
       string name(fields.string("name"));
       string snap_name(fields.string("snap_name"));
       bool readonly = fields.int64("read_only");