From: Ján Tomko Date: Fri, 11 Dec 2015 15:37:34 +0000 (+0100) Subject: storage: fix return values of virStorageBackendWipeExtentLocal X-Git-Tag: v1.3.1-rc1~170 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09cbfc0481948d3f344a5a2a8e54d8662f385a4f;p=thirdparty%2Flibvirt.git storage: fix return values of virStorageBackendWipeExtentLocal 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). --- diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c index 6915b8a10b..f62ebffa9c 100644 --- a/src/storage/storage_backend.c +++ b/src/storage/storage_backend.c @@ -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);