Oops, you can't change public structs. Any combination of an app and libvirt
library that would not have the same definition of this struct would fail.

Oh, my bad. How about a new API like:
int virStoragePoolGetInfoFlags (virStoragePoolPtr pool,
virTypedParameterPtr params,
int *nparams,
unsigned int flags);
With the param fields like:
# define VIR_STORAGE_POOL_GET_INFO_STATE "state"
# define VIR_STORAGE_POOL_GET_INFO_TYPE "type"
# define VIR_STORAGE_POOL_GET_INFO_CAPACITY "capacity"
# define VIR_STORAGE_POOL_GET_INFO_ALLOCATION "allocation"
Assuming one wants to get more info about a pool in future, we would
need a new API like this, with no suffering from not able to change
to public struct.

Fortunately no other part of this patch series appears to rely on this
extra field. Just remove this addition& the place in storage_driver.c
which sets it. The rest of this patch series can still be reviewed
as is

The 'type' is used to filter the returned pool objects, so patches
1/50 to 14/50 should be skipped, though there is several patches
in the range not related with storage pool specificly.
The left are fine to review.
I will add a new API virStoragePoolGetInfoFlags if no disagreement,
and rebase the storage pool patches as a v2.
Thanks for pointing it out.
Regards,
Osier