mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
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).
This commit is contained in:
parent
242e3ea4e3
commit
09cbfc0481
@ -2002,7 +2002,7 @@ virStorageBackendWipeExtentLocal(virStorageVolDefPtr vol,
|
|||||||
VIR_DEBUG("extent logical start: %ju len: %ju",
|
VIR_DEBUG("extent logical start: %ju len: %ju",
|
||||||
(uintmax_t)extent_start, (uintmax_t)extent_length);
|
(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,
|
virReportSystemError(errno,
|
||||||
_("Failed to seek to position %ju in volume "
|
_("Failed to seek to position %ju in volume "
|
||||||
"with path '%s'"),
|
"with path '%s'"),
|
||||||
@ -2029,7 +2029,6 @@ virStorageBackendWipeExtentLocal(virStorageVolDefPtr vol,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (fdatasync(fd) < 0) {
|
if (fdatasync(fd) < 0) {
|
||||||
ret = -errno;
|
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
_("cannot sync data to volume with path '%s'"),
|
_("cannot sync data to volume with path '%s'"),
|
||||||
vol->target.path);
|
vol->target.path);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user