case CEPH_OSD_OP_UNDIRTY:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_undirty, soid.oid.name.c_str(), soid.snap.val);
if (oi.is_dirty()) {
ctx->modify = true;
ctx->delta_stats.num_wr++;
}
- result = 0;
}
break;
case CEPH_OSD_OP_CACHE_TRY_FLUSH:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_try_flush, soid.oid.name.c_str(), soid.snap.val);
if (ctx->lock_type != ObjectContext::RWState::RWNONE) {
case CEPH_OSD_OP_CACHE_FLUSH:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_cache_flush, soid.oid.name.c_str(), soid.snap.val);
if (ctx->lock_type == ObjectContext::RWState::RWNONE) {
case CEPH_OSD_OP_CACHE_EVICT:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_cache_evict, soid.oid.name.c_str(), soid.snap.val);
if (pool.info.cache_mode == pg_pool_t::CACHEMODE_NONE) {
case CEPH_OSD_OP_SETALLOCHINT:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_setallochint, soid.oid.name.c_str(), soid.snap.val, op.alloc_hint.expected_object_size, op.alloc_hint.expected_write_size);
maybe_create_new_object(ctx);
t->set_alloc_hint(soid, op.alloc_hint.expected_object_size,
op.alloc_hint.expected_write_size,
op.alloc_hint.flags);
- result = 0;
}
break;
case CEPH_OSD_OP_WRITE:
++ctx->num_write;
+ result = 0;
{ // write
__u32 seq = oi.truncate_seq;
tracepoint(osd, do_osd_op_pre_write, soid.oid.name.c_str(), soid.snap.val, oi.size, seq, op.extent.offset, op.extent.length, op.extent.truncate_size, op.extent.truncate_seq);
case CEPH_OSD_OP_WRITEFULL:
++ctx->num_write;
+ result = 0;
{ // write full object
tracepoint(osd, do_osd_op_pre_writefull, soid.oid.name.c_str(), soid.snap.val, oi.size, 0, op.extent.length);
break;
case CEPH_OSD_OP_CREATE:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_create, soid.oid.name.c_str(), soid.snap.val);
int flags = le32_to_cpu(op.flags);
}
// category is no longer implemented.
}
- if (result >= 0) {
- maybe_create_new_object(ctx);
- t->nop(soid);
- }
+ maybe_create_new_object(ctx);
+ t->nop(soid);
}
}
break;
break;
}
++ctx->num_write;
+ result = 0;
{
// truncate
if (!obs.exists || oi.is_whiteout()) {
case CEPH_OSD_OP_DELETE:
++ctx->num_write;
+ result = 0;
tracepoint(osd, do_osd_op_pre_delete, soid.oid.name.c_str(), soid.snap.val);
{
if (oi.has_manifest()) {
case CEPH_OSD_OP_WATCH:
++ctx->num_write;
+ result = 0;
{
tracepoint(osd, do_osd_op_pre_watch, soid.oid.name.c_str(), soid.snap.val,
op.watch.cookie, op.watch.op);
result = -ENOENT;
break;
}
+ result = 0;
uint64_t cookie = op.watch.cookie;
entity_name_t entity = ctx->reqid.name;
ObjectContextRef obc = ctx->obc;
break;
}
++ctx->num_write;
+ result = 0;
{
if (!obs.exists || oi.is_whiteout()) {
result = -ENOENT;
ctx->delta_stats.num_objects_pinned++;
ctx->delta_stats.num_wr++;
}
- result = 0;
}
break;
break;
}
++ctx->num_write;
+ result = 0;
{
if (!obs.exists || oi.is_whiteout()) {
result = -ENOENT;
ctx->delta_stats.num_objects_pinned--;
ctx->delta_stats.num_wr++;
}
- result = 0;
}
break;
case CEPH_OSD_OP_SET_REDIRECT:
++ctx->num_write;
+ result = 0;
{
if (pool.info.is_tier()) {
result = -EINVAL;
case CEPH_OSD_OP_SET_CHUNK:
++ctx->num_write;
+ result = 0;
{
if (pool.info.is_tier()) {
result = -EINVAL;
case CEPH_OSD_OP_TIER_PROMOTE:
++ctx->num_write;
+ result = 0;
{
if (pool.info.is_tier()) {
result = -EINVAL;
case CEPH_OSD_OP_TIER_FLUSH:
++ctx->num_write;
+ result = 0;
{
if (pool.info.is_tier()) {
result = -EINVAL;
case CEPH_OSD_OP_UNSET_MANIFEST:
++ctx->num_write;
+ result = 0;
{
if (pool.info.is_tier()) {
result = -EINVAL;
case CEPH_OSD_OP_SETXATTR:
++ctx->num_write;
+ result = 0;
{
if (cct->_conf->osd_max_attr_size > 0 &&
op.xattr.value_len > cct->_conf->osd_max_attr_size) {
case CEPH_OSD_OP_RMXATTR:
++ctx->num_write;
+ result = 0;
{
string aname;
bp.copy(op.xattr.name_len, aname);
break;
case CEPH_OSD_OP_STARTSYNC:
+ result = 0;
t->nop(soid);
break;
break;
}
++ctx->num_write;
+ result = 0;
{
maybe_create_new_object(ctx);
bufferlist to_set_bl;
break;
}
++ctx->num_write;
+ result = 0;
{
maybe_create_new_object(ctx);
t->omap_setheader(soid, osd_op.indata);
break;
}
++ctx->num_write;
+ result = 0;
{
if (!obs.exists || oi.is_whiteout()) {
result = -ENOENT;
break;
}
++ctx->num_write;
+ result = 0;
{
if (!obs.exists || oi.is_whiteout()) {
result = -ENOENT;
break;
}
++ctx->num_write;
+ result = 0;
{
if (!obs.exists || oi.is_whiteout()) {
result = -ENOENT;
case CEPH_OSD_OP_COPY_FROM:
++ctx->num_write;
+ result = 0;
{
object_t src_name;
object_locator_t src_oloc;