summaryrefslogtreecommitdiffstats
path: root/libblkid/minix1.c
diff options
context:
space:
mode:
Diffstat (limited to 'libblkid/minix1.c')
-rw-r--r--libblkid/minix1.c94
1 files changed, 0 insertions, 94 deletions
diff --git a/libblkid/minix1.c b/libblkid/minix1.c
deleted file mode 100644
index 54e71396b..000000000
--- a/libblkid/minix1.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 1999 by Andries Brouwer
- * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
- * Copyright (C) 2001 by Andreas Dilger
- * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
- * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
- *
- * This file may be redistributed under the terms of the
- * GNU Lesser General Public License.
- */
-
-#include <string.h>
-#include "superblocks.h"
-#include "minix.h"
-
-static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
-{
- unsigned char *ext;
- int version;
-
- /* for more details see magic strings below */
- switch(mag->magic[1]) {
- case '\023':
- version = 1;
- break;
- case '\044':
- version = 2;
- break;
- case '\115':
- version = 3;
- break;
- default:
- return -1;
- break;
- }
-
- if (version <= 2) {
- struct minix_super_block *sb;
- uint32_t zones;
-
- sb = blkid_probe_get_sb(pr, mag, struct minix_super_block);
- if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
- return -1;
-
- zones = version == 2 ? sb->s_zones : sb->s_nzones;
-
- /* sanity checks to be sure that the FS is really minix */
- if (sb->s_imap_blocks * MINIX_BLOCK_SIZE * 8 < sb->s_ninodes + 1)
- return -1;
- if (sb->s_zmap_blocks * MINIX_BLOCK_SIZE * 8 < zones - sb->s_firstdatazone + 1)
- return -1;
-
- } else if (version == 3) {
- struct minix3_super_block *sb;
-
- sb = blkid_probe_get_sb(pr, mag, struct minix3_super_block);
- if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
- return -1;
-
- }
-
- /* unfortunately, some parts of ext3 is sometimes possible to
- * interpreted as minix superblock. So check for extN magic
- * string. (For extN magic string and offsets see ext.c.)
- */
- ext = blkid_probe_get_buffer(pr, 0x400 + 0x38, 2);
- if (ext && memcmp(ext, "\123\357", 2) == 0)
- return -1;
-
- blkid_probe_sprintf_version(pr, "%d", version);
- return 0;
-}
-
-const struct blkid_idinfo minix_idinfo =
-{
- .name = "minix",
- .usage = BLKID_USAGE_FILESYSTEM,
- .probefunc = probe_minix,
- .magics =
- {
- /* version 1 */
- { .magic = "\177\023", .len = 2, .kboff = 1, .sboff = 0x10 },
- { .magic = "\217\023", .len = 2, .kboff = 1, .sboff = 0x10 },
-
- /* version 2 */
- { .magic = "\150\044", .len = 2, .kboff = 1, .sboff = 0x10 },
- { .magic = "\170\044", .len = 2, .kboff = 1, .sboff = 0x10 },
-
- /* version 3 */
- { .magic = "\132\115", .len = 2, .kboff = 1, .sboff = 0x18 },
- { NULL }
- }
-};
-