]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
fdisk: improve MBR detection
authorKarel Zak <kzak@redhat.com>
Tue, 12 Mar 2013 10:58:34 +0000 (11:58 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 12 Mar 2013 10:58:34 +0000 (11:58 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
fdisks/fdiskdoslabel.c

index 34465ef327026d5c562a3fbe1dd7f1a90f4ee756..e2ec0d3b4b7b3348fa7425a729d0a7ee2fd7bdec 100644 (file)
@@ -428,6 +428,10 @@ static int dos_reset_alignment(struct fdisk_context *cxt)
        return 0;
 }
 
+/* TODO: move to include/pt-dos.h and share with libblkid */
+#define AIX_MAGIC_STRING       "\xC9\xC2\xD4\xC1"
+#define AIX_MAGIC_STRLEN       (sizeof(AIX_MAGIC_STRING) - 1)
+
 static int dos_probe_label(struct fdisk_context *cxt)
 {
        size_t i;
@@ -437,6 +441,10 @@ static int dos_probe_label(struct fdisk_context *cxt)
        assert(cxt->label);
        assert(fdisk_is_disklabel(cxt, DOS));
 
+       /* ignore disks with AIX magic number */
+       if (memcmp(cxt->firstsector, AIX_MAGIC_STRING, AIX_MAGIC_STRLEN) == 0)
+               return 0;
+
        if (!mbr_is_valid_magic(cxt->firstsector))
                return 0;