lv_seg = find_snapshot(lv);
}
+ if (lv_is_vdo(lv)) {
+ if (!_lv_info(cmd, lv, 0, &status->info, NULL, NULL,
+ with_open_count, with_read_ahead))
+ return_0;
+ if (status->info.exists) {
+ /* Status for VDO pool */
+ (void) _lv_info(cmd, seg_lv(lv_seg, 0), 1, NULL,
+ first_seg(seg_lv(lv_seg, 0)),
+ &status->seg_status, 0, 0);
+ /* Use VDO pool segtype result for VDO segtype */
+ status->seg_status.seg = lv_seg;
+ }
+ return 1;
+ }
+
return _lv_info(cmd, lv, 0, &status->info, lv_seg, &status->seg_status,
with_open_count, with_read_ahead);
}
status->usage = DM_PERCENT_INVALID;
status->saving = DM_PERCENT_INVALID;
+ status->data_usage = DM_PERCENT_INVALID;
if (!(dm_name = dm_build_dm_name(mem, vdo_pool_lv->vg->name,
vdo_pool_lv->name, NULL))) {
result.status->total_blocks);
status->saving = dm_make_percent(status->logical_blocks_used - status->data_blocks_used,
status->logical_blocks_used);
+ status->data_usage = dm_make_percent(status->data_blocks_used * DM_VDO_BLOCK_SIZE,
+ first_seg(vdo_pool_lv)->vdo_pool_virtual_extents *
+ (uint64_t) vdo_pool_lv->vg->extent_size);
}
return 1;