1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00

report: always display 0 for pv_free field if we don't have any mda and PV is marked as used at the same time

This commit is contained in:
Peter Rajnoha 2016-02-11 15:00:43 +01:00
parent d84a80afb5
commit db494d7d34

View File

@ -2363,6 +2363,7 @@ static int _pvused_disp(struct dm_report *rh, struct dm_pool *mem,
{ {
const struct physical_volume *pv = const struct physical_volume *pv =
(const struct physical_volume *) data; (const struct physical_volume *) data;
uint64_t used = pv_used(pv); uint64_t used = pv_used(pv);
return _size64_disp(rh, mem, field, &used, private); return _size64_disp(rh, mem, field, &used, private);
@ -2374,8 +2375,21 @@ static int _pvfree_disp(struct dm_report *rh, struct dm_pool *mem,
{ {
const struct physical_volume *pv = const struct physical_volume *pv =
(const struct physical_volume *) data; (const struct physical_volume *) data;
struct lvmcache_info *info;
uint32_t ext_flags;
uint64_t freespace = pv_free(pv); uint64_t freespace = pv_free(pv);
if (is_orphan(pv)) {
if (!(info = lvmcache_info_from_pvid((const char *) &pv->id, 0))) {
log_error("Failed to find cached info for PV %s.", pv_dev_name(pv));
return 0;
}
ext_flags = lvmcache_ext_flags(info);
if (ext_flags & PV_EXT_USED)
freespace = 0;
}
return _size64_disp(rh, mem, field, &freespace, private); return _size64_disp(rh, mem, field, &freespace, private);
} }