auto bp = osd_op.indata.cbegin();
bp.copy(osd_op.op.xattr.name_len, name);
bp.copy(osd_op.op.xattr.value_len, val);
- osd_op.indata.splice(0, bp.get_off());
}
logger().debug("setxattr on obj={} for attr={}", os.oi.soid, name);
std::string aname;
bp.copy(osd_op.op.xattr.name_len, aname);
name = "_" + aname;
- osd_op.indata.splice(0, bp.get_off());
}
logger().debug("getxattr on obj={} for attr={}", os.oi.soid, name);
return getxattr(os.oi.soid, name).safe_then([&osd_op] (ceph::bufferptr val) {
auto bp = osd_op.indata.cbegin();
string attr_name{"_"};
bp.copy(osd_op.op.xattr.name_len, attr_name);
- osd_op.indata.splice(0, bp.get_off());
txn.rmattr(coll->get_cid(), ghobject_t{os.oi.soid}, attr_name);
return rm_xattr_ertr::now();
}
auto p = osd_op.indata.cbegin();
decode(start_after, p);
decode(max_return, p);
- osd_op.indata.splice(0, p.get_off());
} catch (buffer::error&) {
throw crimson::osd::invalid_argument{};
}
decode(start_after, p);
decode(max_return, p);
decode(filter_prefix, p);
- osd_op.indata.splice(0, p.get_off());
} catch (buffer::error&) {
throw crimson::osd::invalid_argument{};
}
try {
auto p = osd_op.indata.cbegin();
decode(keys_to_get, p);
- osd_op.indata.splice(0, p.get_off());
} catch (buffer::error&) {
throw crimson::osd::invalid_argument();
}
try {
auto p = osd_op.indata.cbegin();
decode_str_str_map_to_bl(p, &to_set_bl);
- osd_op.indata.splice(0, p.get_off());
} catch (buffer::error&) {
throw crimson::osd::invalid_argument{};
}
auto p = osd_op.indata.cbegin();
decode(key_begin, p);
decode(key_end, p);
- osd_op.indata.splice(0, p.get_off());
} catch (buffer::error& e) {
throw crimson::osd::invalid_argument{};
}