From a0bb575c1906575ac42d8aecdc9bbfcbf793962b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 7 Apr 2016 11:40:51 -0400 Subject: [PATCH] ceph_test_rados_api_misc: make CopyFrom omap test be a big object This makes it so we check single-shot path and the one where we have a temp object to clean up. Signed-off-by: Sage Weil --- src/test/librados/misc.cc | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/test/librados/misc.cc b/src/test/librados/misc.cc index ed19e00dd51da..1bafcab48484b 100644 --- a/src/test/librados/misc.cc +++ b/src/test/librados/misc.cc @@ -734,15 +734,29 @@ std::string LibRadosTwoPoolsECPP::src_pool_name; //copy_from between ecpool and no-ecpool. TEST_F(LibRadosTwoPoolsECPP, CopyFrom) { - //create object w/ omapheader + bufferlist z; + z.append_zero(4194304*2); bufferlist b; b.append("copyfrom"); - ASSERT_EQ(0, src_ioctx.omap_set_header("foo", b)); - version_t uv = src_ioctx.get_last_version(); - ObjectWriteOperation op; - op.copy_from("foo", src_ioctx, uv); - ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("foo.copy", &op)); + // create big object w/ omapheader + { + ASSERT_EQ(0, src_ioctx.write_full("foo", z)); + ASSERT_EQ(0, src_ioctx.omap_set_header("foo", b)); + version_t uv = src_ioctx.get_last_version(); + ObjectWriteOperation op; + op.copy_from("foo", src_ioctx, uv); + ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("foo.copy", &op)); + } + + // same with small object + { + ASSERT_EQ(0, src_ioctx.omap_set_header("bar", b)); + version_t uv = src_ioctx.get_last_version(); + ObjectWriteOperation op; + op.copy_from("bar", src_ioctx, uv); + ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("bar.copy", &op)); + } } TEST_F(LibRadosMiscPP, CopyScrubPP) { -- 2.39.5