]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
mkfs.minix: Some bug fixes:
authorMaurizio Lombardi <m.lombardi85@gmail.com>
Mon, 21 Nov 2011 19:16:57 +0000 (20:16 +0100)
committerMaurizio Lombardi <m.lombardi85@gmail.com>
Mon, 21 Nov 2011 19:16:57 +0000 (20:16 +0100)
- Fix root inode initialization
- In V3 filesystems the maximum number of inodes is not 65536 but 2^32.

disk-utils/mkfs.minix.c

index 5817837ce9b1a967905da20186cfed8bd9c21cb5..259d0bc4cbb08bffddac713a297fff9f250cc4e7 100644 (file)
@@ -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();