]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/bl: define iov_vec_t using a dedicated struct
authorKefu Chai <tchaikov@gmail.com>
Fri, 15 Oct 2021 23:48:55 +0000 (07:48 +0800)
committerKefu Chai <tchaikov@gmail.com>
Fri, 15 Oct 2021 23:48:58 +0000 (07:48 +0800)
more readable this way

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
src/common/buffer.cc
src/crimson/os/seastore/segment_manager/block.cc
src/include/buffer.h

index fe9b1e09f373a3fce0e7fba3dd566bc84eaddce0..6e6bf41b11871d1774205bc492bcf0e3d594df14 100644 (file)
@@ -2037,23 +2037,23 @@ buffer::list::iov_vec_t buffer::list::prepare_iovs()
   size_t index = 0;
   uint64_t off = 0;
   iovs.resize(_num / IOV_MAX + 1);
-  iovs[iovs_i].second.resize(
+  iovs[iovs_i].iov.resize(
     std::min(_num - IOV_MAX * iovs_i, (size_t)IOV_MAX));
-  iovs[iovs_i].first.first = off;
-  iovs[iovs_i].first.second = 0;
+  iovs[iovs_i].offset = off;
+  iovs[iovs_i].length = 0;
   for (auto& bp : _buffers) {
     if (index == IOV_MAX) {
       iovs_i++;
       index = 0;
-      iovs[iovs_i].first.first = off;
-      iovs[iovs_i].first.second = 0;
-      iovs[iovs_i].second.resize(
+      iovs[iovs_i].offset = off;
+      iovs[iovs_i].length = 0;
+      iovs[iovs_i].iov.resize(
        std::min(_num - IOV_MAX * iovs_i, (size_t)IOV_MAX));
     }
-    iovs[iovs_i].second[index].iov_base = (void*)bp.c_str();
-    iovs[iovs_i].second[index++].iov_len = bp.length();
+    iovs[iovs_i].iov[index].iov_base = (void*)bp.c_str();
+    iovs[iovs_i].iov[index++].iov_len = bp.length();
     off += bp.length();
-    iovs[iovs_i].first.second += bp.length();
+    iovs[iovs_i].length += bp.length();
   }
   return iovs;
 }
index 0e71ee0ed1e86954bab4506cb6994b44c4133afa..f623cee7cbf4ce171afd7989f7319f2588e62b5e 100644 (file)
@@ -70,9 +70,9 @@ static write_ertr::future<> do_writev(
     return write_ertr::parallel_for_each(
       iovs,
       [&device, offset](auto& p) mutable {
-      auto off = offset + p.first.first;
-      auto len = p.first.second;
-      auto& iov = p.second;
+      auto off = offset + p.offset;
+      auto len = p.length;
+      auto& iov = p.iov;
       logger().debug("do_writev: dma_write to {}, length {}", off, len);
       return device.dma_write(off, std::move(iov))
       .handle_exception([](auto e) -> write_ertr::future<size_t> {
index de9ef75b3b2bcbb0a3bdd32f51f3283afc9e99e3..b0b8c440dec0799268ca8313c8a73de1753ec559 100644 (file)
@@ -1197,10 +1197,12 @@ struct error_code;
       }
     }
 
-    // vector<pair<offset, length>, iov>
-    using iov_vec_t =
-      std::vector<std::pair<std::pair<uint64_t, uint64_t>, std::vector<iovec>>>;
-
+    struct iovec_t {
+      uint64_t offset;
+      uint64_t length;
+      std::vector<iovec> iov;
+    };
+    using iov_vec_t = std::vector<iovec_t>;
     iov_vec_t prepare_iovs();
 
     uint32_t crc32c(uint32_t crc) const;