case CEPH_OSD_OP_TMAPPUT: return "tmapput";
case CEPH_OSD_OP_WATCH: return "watch";
- case CEPH_OSD_OP_COPY_GET: return "copy-get";
+ case CEPH_OSD_OP_COPY_GET_CLASSIC: return "copy-get-classic";
case CEPH_OSD_OP_COPY_FROM: return "copy-from";
case CEPH_OSD_OP_UNDIRTY: return "undirty";
case CEPH_OSD_OP_ISDIRTY: return "isdirty";
CEPH_OSD_OP_OMAP_CMP = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 25,
CEPH_OSD_OP_COPY_FROM = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 26,
- CEPH_OSD_OP_COPY_GET = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 27,
+ CEPH_OSD_OP_COPY_GET_CLASSIC = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 27,
CEPH_OSD_OP_UNDIRTY = CEPH_OSD_OP_MODE_WR | CEPH_OSD_OP_TYPE_DATA | 28,
CEPH_OSD_OP_ISDIRTY = CEPH_OSD_OP_MODE_RD | CEPH_OSD_OP_TYPE_DATA | 29,
}
break;
- case CEPH_OSD_OP_COPY_GET:
+ case CEPH_OSD_OP_COPY_GET_CLASSIC:
++ctx->num_read;
- result = fill_in_copy_get(bp, osd_op, oi);
+ result = fill_in_copy_get(bp, osd_op, oi, true);
if (result == -EINVAL)
goto fail;
break;
};
int ReplicatedPG::fill_in_copy_get(bufferlist::iterator& bp, OSDOp& osd_op,
- object_info_t& oi)
+ object_info_t& oi, bool classic)
{
+ assert(classic);
hobject_t& soid = oi.soid;
int result = 0;
object_copy_cursor_t cursor;
// -- copyfrom --
map<hobject_t, CopyOpRef> copy_ops;
- int fill_in_copy_get(bufferlist::iterator& bp, OSDOp& op, object_info_t& oi);
+ int fill_in_copy_get(bufferlist::iterator& bp, OSDOp& op,
+ object_info_t& oi, bool classic);
/**
* To copy an object, call start_copy.
*
out << (op.op.watch.flag ? " add":" remove")
<< " cookie " << op.op.watch.cookie << " ver " << op.op.watch.ver;
break;
- case CEPH_OSD_OP_COPY_GET:
+ case CEPH_OSD_OP_COPY_GET_CLASSIC:
out << " max " << op.op.copy_get.max;
case CEPH_OSD_OP_COPY_FROM:
out << " ver " << op.op.copy_from.src_version;
bufferlist *out_data,
std::map<std::string,bufferlist> *out_omap,
int *prval) {
- OSDOp& osd_op = add_op(CEPH_OSD_OP_COPY_GET);
+ OSDOp& osd_op = add_op(CEPH_OSD_OP_COPY_GET_CLASSIC);
osd_op.op.copy_get.max = max;
::encode(*cursor, osd_op.indata);
::encode(max, osd_op.indata);