mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-28 08:35:22 +00:00
storage: lvm: Don't overwrite lvcreate errors
Before:
$ sudo virsh vol-create-as --pool vgvirt sparsetest --capacity 16M --allocation 0
error: Failed to create vol sparsetest
error: internal error Child process (/usr/sbin/lvchange -aln vgvirt/sparsetest) unexpected exit status 5: One or more specified logical volume(s) not found.
After:
$ sudo virsh vol-create-as --pool vgvirt sparsetest --capacity 16M --allocation 0
error: Failed to create vol sparsetest
error: internal error Child process (/usr/sbin/lvcreate --name sparsetest -L 0K --virtualsize 16384K vgvirt) unexpected exit status 5: Unable to create new logical volume with no extents
(cherry picked from commit 01df6f2bff
)
This commit is contained in:
parent
ad5afcd14c
commit
95440c51a0
@ -699,6 +699,7 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
|
||||
{
|
||||
int fdret, fd = -1;
|
||||
virCommandPtr cmd = NULL;
|
||||
virErrorPtr err;
|
||||
|
||||
if (vol->target.encryption != NULL) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
@ -775,9 +776,11 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn,
|
||||
return 0;
|
||||
|
||||
cleanup:
|
||||
err = virSaveLastError();
|
||||
VIR_FORCE_CLOSE(fd);
|
||||
virStorageBackendLogicalDeleteVol(conn, pool, vol, 0);
|
||||
virCommandFree(cmd);
|
||||
virSetError(err);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user