]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: clean up write helper param types
authorSamuel Just <sjust@redhat.com>
Sat, 6 Mar 2021 08:03:34 +0000 (08:03 +0000)
committerSamuel Just <sjust@redhat.com>
Sun, 18 Apr 2021 07:30:38 +0000 (00:30 -0700)
By convention, we want to pass these by value or rval
ref as their lifetimes need to be managed.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/seastore.cc
src/crimson/os/seastore/seastore.h

index a38462b7cd77924e65b1e7a2cbc8ffe73072a45a..a2c74a68ae0dcf5aaf09afb35eddb9bd82f99627 100644 (file)
@@ -529,7 +529,9 @@ SeaStore::tm_ret SeaStore::_do_transaction_step(
       uint32_t fadvise_flags = i.get_fadvise_flags();
       ceph::bufferlist bl;
       i.decode_bl(bl);
-      return _write(ctx, get_onode(op->oid), off, len, bl, fadvise_flags);
+      return _write(
+       ctx, get_onode(op->oid), off, len, std::move(bl),
+       fadvise_flags);
     }
     break;
     case Transaction::OP_TRUNCATE:
@@ -545,7 +547,7 @@ SeaStore::tm_ret SeaStore::_do_transaction_step(
       i.decode_bl(bl);
       std::map<std::string, bufferptr> to_set;
       to_set[name] = bufferptr(bl.c_str(), bl.length());
-      return _setattrs(ctx, get_onode(op->oid), to_set);
+      return _setattrs(ctx, get_onode(op->oid), std::move(to_set));
     }
     break;
     case Transaction::OP_MKCOLL:
@@ -571,14 +573,14 @@ SeaStore::tm_ret SeaStore::_do_transaction_step(
     {
       ceph::bufferlist bl;
       i.decode_bl(bl);
-      return _omap_set_header(ctx, get_onode(op->oid), bl);
+      return _omap_set_header(ctx, get_onode(op->oid), std::move(bl));
     }
     break;
     case Transaction::OP_OMAP_RMKEYS:
     {
       omap_keys_t keys;
       i.decode_keyset(keys);
-      return _omap_rmkeys(ctx, get_onode(op->oid), keys);
+      return _omap_rmkeys(ctx, get_onode(op->oid), std::move(keys));
     }
     break;
     case Transaction::OP_OMAP_RMKEYRANGE:
@@ -586,7 +588,9 @@ SeaStore::tm_ret SeaStore::_do_transaction_step(
       string first, last;
       first = i.decode_string();
       last = i.decode_string();
-      return _omap_rmkeyrange(ctx, get_onode(op->oid), first, last);
+      return _omap_rmkeyrange(
+       ctx, get_onode(op->oid),
+       std::move(first), std::move(last));
     }
     break;
     case Transaction::OP_COLL_HINT:
@@ -626,12 +630,12 @@ SeaStore::tm_ret SeaStore::_touch(
 SeaStore::tm_ret SeaStore::_write(
   internal_context_t &ctx,
   OnodeRef &onode,
-  uint64_t offset, size_t len, const ceph::bufferlist& bl,
+  uint64_t offset, size_t len,
+  ceph::bufferlist &&bl,
   uint32_t fadvise_flags)
 {
   logger().debug("{}: {} {} ~ {}",
                 __func__, *onode, offset, len);
-  assert(len == bl.length());
   return tm_ertr::now();
 }
 
@@ -685,7 +689,7 @@ SeaStore::tm_ret SeaStore::_omap_set_values(
 SeaStore::tm_ret SeaStore::_omap_set_header(
   internal_context_t &ctx,
   OnodeRef &onode,
-  const ceph::bufferlist &header)
+  ceph::bufferlist &&header)
 {
   logger().debug(
     "{}: {} {} bytes",
@@ -697,7 +701,7 @@ SeaStore::tm_ret SeaStore::_omap_set_header(
 SeaStore::tm_ret SeaStore::_omap_rmkeys(
   internal_context_t &ctx,
   OnodeRef &onode,
-  const omap_keys_t& keys)
+  omap_keys_t &&keys)
 {
   logger().debug(
     "{} {} {} keys",
@@ -709,9 +713,11 @@ SeaStore::tm_ret SeaStore::_omap_rmkeys(
     return seastar::do_with(
       BtreeOMapManager(*transaction_manager),
       onode->get_layout().omap_root.get(),
-      [&ctx, &onode, &keys, this](
+      std::move(keys),
+      [&ctx, &onode, this](
        auto &omap_manager,
-       auto &omap_root) {
+       auto &omap_root,
+       auto &keys) {
        return crimson::do_for_each(
          keys.begin(),
          keys.end(),
@@ -733,8 +739,8 @@ SeaStore::tm_ret SeaStore::_omap_rmkeys(
 SeaStore::tm_ret SeaStore::_omap_rmkeyrange(
   internal_context_t &ctx,
   OnodeRef &onode,
-  const std::string &first,
-  const std::string &last)
+  std::string first,
+  std::string last)
 {
   logger().debug(
     "{} {} first={} last={}",
@@ -756,7 +762,7 @@ SeaStore::tm_ret SeaStore::_truncate(
 SeaStore::tm_ret SeaStore::_setattrs(
   internal_context_t &ctx,
   OnodeRef &onode,
-  std::map<std::string,bufferptr>aset)
+  std::map<std::string,bufferptr> &&aset)
 {
   logger().debug("{} onode={}",
                 __func__, *onode);
index 120be167d9f35b75193e9c533dfd7791c9584f21..8c71b96b82f08ad40664d1ad752c00a7e710dfcd 100644 (file)
@@ -228,7 +228,8 @@ private:
   tm_ret _write(
     internal_context_t &ctx,
     OnodeRef &onode,
-    uint64_t offset, size_t len, const ceph::bufferlist& bl,
+    uint64_t offset, size_t len,
+    ceph::bufferlist &&bl,
     uint32_t fadvise_flags);
   tm_ret _omap_set_values(
     internal_context_t &ctx,
@@ -237,23 +238,23 @@ private:
   tm_ret _omap_set_header(
     internal_context_t &ctx,
     OnodeRef &onode,
-    const ceph::bufferlist &header);
+    ceph::bufferlist &&header);
   tm_ret _omap_rmkeys(
     internal_context_t &ctx,
     OnodeRef &onode,
-    const omap_keys_t& aset);
+    omap_keys_t &&aset);
   tm_ret _omap_rmkeyrange(
     internal_context_t &ctx,
     OnodeRef &onode,
-    const std::string &first,
-    const std::string &last);
+    std::string first,
+    std::string last);
   tm_ret _truncate(
     internal_context_t &ctx,
     OnodeRef &onode, uint64_t size);
   tm_ret _setattrs(
     internal_context_t &ctx,
     OnodeRef &onode,
-    std::map<std::string,bufferptr>aset);
+    std::map<std::string,bufferptr> &&aset);
   tm_ret _create_collection(
     internal_context_t &ctx,
     const coll_t& cid, int bits);