From 44152fb828e3090eb2af0d05fea1f6d4b24902e5 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Mon, 26 Aug 2019 20:29:47 +0200 Subject: [PATCH] crimson/osd: ignore CEPH_OSD_OP_TMAPUP like ceph-osd does for EC pools. Signed-off-by: Radoslaw Zarzynski --- src/crimson/osd/ops_executer.cc | 5 +++++ src/crimson/osd/ops_executer.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index 56065d38b1bf4..f3fe175cb3b27 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -401,6 +401,11 @@ OpsExecuter::do_osd_op(OSDOp& osd_op) return do_const_op([&osd_op] (/* const */auto& backend, const auto& os) { return backend.stat(os, osd_op); }); + case CEPH_OSD_OP_TMAPUP: + // TODO: there was an effort to kill TMAP in ceph-osd. According to + // @dzafman this isn't possible yet. Maybe it could be accomplished + // before crimson's readiness and we'd luckily don't need to carry. + return dont_do_legacy_op(); default: logger().warn("unknown op {}", ceph_osd_op_name(op.op)); throw std::runtime_error( diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index f1ea36713f0d0..d4b0b66a6d471 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -27,6 +27,7 @@ #include "crimson/osd/pg.h" #include "crimson/osd/pg_backend.h" +#include "crimson/osd/exceptions.h" class PGLSFilter; class OSDOp; @@ -88,6 +89,10 @@ class OpsExecuter { std::as_const(os->oi.soid.get_namespace())); } + seastar::future<> dont_do_legacy_op() { + throw ceph::osd::operation_not_supported(); + } + public: OpsExecuter(PGBackend::cached_os_t os, PG& pg) : os(std::move(os)), pg(pg), backend(pg.get_backend()) { -- 2.39.5