]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: set SEQUENTIAL and NOCACHE advise flags on image sync 12280/head
authorMykola Golub <mgolub@mirantis.com>
Fri, 2 Dec 2016 11:38:29 +0000 (13:38 +0200)
committerMykola Golub <mgolub@mirantis.com>
Fri, 2 Dec 2016 11:38:29 +0000 (13:38 +0200)
Fixes: http://tracker.ceph.com/issues/17127
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
src/tools/rbd_mirror/image_sync/ObjectCopyRequest.cc

index 0d1c7040497628b31974f79e83f35f2963385cb2..fed48194c265f200f186a12ac060c46d8f58228a 100644 (file)
@@ -114,6 +114,8 @@ void ObjectCopyRequest<I>::send_read_object() {
                << std::get<2>(sync_op) << dendl;
       op.sparse_read(std::get<1>(sync_op), std::get<2>(sync_op), &std::get<4>(sync_op),
                      &std::get<3>(sync_op), nullptr);
+      op.set_op_flags2(LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL |
+                       LIBRADOS_OP_FLAG_FADVISE_NOCACHE);
       break;
     default:
       break;
@@ -182,6 +184,8 @@ void ObjectCopyRequest<I>::send_write_object() {
          bufferlist tmpbl;
          tmpbl.substr_of(std::get<3>(sync_op), buffer_offset, it.second);
          op.write(it.first, tmpbl);
+         op.set_op_flags2(LIBRADOS_OP_FLAG_FADVISE_SEQUENTIAL |
+                          LIBRADOS_OP_FLAG_FADVISE_NOCACHE);
          buffer_offset += it.second;
         dout(20) << ": write op: " << it.first<< "~" << it.second << dendl;
       }