File parted-wipeaix.patch of Package parted.3440

---
 libparted/labels/dos.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Index: parted-3.1/libparted/labels/dos.c
===================================================================
--- parted-3.1.orig/libparted/labels/dos.c
+++ parted-3.1/libparted/labels/dos.c
@@ -1260,7 +1260,13 @@ msdos_write (const PedDisk* disk)
 		return 0;
 	DosRawTable *table = (DosRawTable *) s0;
 
-	if (!table->boot_code[0]) {
+	/* either no bootrecord at all, or AIX IPL signature ... */
+	if ( (!table->boot_code[0]) ||
+			( table->boot_code[0] == (char) 0xc9 &&
+			  table->boot_code[1] == (char) 0xc2 &&
+			  table->boot_code[2] == (char) 0xd4 &&
+			  table->boot_code[3] == (char) 0xc1)
+			) {
 		memset (table->boot_code, 0, 512);
 		memcpy (table->boot_code, MBR_BOOT_CODE, sizeof (MBR_BOOT_CODE));
 	}
openSUSE Build Service is sponsored by