X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fmessages%2FMOSDRepOpReply.h;fp=src%2Fceph%2Fsrc%2Fmessages%2FMOSDRepOpReply.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=adeee9253738a7f8e39236af1e0040b4b8cbc152;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/messages/MOSDRepOpReply.h b/src/ceph/src/messages/MOSDRepOpReply.h deleted file mode 100644 index adeee92..0000000 --- a/src/ceph/src/messages/MOSDRepOpReply.h +++ /dev/null @@ -1,159 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2004-2006 Sage Weil - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - - -#ifndef CEPH_MOSDREPOPREPLY_H -#define CEPH_MOSDREPOPREPLY_H - -#include "MOSDFastDispatchOp.h" - -#include "os/ObjectStore.h" - -/* - * OSD Client Subop reply - * - * oid - object id - * op - OSD_OP_DELETE, etc. - * - */ - -class MOSDRepOpReply : public MOSDFastDispatchOp { - static const int HEAD_VERSION = 2; - static const int COMPAT_VERSION = 1; -public: - epoch_t map_epoch, min_epoch; - - // subop metadata - osd_reqid_t reqid; - pg_shard_t from; - spg_t pgid; - - // result - __u8 ack_type; - int32_t result; - - // piggybacked osd state - eversion_t last_complete_ondisk; - - bufferlist::iterator p; - // Decoding flags. Decoding is only needed for messages catched by pipe reader. - bool final_decode_needed; - - epoch_t get_map_epoch() const override { - return map_epoch; - } - epoch_t get_min_epoch() const override { - return min_epoch; - } - spg_t get_spg() const override { - return pgid; - } - - void decode_payload() override { - p = payload.begin(); - ::decode(map_epoch, p); - if (header.version >= 2) { - ::decode(min_epoch, p); - decode_trace(p); - } else { - min_epoch = map_epoch; - } - ::decode(reqid, p); - ::decode(pgid, p); - } - - void finish_decode() { - if (!final_decode_needed) - return; // Message is already final decoded - ::decode(ack_type, p); - ::decode(result, p); - ::decode(last_complete_ondisk, p); - - ::decode(from, p); - final_decode_needed = false; - } - void encode_payload(uint64_t features) override { - ::encode(map_epoch, payload); - if (HAVE_FEATURE(features, SERVER_LUMINOUS)) { - header.version = HEAD_VERSION; - ::encode(min_epoch, payload); - encode_trace(payload, features); - } else { - header.version = 1; - } - ::encode(reqid, payload); - ::encode(pgid, payload); - ::encode(ack_type, payload); - ::encode(result, payload); - ::encode(last_complete_ondisk, payload); - ::encode(from, payload); - } - - spg_t get_pg() { return pgid; } - - int get_ack_type() { return ack_type; } - bool is_ondisk() { return ack_type & CEPH_OSD_FLAG_ONDISK; } - bool is_onnvram() { return ack_type & CEPH_OSD_FLAG_ONNVRAM; } - - int get_result() { return result; } - - void set_last_complete_ondisk(eversion_t v) { last_complete_ondisk = v; } - eversion_t get_last_complete_ondisk() const { return last_complete_ondisk; } - -public: - MOSDRepOpReply( - const MOSDRepOp *req, pg_shard_t from, int result_, epoch_t e, epoch_t mine, - int at) : - MOSDFastDispatchOp(MSG_OSD_REPOPREPLY, HEAD_VERSION, COMPAT_VERSION), - map_epoch(e), - min_epoch(mine), - reqid(req->reqid), - from(from), - pgid(req->pgid.pgid, req->from.shard), - ack_type(at), - result(result_), - final_decode_needed(false) { - set_tid(req->get_tid()); - } - MOSDRepOpReply() - : MOSDFastDispatchOp(MSG_OSD_REPOPREPLY, HEAD_VERSION, COMPAT_VERSION), - map_epoch(0), - min_epoch(0), - ack_type(0), result(0), - final_decode_needed(true) {} -private: - ~MOSDRepOpReply() override {} - -public: - const char *get_type_name() const override { return "osd_repop_reply"; } - - void print(ostream& out) const override { - out << "osd_repop_reply(" << reqid - << " " << pgid << " e" << map_epoch << "/" << min_epoch; - if (!final_decode_needed) { - if (ack_type & CEPH_OSD_FLAG_ONDISK) - out << " ondisk"; - if (ack_type & CEPH_OSD_FLAG_ONNVRAM) - out << " onnvram"; - if (ack_type & CEPH_OSD_FLAG_ACK) - out << " ack"; - out << ", result = " << result; - } - out << ")"; - } - -}; - - -#endif