assert(cop->cursor.is_initial());
}
op.copy_get(&cop->cursor, cct->_conf->osd_copyfrom_max_chunk,
- &cop->size, &cop->mtime, &cop->attrs,
- &cop->data, &cop->omap,
+ &cop->size, &cop->mtime, &cop->category,
+ &cop->attrs, &cop->data, &cop->omap,
&cop->rval);
C_Copyfrom *fin = new C_Copyfrom(this, obc->obs.oi.soid,
object_copy_cursor_t *cursor;
uint64_t *out_size;
utime_t *out_mtime;
+ string *out_category;
std::map<std::string,bufferlist> *out_attrs;
bufferlist *out_data;
std::map<std::string,bufferlist> *out_omap;
C_ObjectOperation_copyget(object_copy_cursor_t *c,
uint64_t *s,
utime_t *m,
+ string *cat,
std::map<std::string,bufferlist> *a,
bufferlist *d,
std::map<std::string,bufferlist> *o,
int *r)
: cursor(c),
- out_size(s), out_mtime(m), out_attrs(a),
- out_data(d), out_omap(o), prval(r) {}
+ out_size(s), out_mtime(m), out_category(cat),
+ out_attrs(a), out_data(d), out_omap(o), prval(r) {}
void finish(int r) {
if (r < 0)
return;
*out_size = copy_reply.size;
if (out_mtime)
*out_mtime = copy_reply.mtime;
+ if (out_category)
+ *out_category = copy_reply.category;
if (out_attrs)
*out_attrs = copy_reply.attrs;
if (out_data)
uint64_t max,
uint64_t *out_size,
utime_t *out_mtime,
+ string *out_category,
std::map<std::string,bufferlist> *out_attrs,
bufferlist *out_data,
std::map<std::string,bufferlist> *out_omap,
unsigned p = ops.size() - 1;
out_rval[p] = prval;
C_ObjectOperation_copyget *h =
- new C_ObjectOperation_copyget(cursor, out_size, out_mtime, out_attrs, out_data, out_omap, prval);
+ new C_ObjectOperation_copyget(cursor, out_size, out_mtime, out_category,
+ out_attrs, out_data, out_omap, prval);
out_bl[p] = &h->bl;
out_handler[p] = h;
}