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:
parent
d84a80afb5
commit
db494d7d34
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user