On 06/15/2015 06:12 AM, Michal Privoznik wrote: > On 10.06.2015 00:19, John Ferlan wrote: >> https://bugzilla.redhat.com/show_bug.cgi?id=1225694 >> >> Check if the disk partition to be wiped is the extended partition, if >> so then disallow it. Do this via changing the wipeVol backend to check >> the volume before passing to the common virStorageBackendVolWipeLocal >> >> Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> >> --- >> src/storage/storage_backend_disk.c | 20 +++++++++++++++++++- >> 1 file changed, 19 insertions(+), 1 deletion(-) >> >> diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c >> index c4bd6fe..a283a86 100644 >> --- a/src/storage/storage_backend_disk.c >> +++ b/src/storage/storage_backend_disk.c >> @@ -851,6 +851,24 @@ virStorageBackendDiskBuildVolFrom(virConnectPtr conn, >> } >> >> >> +static int >> +virStorageBackendDiskVolWipe(virConnectPtr conn, >> + virStoragePoolObjPtr pool, >> + virStorageVolDefPtr vol, >> + unsigned int algorithm, >> + unsigned int flags) >> +{ >> + if (vol->source.partType != VIR_STORAGE_VOL_DISK_TYPE_EXTENDED) >> + return virStorageBackendVolWipeLocal(conn, pool, vol, algorithm, flags); >> + >> + /* Wiping an extended partition is not support */ >> + virReportError(VIR_ERR_NO_SUPPORT, >> + _("cannot wipe extended partition '%s'"), >> + vol->target.path); >> + return -1; >> +} >> + >> + >> virStorageBackend virStorageBackendDisk = { >> .type = VIR_STORAGE_POOL_DISK, >> >> @@ -862,5 +880,5 @@ virStorageBackend virStorageBackendDisk = { >> .buildVolFrom = virStorageBackendDiskBuildVolFrom, >> .uploadVol = virStorageBackendVolUploadLocal, >> .downloadVol = virStorageBackendVolDownloadLocal, >> - .wipeVol = virStorageBackendVolWipeLocal, >> + .wipeVol = virStorageBackendDiskVolWipe, >> }; >> > > Correct, mangling partition table is not desired. BTW: couldn't > something similar happen with LVM? > To a degree this was taken from what for the logical backend handling of a sparse logical volume due to metadata overwrite where yes we were overwriting metadata... I think for the lv's we rely a bit more on lvm to manage the partition and don't have the same issue about knowing whether it's a primary, extended, or logical partition. John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list