]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
buffer: rename iterator copy() to copy_deep()
authorSage Weil <sage@redhat.com>
Mon, 19 Sep 2016 00:09:36 +0000 (19:09 -0500)
committerSage Weil <sage@redhat.com>
Sun, 16 Oct 2016 14:32:49 +0000 (10:32 -0400)
Current callers expect a deep copy; be explicit about it.

Signed-off-by: Sage Weil <sage@redhat.com>
src/auth/Crypto.cc
src/common/buffer.cc
src/include/buffer.h
src/include/small_encoding.h
src/test/bufferlist.cc
src/test/librados_test_stub/TestMemIoCtxImpl.cc

index 5ed9e88052ece2e955cdc9578d8de72e15f90c79..4b758711e6a00d3430e28d37f9da71b01613a5f0 100644 (file)
@@ -384,7 +384,7 @@ void CryptoKey::decode(bufferlist::iterator& bl)
   __u16 len;
   ::decode(len, bl);
   bufferptr tmp;
-  bl.copy(len, tmp);
+  bl.copy_deep(len, tmp);
   if (_set_secret(type, tmp) < 0)
     throw buffer::malformed_input("malformed secret");
 }
index f941428ec840788b788004e5ee7f70c6a7d4a9cb..c3ce4f199403fb2476a368e2c703a51736972b69 100644 (file)
@@ -1149,8 +1149,11 @@ static simple_spinlock_t buffer_debug_lock = SIMPLE_SPINLOCK_INITIALIZER;
   }
 
   template<bool is_const>
-  void buffer::list::iterator_impl<is_const>::copy(unsigned len, ptr &dest)
+  void buffer::list::iterator_impl<is_const>::copy_deep(unsigned len, ptr &dest)
   {
+    if (p == ls->end())
+      throw end_of_buffer();
+    assert(p->length() > 0);
     dest = create(len);
     copy(len, dest.c_str());
   }
@@ -1298,9 +1301,14 @@ static simple_spinlock_t buffer_debug_lock = SIMPLE_SPINLOCK_INITIALIZER;
     return buffer::list::iterator_impl<false>::copy(len, dest);
   }
 
-  void buffer::list::iterator::copy(unsigned len, ptr &dest)
+  void buffer::list::iterator::copy_deep(unsigned len, ptr &dest)
   {
-    buffer::list::iterator_impl<false>::copy(len, dest);
+    buffer::list::iterator_impl<false>::copy_deep(len, dest);
+  }
+
+  void buffer::list::iterator::copy_shallow(unsigned len, ptr &dest)
+  {
+    buffer::list::iterator_impl<false>::copy_shallow(len, dest);
   }
 
   void buffer::list::iterator::copy(unsigned len, list &dest)
index ef0ccc15aefb112e32bb1cdb79a1987902dbb812..6a23feca730ab1994415b0af10828b524b92b098 100644 (file)
@@ -320,7 +320,7 @@ namespace buffer CEPH_BUFFER_API {
       // copy data out.
       // note that these all _append_ to dest!
       void copy(unsigned len, char *dest);
-      void copy(unsigned len, ptr &dest);
+      void copy_deep(unsigned len, ptr &dest);
       void copy(unsigned len, list &dest);
       void copy(unsigned len, std::string &dest);
       void copy_all(list &dest);
@@ -360,7 +360,7 @@ namespace buffer CEPH_BUFFER_API {
 
       // copy data out
       void copy(unsigned len, char *dest);
-      void copy(unsigned len, ptr &dest);
+      void copy_deep(unsigned len, ptr &dest);
       void copy(unsigned len, list &dest);
       void copy(unsigned len, std::string &dest);
       void copy_all(list &dest);
index e07afaf381e0c428f9ccdecc754db2d0ba329897..874bfa2f80a65ccb33063ec341044c52b3649016 100644 (file)
@@ -251,7 +251,7 @@ template<typename T>
 inline void small_decode_buf_lowz(T& bp, bufferlist::iterator& p) {
   size_t l;
   small_decode_varint_lowz(l, p);
-  p.copy(l, bp);
+  p.copy_deep(l, bp);
 }
 
 // STL containers
index e67760f35066e51012336edf4acc7633edec59b2..63f174358c3b2d018799a5b243ad020ce102f2df 100644 (file)
@@ -1216,12 +1216,12 @@ TEST(BufferListIterator, copy) {
     EXPECT_EQ(0, ::memcmp(copy, expected, 3));
   }
   //
-  // void buffer::list::iterator::copy(unsigned len, ptr &dest)
+  // void buffer::list::iterator::copy_deep(unsigned len, ptr &dest)
   //
   {
     bufferptr ptr;
     bufferlist::iterator i(&bl);
-    i.copy(2, ptr);
+    i.copy_deep(2, ptr);
     EXPECT_EQ((unsigned)2, ptr.length());
     EXPECT_EQ('A', ptr[0]);
     EXPECT_EQ('B', ptr[1]);
index 6c522e8e2aa5ccc63812d7f4ca14934e24388a57..ae04c86971e96ffc9a011d0cf0ac8e36da4ee320 100644 (file)
@@ -550,7 +550,7 @@ void TestMemIoCtxImpl::append_clone(bufferlist& src, bufferlist* dest) {
   if (src.length() > 0) {
     bufferlist::iterator iter = src.begin();
     buffer::ptr ptr;
-    iter.copy(src.length(), ptr);
+    iter.copy_deep(src.length(), ptr);
     dest->append(ptr);
   }
 }