[Ovirt-devel] [PATCH node] remove secondary gpt header and create drive wiping function

Joey Boggs jboggs at redhat.com
Tue Feb 16 21:14:41 UTC 2010


---
 scripts/ovirt-config-storage   |    6 ++----
 scripts/ovirt-config-uninstall |    1 +
 scripts/ovirt-functions        |   11 +++++++++++
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/scripts/ovirt-config-storage b/scripts/ovirt-config-storage
index 9c3f773..f4f7e1e 100755
--- a/scripts/ovirt-config-storage
+++ b/scripts/ovirt-config-storage
@@ -415,8 +415,7 @@ perform_partitioning()
 
     if [ "$OVIRT_ISCSI_ENABLED" == "y" ]; then
         log "Partitioning drive: $BOOTDRIVE"
-        log "Wiping old boot sector"
-        dd if=/dev/zero of=$BOOTDRIVE bs=1024K count=1
+        wipe_partitions $BOOTDRIVE
         blockdev --rereadpt $BOOTDRIVE
         partprobe -s $BOOTDRIVE
         log "Creating boot partition"
@@ -434,8 +433,7 @@ perform_partitioning()
         log "Starting partitioning of $ROOTDRIVE"
         log "Partitioning drive: $ROOTDRIVE"
      # FIXME: save a backup copy, just in case?
-        log "Wiping old boot sector"
-        dd if=/dev/zero of=$ROOTDRIVE bs=1024K count=1
+        wipe_partitions $ROOTDRIVE
         blockdev --rereadpt $ROOTDRIVE
         partprobe -s $ROOTDRIVE
         log "Labeling Drive: $ROOTDRIVE"
diff --git a/scripts/ovirt-config-uninstall b/scripts/ovirt-config-uninstall
index 820eead..f79d31c 100755
--- a/scripts/ovirt-config-uninstall
+++ b/scripts/ovirt-config-uninstall
@@ -41,6 +41,7 @@ if ask_yes_or_no "Do you wish to continue and uninstall this node ([Y]es/[N]o)?"
 	    parted -s $drive "rm 1"
 	    parted -s $drive "rm 2"
             parted -s $drive "rm 3"
+            wipe_partitions $drive
 	fi
 	printf "Finished uninstalling node."
     else
diff --git a/scripts/ovirt-functions b/scripts/ovirt-functions
index fae13e7..3959e85 100644
--- a/scripts/ovirt-functions
+++ b/scripts/ovirt-functions
@@ -745,6 +745,17 @@ test_ntp_configuration () {
     service ntpd start
 }
 
+# Cleans partition tables
+wipe_partitions() {
+    local drive=$1
+    log "Wiping old boot sector"
+    dd if=/dev/zero of=$drive bs=1024K count=1
+    # zero out the GPT secondary header
+    log "Wiping secondary gpt header"
+    local disk_kb_count=$(sfdisk -s $drive 2>/dev/null)
+    dd if=/dev/zero of=$drive bs=1024 seek=$(($disk_kb_count - 1)) count=1
+}
+
 # execute a function if called as a script, e.g.
 #   ovirt-functions ovirt_store_config /etc/hosts
 
-- 
1.6.6




More information about the ovirt-devel mailing list