]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
src/test: allow EOPNOTSUPP in SetChunkOp
authormyoungwon oh <ohmyoungwon@gmail.com>
Mon, 8 Feb 2021 02:33:17 +0000 (11:33 +0900)
committermyoungwon oh <ohmyoungwon@gmail.com>
Mon, 29 Mar 2021 08:09:20 +0000 (17:09 +0900)
Because tier-flush creates new chunks in the manifest object using CDC,
SetChunkOp from ceph_test_rados can issue overlapped offset

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
src/test/osd/RadosModel.h

index 63933a5e2bfa1f64924db52aa85701777665b835..cc0aa71f18df5f2878128ba5327fc52ad09b3a7d 100644 (file)
@@ -2399,23 +2399,9 @@ public:
                  context->oid_set_chunk_tgt_pool.end()) {
          cout << num << ": get expected ENOENT tgt oid " << oid_tgt << std::endl;
        } else if (r == -EOPNOTSUPP) {
-         bool is_overlapped = false;
-         interval_set<uint64_t> chunk;
-         chunk.insert(offset, length);
-         for (auto &p : src_value.chunk_info) {
-           if (chunk.intersects(p.first, p.second.length)) {
-             cout << " range is overlapped  offset: " << offset << " length: " << length
-                   << " chunk_info offset: " << p.second.offset << " length " 
-                   << p.second.length << std::endl;
-             is_overlapped = true;
-             context->update_object_version(oid, comp->get_version64());
-           } 
-         }
-         if (!is_overlapped) {
-           cerr << "Error: oid " << oid << " set_chunk " << oid_tgt << " returned error code "
-                 << r << " offset: " << offset << " length: " << length <<  std::endl;
-           ceph_abort();
-         }
+         cout << "Range is overlapped: oid " << oid << " set_chunk " << oid_tgt << " returned error code "
+               << r << " offset: " << offset << " length: " << length <<  std::endl;
+         context->update_object_version(oid, comp->get_version64());
        } else {
          cerr << "Error: oid " << oid << " set_chunk " << oid_tgt << " returned error code "
               << r << std::endl;