From 1a7335d535bce44bd1fa6a684578e1c5d6b5681f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 5 Jan 2014 12:26:48 -0800 Subject: [PATCH] ceph_test_rados_misc: test bad version for copy-from Signed-off-by: Sage Weil --- src/test/librados/misc.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/test/librados/misc.cc b/src/test/librados/misc.cc index bbe67ea0b5aa5..0b2ba6ccf12d4 100644 --- a/src/test/librados/misc.cc +++ b/src/test/librados/misc.cc @@ -663,9 +663,22 @@ TEST(LibRadosMisc, CopyPP) { ASSERT_EQ(0, ioctx.write_full("foo", blc)); ASSERT_EQ(0, ioctx.setxattr("foo", "myattr", xc)); + version_t uv = ioctx.get_last_version(); { + // pass future version ObjectWriteOperation op; - op.copy_from("foo", ioctx, ioctx.get_last_version()); + op.copy_from("foo", ioctx, uv + 1); + ASSERT_EQ(-EOVERFLOW, ioctx.operate("foo.copy", &op)); + } + { + // pass old version + ObjectWriteOperation op; + op.copy_from("foo", ioctx, uv - 1); + ASSERT_EQ(-ERANGE, ioctx.operate("foo.copy", &op)); + } + { + ObjectWriteOperation op; + op.copy_from("foo", ioctx, uv); ASSERT_EQ(0, ioctx.operate("foo.copy", &op)); bufferlist bl2, x2; -- 2.39.5