From: Maurizio Lombardi Date: Mon, 21 Nov 2011 19:16:57 +0000 (+0100) Subject: mkfs.minix: Some bug fixes: X-Git-Tag: v2.21-rc1~157^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de5326095a0f064820bffacfbd455d8822a90614;p=thirdparty%2Futil-linux.git mkfs.minix: Some bug fixes: - Fix root inode initialization - In V3 filesystems the maximum number of inodes is not 65536 but 2^32. --- diff --git a/disk-utils/mkfs.minix.c b/disk-utils/mkfs.minix.c index 5817837ce9..259d0bc4cb 100644 --- a/disk-utils/mkfs.minix.c +++ b/disk-utils/mkfs.minix.c @@ -399,8 +399,7 @@ static void make_root_inode_v2_v3 (void) { inode->i_size = 3 * dirsize; else { root_block[2 * dirsize] = '\0'; - if (fs_version == 2) - inode->i_size = 2 * dirsize; + inode->i_size = 2 * dirsize; } inode->i_mode = S_IFDIR + 0755; @@ -512,12 +511,14 @@ static void setup_tables(void) { else inodes = ((inodes + MINIX_INODES_PER_BLOCK - 1) & ~(MINIX_INODES_PER_BLOCK - 1)); - if (inodes > MINIX_MAX_INODES) - inodes = MINIX_MAX_INODES; + if (fs_version == 3) Super3.s_ninodes = inodes; - else + else { Super.s_ninodes = inodes; + if (inodes > MINIX_MAX_INODES) + inodes = MINIX_MAX_INODES; + } super_set_map_blocks(inodes); imaps = get_nimaps();