mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
storage: Alter logic when both BLKID and PARTED unavailable
If neither BLKID or PARTED is available and we're not writing, then just return 0 which allows the underlying storage pool to generate a failure. If both are unavailable and we're writing, then generate a more generic error message.
This commit is contained in:
parent
d18be36599
commit
d1f5dfc416
@ -2842,9 +2842,6 @@ virStorageBackendBLKIDFindEmpty(const char *device ATTRIBUTE_UNUSED,
|
||||
const char *format ATTRIBUTE_UNUSED,
|
||||
bool writelabel ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("probing for filesystems is unsupported "
|
||||
"by this build"));
|
||||
return -2;
|
||||
}
|
||||
|
||||
@ -2868,11 +2865,10 @@ virStorageBackendPARTEDValidLabel(const char *device ATTRIBUTE_UNUSED,
|
||||
const char *format ATTRIBUTE_UNUSED,
|
||||
bool writelabel ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("PARTED is unsupported by this build"));
|
||||
return -1;
|
||||
return -2;
|
||||
}
|
||||
|
||||
|
||||
#endif /* #if WITH_STORAGE_DISK */
|
||||
|
||||
|
||||
@ -2885,7 +2881,9 @@ virStorageBackendPARTEDValidLabel(const char *device ATTRIBUTE_UNUSED,
|
||||
* BLKID API if available.
|
||||
*
|
||||
* Returns true if the probe deems the device has nothing valid on it
|
||||
* and returns false if the probe finds something
|
||||
* or when we cannot check and we're not writing the label.
|
||||
*
|
||||
* Returns false if the probe finds something
|
||||
*/
|
||||
bool
|
||||
virStorageBackendDeviceIsEmpty(const char *devpath,
|
||||
@ -2898,5 +2896,15 @@ virStorageBackendDeviceIsEmpty(const char *devpath,
|
||||
writelabel)) == -2)
|
||||
ret = virStorageBackendPARTEDValidLabel(devpath, format, writelabel);
|
||||
|
||||
if (ret == -2 && !writelabel)
|
||||
ret = 0;
|
||||
|
||||
if (ret == -2) {
|
||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||
_("Unable to probe '%s' for existing data, "
|
||||
"forced overwrite is necessary"),
|
||||
devpath);
|
||||
}
|
||||
|
||||
return ret == 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user