[libvirt] [PATCH] iscsi_direct: Reset pool capacity and allocation just before refresh

Michal Privoznik posted 1 patch 5 years, 1 month ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/180afb5fa2a88711c2d9b5226d26e29ef2aae600.1551351827.git.mprivozn@redhat.com
src/storage/storage_backend_iscsi_direct.c | 3 +++
1 file changed, 3 insertions(+)
[libvirt] [PATCH] iscsi_direct: Reset pool capacity and allocation just before refresh
Posted by Michal Privoznik 5 years, 1 month ago
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>
---
 src/storage/storage_backend_iscsi_direct.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index 4ac4ad471c..20997d5c5d 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -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;
-- 
2.19.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] iscsi_direct: Reset pool capacity and allocation just before refresh
Posted by Pavel Hrdina 5 years, 1 month ago
On Thu, Feb 28, 2019 at 12:03:47PM +0100, Michal Privoznik wrote:
> 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>
> ---
>  src/storage/storage_backend_iscsi_direct.c | 3 +++
>  1 file changed, 3 insertions(+)

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list