]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage: fix return values of virStorageBackendWipeExtentLocal
authorJán Tomko <jtomko@redhat.com>
Fri, 11 Dec 2015 15:37:34 +0000 (16:37 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 17 Dec 2015 11:44:02 +0000 (12:44 +0100)
Return -1:
* on all failures of fdatasync. Instead of propagating -errno
  all the way up to the virStorageVolWipe API, which is documented
  to return 0 or -1.
* after a partial wipe. If safewrite failed, we would re-use the
  non-negative return value of lseek (which should be 0 in this case,
  because that's the only offset we seek to).

src/storage/storage_backend.c

index 6915b8a10b00bd2f42b9661268e37587fb375f11..f62ebffa9c191203b7069caeb177d15404577ba1 100644 (file)
@@ -2002,7 +2002,7 @@ virStorageBackendWipeExtentLocal(virStorageVolDefPtr vol,
     VIR_DEBUG("extent logical start: %ju len: %ju",
               (uintmax_t)extent_start, (uintmax_t)extent_length);
 
-    if ((ret = lseek(fd, extent_start, SEEK_SET)) < 0) {
+    if (lseek(fd, extent_start, SEEK_SET) < 0) {
         virReportSystemError(errno,
                              _("Failed to seek to position %ju in volume "
                                "with path '%s'"),
@@ -2029,7 +2029,6 @@ virStorageBackendWipeExtentLocal(virStorageVolDefPtr vol,
     }
 
     if (fdatasync(fd) < 0) {
-        ret = -errno;
         virReportSystemError(errno,
                              _("cannot sync data to volume with path '%s'"),
                              vol->target.path);