virStorageBackendLogicalCheckPool: Properly mark empty logical pools as active

The '/dev' filesystem convenience directory for a LVM volume group is
not created when the volume group is empty.

The logic in 'virStorageBackendLogicalCheckPool' which is used to see
whether a pool is active was first checking presence of the directory,
which failed for an empty VG.

Since the second step is virStorageBackendLogicalMatchPoolSource which
is checking mapping between configured PVs and the VG, we can simply
rely on the function to also check presence of the pool.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2228223
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2023-08-08 15:53:53 +02:00
parent 831b5a6bd6
commit fa1a54baa5

View File

@ -624,13 +624,7 @@ static int
virStorageBackendLogicalCheckPool(virStoragePoolObj *pool,
bool *isActive)
{
virStoragePoolDef *def = virStoragePoolObjGetDef(pool);
/* If we can find the target.path as well as ensure that the
* pool's def source
*/
*isActive = virFileExists(def->target.path) &&
virStorageBackendLogicalMatchPoolSource(pool);
*isActive = virStorageBackendLogicalMatchPoolSource(pool);
return 0;
}