mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 20:45:18 +00:00
iscsi_direct: Reset pool capacity and allocation just before refresh
Jirka reported a bug that with every 'virsh pool-refresh' an iscsi-direct pool would grow and grow. The problem is that virISCSIDirectRefreshVol() only adds to def->capacity and def->allocation but nothing clears it out to begin with. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
33a07b8e41
commit
290383cb2f
@ -341,6 +341,7 @@ virISCSIDirectReportLuns(virStoragePoolObjPtr pool,
|
||||
struct iscsi_context *iscsi,
|
||||
char *portal)
|
||||
{
|
||||
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
|
||||
struct scsi_task *task = NULL;
|
||||
struct scsi_reportluns_list *list = NULL;
|
||||
int full_size;
|
||||
@ -373,6 +374,8 @@ virISCSIDirectReportLuns(virStoragePoolObjPtr pool,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
def->capacity = 0;
|
||||
def->allocation = 0;
|
||||
for (i = 0; i < list->num; i++) {
|
||||
if (virISCSIDirectRefreshVol(pool, iscsi, list->luns[i], portal) < 0)
|
||||
goto cleanup;
|
||||
|
Loading…
x
Reference in New Issue
Block a user