]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: Attempt to refresh volume after successful wipe volume
authorJohn Ferlan <jferlan@redhat.com>
Thu, 17 Dec 2015 12:30:03 +0000 (07:30 -0500)
committerJohn Ferlan <jferlan@redhat.com>
Thu, 17 Dec 2015 12:30:03 +0000 (07:30 -0500)
https://bugzilla.redhat.com/show_bug.cgi?id=1270709

When a volume wipe is successful, perform a volume refresh afterwards to
update any volume data that may be used in future volume commands, such as
volume resize.  For a raw file volume, a wipe could truncate the file and
a followup volume resize the capacity may fail because the volume target
allocation isn't updated to reflect the wipe activity.

src/storage/storage_driver.c

index bbf21f684f8d5c80f8f75969c67d445855093bc9..2531a8817f070ba3a933b24e67dabd88676b61a8 100644 (file)
@@ -2436,7 +2436,14 @@ storageVolWipePattern(virStorageVolPtr obj,
         goto cleanup;
     }
 
-    ret = backend->wipeVol(obj->conn, pool, vol, algorithm, flags);
+    if (backend->wipeVol(obj->conn, pool, vol, algorithm, flags) < 0)
+        goto cleanup;
+
+    if (backend->refreshVol &&
+        backend->refreshVol(obj->conn, pool, vol) < 0)
+        goto cleanup;
+
+    ret = 0;
 
  cleanup:
     virStoragePoolObjUnlock(pool);