1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

metadata: Add lvmcache_info_mda_free as a companion to pv_mda_free.

This commit is contained in:
Petr Rockai 2013-07-29 18:52:28 +02:00
parent 1ef2c3c4ee
commit a2034e9a99
2 changed files with 13 additions and 5 deletions

View File

@ -241,14 +241,11 @@ static int _pv_mda_free(struct metadata_area *mda, void *baton) {
return 1;
}
uint64_t pv_mda_free(const struct physical_volume *pv)
uint64_t lvmcache_info_mda_free(struct lvmcache_info *info)
{
struct lvmcache_info *info;
uint64_t freespace = UINT64_MAX;
const char *pvid = (const char *)&pv->id.uuid;
if ((info = lvmcache_info_from_pvid(pvid, 0)))
lvmcache_foreach_mda(info, _pv_mda_free, &freespace);
lvmcache_foreach_mda(info, _pv_mda_free, &freespace);
if (freespace == UINT64_MAX)
freespace = UINT64_C(0);
@ -256,6 +253,15 @@ uint64_t pv_mda_free(const struct physical_volume *pv)
return freespace;
}
uint64_t pv_mda_free(const struct physical_volume *pv)
{
const char *pvid = (const char *)&pv->id.uuid;
struct lvmcache_info *info;
if ((info = lvmcache_info_from_pvid(pvid, 0)))
return lvmcache_info_mda_free(info);
return 0;
}
uint64_t pv_used(const struct physical_volume *pv)
{
uint64_t used;

View File

@ -85,6 +85,8 @@ uint64_t pv_ba_size(const struct physical_volume *pv);
uint32_t pv_pe_count(const struct physical_volume *pv);
uint32_t pv_pe_alloc_count(const struct physical_volume *pv);
uint64_t pv_mda_size(const struct physical_volume *pv);
struct lvmcache_info;
uint64_t lvmcache_info_mda_free(struct lvmcache_info *info);
uint64_t pv_mda_free(const struct physical_volume *pv);
uint64_t pv_used(const struct physical_volume *pv);
uint32_t pv_mda_count(const struct physical_volume *pv);