if (r >= 0) {
op.xattr.value_len = r;
result = 0;
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(r, 10);
+ ctx->delta_stats.num_rd++;
} else
result = r;
- ctx->delta_stats.num_rd++;
}
break;
bufferlist bl;
::encode(newattrs, bl);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(bl.length(), 10);
+ ctx->delta_stats.num_rd++;
osd_op.outdata.claim_append(bl);
}
break;
if (result < 0 && result != -EEXIST && result != -ENODATA)
break;
+ ctx->delta_stats.num_rd++;
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(xattr.length(), 10);
+
switch (op.xattr.cmp_mode) {
case CEPH_OSD_CMPXATTR_MODE_STRING:
{
}
dout(10) << "comparison returned true" << dendl;
- ctx->delta_stats.num_rd++;
}
break;
out_set.insert(iter->first);
}
::encode(out_set, osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
break;
}
dout(10) << "failed, reading from omap" << dendl;
}
}
::encode(out_set, osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
}
break;
case CEPH_OSD_OP_OMAPGETVALS:
out_set.insert(*iter);
}
::encode(out_set, osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
break;
}
// No valid tmap, use omap
}
}
::encode(out_set, osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
}
break;
case CEPH_OSD_OP_OMAPGETHEADER:
dout(10) << "failed, reading from omap" << dendl;
}
osd->store->omap_get_header(coll, soid, &osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
}
break;
case CEPH_OSD_OP_OMAPGETVALSBYKEYS:
}
}
::encode(out, osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
break;
}
// No valid tmap, use omap
}
osd->store->omap_get_values(coll, soid, keys_to_get, &out);
::encode(out, osd_op.outdata);
+ ctx->delta_stats.num_rd_kb += SHIFT_ROUND_UP(osd_op.outdata.length(), 10);
+ ctx->delta_stats.num_rd++;
}
break;
case CEPH_OSD_OP_OMAP_CMP:
result = r;
break;
}
+ //Should set num_rd_kb based on encode length of map
+ ctx->delta_stats.num_rd++;
r = 0;
bufferlist empty;
dout(20) << "\t" << i->first << dendl;
}
t.omap_setkeys(coll, soid, to_set);
+ ctx->delta_stats.num_wr++;
}
break;
case CEPH_OSD_OP_OMAPSETHEADER:
}
t.touch(coll, soid);
t.omap_setheader(coll, soid, osd_op.indata);
+ ctx->delta_stats.num_wr++;
}
break;
case CEPH_OSD_OP_OMAPCLEAR:
}
t.touch(coll, soid);
t.omap_clear(coll, soid);
+ ctx->delta_stats.num_wr++;
}
break;
case CEPH_OSD_OP_OMAPRMKEYS:
goto fail;
}
t.omap_rmkeys(coll, soid, to_rm);
+ ctx->delta_stats.num_wr++;
}
break;
default: