]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
mke2fs: set overhead in super block
authorLi Dongyang <dongyangli@ddn.com>
Mon, 27 Jan 2020 03:06:36 +0000 (22:06 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 27 Jan 2020 04:10:05 +0000 (23:10 -0500)
If overhead is not recorded in the super block, it is calculated
during mount in kernel, for bigalloc file systems it takes
O(groups**2) in time.  For a 1PB device with 32K cluster size it takes
~12 mins to mount, with most of the time spent on figuring out
overhead.

While we can not improve the overhead algorithm in kernel due to the
nature of bigalloc, we can work out the overhead during mke2fs and set
it in the super block, avoiding calculating it every time when it
mounts.

Overhead is s_first_data_block plus internal journal blocks plus the
block and inode bitmaps, inode table, super block backups and group
descriptor blocks for every group.  This patch introduces
ext2fs_count_used_clusters(), which calculates the clusters used in
the block bitmap for the given range.

When bad blocks are involved, it gets tricky because the blocks
counted as overhead and the bad blocks can end up in the same
allocation cluster.  In this case we will unmark the bad blocks from
the block bitmap, convert to cluster bitmap and get the overhead, then
mark the bad blocks back in the cluster bitmap.

Reset the overhead to zero when resizing, we can not simply count the
used blocks as overhead like we do when mke2fs.  The overhead can be
calculated by kernel side during mount.

Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
35 files changed:
lib/ext2fs/ext2fs.h
lib/ext2fs/gen_bitmap64.c
misc/mke2fs.c
resize/resize2fs.c
tests/f_opt_extent/expect
tests/m_64bit_flexbg/expect.1
tests/m_bigjournal/expect.1
tests/m_dasd_bs/expect.1
tests/m_desc_size_128/expect.1
tests/m_extent_journal/expect.1
tests/m_large_file/expect.1
tests/m_meta_bg/expect.1
tests/m_minrootdir/expect
tests/m_mmp/expect.1
tests/m_no_opt/expect.1
tests/m_quota/expect.1
tests/m_raid_opt/expect.1
tests/m_resize_inode_meta_bg/expect.1
tests/m_root_owner/expect.1
tests/m_rootdir/expect
tests/m_std/expect.1
tests/m_uninit/expect.1
tests/r_32to64bit/expect
tests/r_32to64bit_meta/expect
tests/r_32to64bit_move_itable/expect
tests/r_64to32bit/expect
tests/r_64to32bit_meta/expect
tests/t_disable_mcsum/expect
tests/t_disable_mcsum_noinitbg/expect
tests/t_disable_mcsum_yesinitbg/expect
tests/t_enable_mcsum/expect
tests/t_enable_mcsum_ext3/expect
tests/t_enable_mcsum_initbg/expect
tests/t_iexpand_full/expect
tests/t_iexpand_mcsum/expect

index 93ecf29c568da2607030632560f2186a9c38f3a6..67576204c3bd38430e6b0d2ad9c2b913217c8dc4 100644 (file)
@@ -1444,6 +1444,8 @@ errcode_t ext2fs_set_generic_bmap_range(ext2fs_generic_bitmap bmap,
                                        void *in);
 errcode_t ext2fs_convert_subcluster_bitmap(ext2_filsys fs,
                                           ext2fs_block_bitmap *bitmap);
+errcode_t ext2fs_count_used_clusters(ext2_filsys fs, blk64_t start,
+                                    blk64_t end, blk64_t *out);
 
 /* get_num_dirs.c */
 extern errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ext2_ino_t *ret_num_dirs);
index f1dd189157b0f6bdd35ba3e36a46763b4bbd631a..b2370667ca04bcf0da2d54ee5a02161d4a61a7b7 100644 (file)
@@ -940,3 +940,38 @@ errcode_t ext2fs_find_first_set_generic_bmap(ext2fs_generic_bitmap bitmap,
 
        return ENOENT;
 }
+
+errcode_t ext2fs_count_used_clusters(ext2_filsys fs, blk64_t start,
+                                    blk64_t end, blk64_t *out)
+{
+       blk64_t         next;
+       blk64_t         tot_set = 0;
+       errcode_t       retval;
+
+       while (start < end) {
+               retval = ext2fs_find_first_set_block_bitmap2(fs->block_map,
+                                                       start, end, &next);
+               if (retval) {
+                       if (retval == ENOENT)
+                               retval = 0;
+                       break;
+               }
+               start = next;
+
+               retval = ext2fs_find_first_zero_block_bitmap2(fs->block_map,
+                                                       start, end, &next);
+               if (retval == 0) {
+                       tot_set += next - start;
+                       start  = next + 1;
+               } else if (retval == ENOENT) {
+                       retval = 0;
+                       tot_set += end - start + 1;
+                       break;
+               } else
+                       break;
+       }
+
+       if (!retval)
+               *out = EXT2FS_NUM_B2C(fs, tot_set);
+       return retval;
+}
index dc76a03b67a09544180376389834bd132f938498..c90dcf0e87c1128bfe6139a64a28e2551730d6db 100644 (file)
@@ -2912,6 +2912,8 @@ int main (int argc, char *argv[])
        errcode_t       retval = 0;
        ext2_filsys     fs;
        badblocks_list  bb_list = 0;
+       badblocks_iterate       bb_iter;
+       blk_t           blk;
        unsigned int    journal_blocks = 0;
        unsigned int    i, checkinterval;
        int             max_mnt_count;
@@ -2922,6 +2924,7 @@ int main (int argc, char *argv[])
        char            opt_string[40];
        char            *hash_alg_str;
        int             itable_zeroed = 0;
+       blk64_t         overhead;
 
 #ifdef ENABLE_NLS
        setlocale(LC_MESSAGES, "");
@@ -3213,6 +3216,23 @@ int main (int argc, char *argv[])
        if (!quiet)
                printf("%s", _("done                            \n"));
 
+       /*
+        * Unmark bad blocks to calculate overhead, because metadata
+        * blocks and bad blocks can land on the same allocation cluster.
+        */
+       if (bb_list) {
+               retval = ext2fs_badblocks_list_iterate_begin(bb_list,
+                                                            &bb_iter);
+               if (retval) {
+                       com_err("ext2fs_badblocks_list_iterate_begin", retval,
+                               "%s", _("while unmarking bad blocks"));
+                       exit(1);
+               }
+               while (ext2fs_badblocks_list_iterate(bb_iter, &blk))
+                       ext2fs_unmark_block_bitmap2(fs->block_map, blk);
+               ext2fs_badblocks_list_iterate_end(bb_iter);
+       }
+
        retval = ext2fs_convert_subcluster_bitmap(fs, &fs->block_map);
        if (retval) {
                com_err(program_name, retval, "%s",
@@ -3220,6 +3240,28 @@ int main (int argc, char *argv[])
                exit(1);
        }
 
+       retval = ext2fs_count_used_clusters(fs, fs->super->s_first_data_block,
+                                       ext2fs_blocks_count(fs->super) - 1,
+                                       &overhead);
+       if (retval) {
+               com_err(program_name, retval, "%s",
+                       _("while calculating overhead"));
+               exit(1);
+       }
+
+       if (bb_list) {
+               retval = ext2fs_badblocks_list_iterate_begin(bb_list,
+                                                            &bb_iter);
+               if (retval) {
+                       com_err("ext2fs_badblocks_list_iterate_begin", retval,
+                               "%s", _("while marking bad blocks as used"));
+                       exit(1);
+               }
+               while (ext2fs_badblocks_list_iterate(bb_iter, &blk))
+                       ext2fs_mark_block_bitmap2(fs->block_map, blk);
+               ext2fs_badblocks_list_iterate_end(bb_iter);
+       }
+
        if (super_only) {
                check_plausibility(device_name, CHECK_FS_EXIST, NULL);
                printf(_("%s may be further corrupted by superblock rewrite\n"),
@@ -3317,6 +3359,7 @@ int main (int argc, char *argv[])
                free(journal_device);
        } else if ((journal_size) ||
                   ext2fs_has_feature_journal(&fs_param)) {
+               overhead += EXT2FS_NUM_B2C(fs, journal_blocks);
                if (super_only) {
                        printf("%s", _("Skipping journal creation in super-only mode\n"));
                        fs->super->s_journal_inum = EXT2_JOURNAL_INO;
@@ -3359,6 +3402,10 @@ no_journal:
                               fs->super->s_mmp_update_interval);
        }
 
+       overhead += fs->super->s_first_data_block;
+       if (!super_only)
+               fs->super->s_overhead_clusters = overhead;
+
        if (ext2fs_has_feature_bigalloc(&fs_param))
                fix_cluster_bg_counts(fs);
        if (ext2fs_has_feature_quota(&fs_param))
index 8a3d08db19f3c4b9c58b81f906388a2ec9caed28..2443ff676c652661f8ed1d35855a483febb018ca 100644 (file)
@@ -703,6 +703,7 @@ errcode_t adjust_fs_info(ext2_filsys fs, ext2_filsys old_fs,
        double          percent;
 
        ext2fs_blocks_count_set(fs->super, new_size);
+       fs->super->s_overhead_clusters = 0;
 
 retry:
        fs->group_desc_count = ext2fs_div64_ceil(ext2fs_blocks_count(fs->super) -
index 6d4863b51b2b7e7aa8a220836c369659272f5cd2..6d1f9d1137dc1830111249ef3c266eb80e5c1fb0 100644 (file)
@@ -26,16 +26,16 @@ Pass 5: Checking group summary information
 
 
 Change in FS metadata:
-@@ -10,7 +10,7 @@
- Inode count:              65536
+@@ -11,7 +11,7 @@
  Block count:              524288
  Reserved block count:     26214
+ Overhead clusters:        35246
 -Free blocks:              570
 +Free blocks:              567
  Free inodes:              65047
  First block:              1
  Block size:               1024
-@@ -47,8 +47,8 @@
+@@ -48,8 +48,8 @@
    Block bitmap at 262 (+261)
    Inode bitmap at 278 (+277)
    Inode table at 294-549 (+293)
index cfa3bc9bf33671890e552709c89f8109c12ee637..956d24854e4958e147488d6fcecd7bb0e6acc7a7 100644 (file)
@@ -24,6 +24,7 @@ Filesystem OS type:       Linux
 Inode count:              128
 Block count:              1024
 Reserved block count:     51
+Overhead clusters:        28
 Free blocks:              982
 Free inodes:              117
 First block:              1
index 890059669552ae5cf22ff00f4177b4fd4668a844..80f71d1f7fa36ec54025a8118c53069c7d3c0b8f 100644 (file)
@@ -18,6 +18,7 @@ Filesystem OS type:       Linux
 Inode count:              1344
 Block count:              2750000
 Reserved block count:     137500
+Overhead clusters:        1286982
 Free blocks:              1463011
 Free inodes:              1333
 First block:              0
index 0e55e8f7e1277a138801331e9c5ce6a48673a346..970d556dd4f80c2ce1cd72339846bcb509dc0372 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              16384
 Block count:              32768
 Reserved block count:     1638
+Overhead clusters:        1094
 Free blocks:              31664
 Free inodes:              16373
 First block:              0
index 5a7da87b72d1d122bdffea33a1f1ab5126c74c29..1cd9758f9eb60463efb7c1e193524572b0416ca9 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              8192
 Block count:              131072
 Reserved block count:     6553
+Overhead clusters:        4284
 Free blocks:              126774
 Free inodes:              8181
 First block:              1
index 34e8a80d353dd03e9702f6acaa0a9d8ec6ff3ec6..cfc052a81d8cbf1162913cb98e579e4bad71e609 100644 (file)
@@ -27,6 +27,7 @@ Filesystem OS type:       Linux
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
+Overhead clusters:        7446
 Free blocks:              58076
 Free inodes:              16373
 First block:              1
index 06c825746a7e0b1b2d521716930cbcf36ea140dc..955ba77d4eb0fc2139436bdce7d562def379a383 100644 (file)
@@ -24,6 +24,7 @@ Filesystem OS type:       Linux
 Inode count:              64
 Block count:              16384
 Reserved block count:     819
+Overhead clusters:        11
 Free blocks:              16367
 Free inodes:              53
 First block:              0
index 7df4230ca0bd1742788398888b1d521b390adbd8..1b90b554389cdf8b24f0470f2e68abca303cb7e2 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
+Overhead clusters:        4376
 Free blocks:              126683
 Free inodes:              32757
 First block:              1
index 90158da055c2459281a6443c79c80487ce1f6fa0..d2e9a9e28fa64247eb5eb6c16fe7427714111dca 100644 (file)
@@ -11,6 +11,7 @@ Filesystem OS type:       Linux
 Inode count:              1024
 Block count:              16384
 Reserved block count:     819
+Overhead clusters:        265
 Free blocks:              16065
 Free inodes:              1006
 First block:              1
index 9d8a5a3cd8c84108c9f97656b318743a505c0e93..475cd1d08310ffc859ff9da29a4f379b45a40aac 100644 (file)
@@ -27,6 +27,7 @@ Filesystem OS type:       Linux
 Inode count:              65536
 Block count:              65536
 Reserved block count:     3276
+Overhead clusters:        2086
 Free blocks:              63443
 Free inodes:              65525
 First block:              0
index 58b311c4eddfcdba1a0c435ebe3a5f210ff67fd5..deaf22ef3265f0925af90e2eb217399e24c65483 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
+Overhead clusters:        2081
 Free blocks:              63442
 Free inodes:              16373
 First block:              1
index 8cdad30175e9afa33dc972d287cdff4878c34576..74e38ca307dffd4fe2c6bcf5ca643f03cdfe1d41 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
+Overhead clusters:        9773
 Free blocks:              121267
 Free inodes:              32756
 First block:              1
index 0fccb7cadcbc7f24f30109cd807167a305cde07f..75366312122da8d32746255884df762b91d90549 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
+Overhead clusters:        7224
 Free blocks:              123834
 Free inodes:              32757
 First block:              1
index d36f97300fb6bf1a0b4a1e79b82660ffe3af2e55..6a7f3993dee81b10b300807db01795beca9c6063 100644 (file)
@@ -27,6 +27,7 @@ Filesystem OS type:       Linux
 Inode count:              960
 Block count:              3840
 Reserved block count:     192
+Overhead clusters:        1122
 Free blocks:              2713
 Free inodes:              949
 First block:              0
index 30d119e22c994ba03f610b8c60b5eeb3edf81ea2..9c978b02199bfb89e69e1acedd1a7c6924d8b0a3 100644 (file)
@@ -24,6 +24,7 @@ Filesystem OS type:       Linux
 Inode count:              128
 Block count:              1024
 Reserved block count:     51
+Overhead clusters:        24
 Free blocks:              986
 Free inodes:              117
 First block:              1
index 7b5c18d289415f6e29ea2a91d4de6885c91ef220..113ffc64d261a16f1a2f5d273f0023d53033bcb3 100644 (file)
@@ -10,6 +10,7 @@ Filesystem OS type:       Linux
 Inode count:              1024
 Block count:              16384
 Reserved block count:     819
+Overhead clusters:        1543
 Free blocks:              14786
 Free inodes:              1005
 First block:              1
index b05031f8e3157f8a604f1d1354b984d1f3acc02f..a11cb9bc7759b0ecbb120904ccf3930bca37a76d 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              16384
 Block count:              65536
 Reserved block count:     3276
+Overhead clusters:        3350
 Free blocks:              62172
 Free inodes:              16373
 First block:              1
index e886dfbf13736cd3ef3b03a471deb3fdaeed373b..b60e8cc812962c9d6763050dead22f226c537a9f 100644 (file)
@@ -26,6 +26,7 @@ Filesystem OS type:       Linux
 Inode count:              32768
 Block count:              131072
 Reserved block count:     6553
+Overhead clusters:        5677
 Free blocks:              125381
 Free inodes:              32757
 First block:              1
index f5fa56bc39f7792ceec3742141cc0d57f010776b..c6816b7f90ed583d06f16d15a389996fc1de7dcd 100644 (file)
@@ -31,7 +31,13 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -15,7 +15,8 @@
+@@ -10,13 +10,13 @@
+ Inode count:              65536
+ Block count:              524288
+ Reserved block count:     26214
+-Overhead clusters:        35228
+ Free blocks:              589
+ Free inodes:              65048
  First block:              1
  Block size:               1024
  Fragment size:            1024
@@ -41,7 +47,7 @@ Change in FS metadata:
  Blocks per group:         8192
  Fragments per group:      8192
  Inodes per group:         1024
-@@ -40,16 +41,16 @@
+@@ -41,16 +41,16 @@
  
  
  group:block:super:gdt:bbitmap:ibitmap:itable
@@ -64,7 +70,7 @@ Change in FS metadata:
  10:81921:-1:-1:270:286:2852
  11:90113:-1:-1:271:287:3108
  12:98305:-1:-1:272:288:3364
-@@ -65,9 +66,9 @@
+@@ -66,9 +66,9 @@
  22:180225:-1:-1:131079:131095:132641
  23:188417:-1:-1:131080:131096:132897
  24:196609:-1:-1:131081:131097:133153
@@ -76,7 +82,7 @@ Change in FS metadata:
  28:229377:-1:-1:131085:131101:134177
  29:237569:-1:-1:131086:131102:134433
  30:245761:-1:-1:131087:131103:134689
-@@ -89,7 +90,7 @@
+@@ -90,7 +90,7 @@
  46:376833:-1:-1:262159:262175:265761
  47:385025:-1:-1:262160:262176:266017
  48:393217:-1:-1:393217:393233:393249
index 0eacd45037e4b6f8758ec211fac9546386296131..c4f39266bff3ec688b717f5319ba923430f1f288 100644 (file)
@@ -31,10 +31,11 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -10,11 +10,12 @@
+@@ -10,12 +10,12 @@
  Inode count:              65536
  Block count:              524288
  Reserved block count:     26214
+-Overhead clusters:        32912
 -Free blocks:              858
 +Free blocks:              852
  Free inodes:              65046
@@ -45,7 +46,7 @@ Change in FS metadata:
  Blocks per group:         8192
  Fragments per group:      8192
  Inodes per group:         1024
-@@ -54,9 +55,9 @@
+@@ -55,9 +55,9 @@
  12:98305:-1:-1:15:31:3107
  13:106497:-1:-1:16:32:3363
  14:114689:-1:-1:17:33:3619
@@ -58,7 +59,7 @@ Change in FS metadata:
  18:147457:-1:-1:131075:131091:131617
  19:155649:-1:-1:131076:131092:131873
  20:163841:-1:-1:131077:131093:132129
-@@ -86,9 +87,9 @@
+@@ -87,9 +87,9 @@
  44:360449:-1:-1:262158:262174:265250
  45:368641:-1:-1:262159:262175:265506
  46:376833:-1:-1:262160:262176:265762
index b51663d5f86da3bf222d33ce4b1da4e673f7d369..0a3b78e7f02188a68d2d11d249109e1f3561c4ca 100644 (file)
@@ -31,10 +31,11 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -10,11 +10,12 @@
+@@ -10,12 +10,12 @@
  Inode count:              98304
  Block count:              786432
  Reserved block count:     39321
+-Overhead clusters:        41193
 -Free blocks:              764
 +Free blocks:              734
  Free inodes:              97566
@@ -45,7 +46,7 @@ Change in FS metadata:
  Blocks per group:         8192
  Fragments per group:      8192
  Inodes per group:         1024
-@@ -38,16 +39,16 @@
+@@ -39,16 +39,16 @@
  
  
  group:block:super:gdt:bbitmap:ibitmap:itable
@@ -68,7 +69,7 @@ Change in FS metadata:
  10:81921:-1:-1:81921:81922:81923
  11:90113:-1:-1:90113:90114:90115
  12:98305:-1:-1:98305:98306:98307
-@@ -63,9 +64,9 @@
+@@ -64,9 +64,9 @@
  22:180225:-1:-1:180225:180226:180227
  23:188417:-1:-1:188417:188418:188419
  24:196609:-1:-1:196609:196610:196611
@@ -80,7 +81,7 @@ Change in FS metadata:
  28:229377:-1:-1:229377:229378:229379
  29:237569:-1:-1:237569:237570:237571
  30:245761:-1:-1:245761:245762:245763
-@@ -87,7 +88,7 @@
+@@ -88,7 +88,7 @@
  46:376833:-1:-1:376833:376834:376835
  47:385025:-1:-1:385025:385026:385027
  48:393217:-1:-1:393217:393218:393219
@@ -89,7 +90,7 @@ Change in FS metadata:
  50:409601:-1:-1:409601:409602:409603
  51:417793:-1:-1:417793:417794:417795
  52:425985:-1:-1:425985:425986:425987
-@@ -119,7 +120,7 @@
+@@ -120,7 +120,7 @@
  78:638977:-1:-1:638977:638978:638979
  79:647169:-1:-1:647169:647170:647171
  80:655361:-1:-1:655361:655362:655363
index 13e94a2d2894aef008a8a8eae1bd46bdadc5a5a9..7dff2a05f74efa3d738856b69f5e79c41eda6b4f 100644 (file)
@@ -31,10 +31,11 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -10,12 +10,11 @@
+@@ -10,13 +10,11 @@
  Inode count:              65536
  Block count:              524288
  Reserved block count:     26214
+-Overhead clusters:        35246
 -Free blocks:              571
 +Free blocks:              589
  Free inodes:              65048
@@ -45,7 +46,7 @@ Change in FS metadata:
  Reserved GDT blocks:      256
  Blocks per group:         8192
  Fragments per group:      8192
-@@ -41,16 +40,16 @@
+@@ -42,16 +40,16 @@
  
  
  group:block:super:gdt:bbitmap:ibitmap:itable
@@ -68,7 +69,7 @@ Change in FS metadata:
  10:81921:-1:-1:272:288:2854
  11:90113:-1:-1:273:289:3110
  12:98305:-1:-1:274:290:3366
-@@ -66,9 +65,9 @@
+@@ -67,9 +65,9 @@
  22:180225:-1:-1:131079:131095:132641
  23:188417:-1:-1:131080:131096:132897
  24:196609:-1:-1:131081:131097:133153
@@ -80,7 +81,7 @@ Change in FS metadata:
  28:229377:-1:-1:131085:131101:134177
  29:237569:-1:-1:131086:131102:134433
  30:245761:-1:-1:131087:131103:134689
-@@ -90,7 +89,7 @@
+@@ -91,7 +89,7 @@
  46:376833:-1:-1:262159:262175:265761
  47:385025:-1:-1:262160:262176:266017
  48:393217:-1:-1:393217:393233:393249
index d6e2dccc894b17c08f455ad3b987605b4dbbfec9..b17a8784140ff58789bd9b8aae39788005bc3ff7 100644 (file)
@@ -31,10 +31,11 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -10,12 +10,11 @@
+@@ -10,13 +10,11 @@
  Inode count:              65536
  Block count:              524288
  Reserved block count:     26214
+-Overhead clusters:        32918
 -Free blocks:              852
 +Free blocks:              858
  Free inodes:              65046
@@ -45,7 +46,7 @@ Change in FS metadata:
  Blocks per group:         8192
  Fragments per group:      8192
  Inodes per group:         1024
-@@ -55,9 +54,9 @@
+@@ -56,9 +54,9 @@
  12:98305:-1:-1:15:31:3107
  13:106497:-1:-1:16:32:3363
  14:114689:-1:-1:17:33:3619
@@ -58,7 +59,7 @@ Change in FS metadata:
  18:147457:-1:-1:131076:131092:131618
  19:155649:-1:-1:131077:131093:131874
  20:163841:-1:-1:131078:131094:132130
-@@ -87,9 +86,9 @@
+@@ -88,9 +86,9 @@
  44:360449:-1:-1:262158:262174:265250
  45:368641:-1:-1:262159:262175:265506
  46:376833:-1:-1:262160:262176:265762
index e04f26ad4e057b685f75820f33c2f3c7a7e13b74..3341ad7179c0c8cb81fda53c43bc431dc8889f55 100644 (file)
@@ -28,7 +28,7 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -33,7 +33,6 @@
+@@ -34,7 +34,6 @@
  Journal inode:            8
  Default directory hash:   half_md4
  Journal backup:           inode blocks
index a022631d1706798d0cdab2944b30e748ff3ef94d..62eca4e94a3049de2aae1ac63e36dce9b001fdaa 100644 (file)
@@ -28,7 +28,7 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -33,7 +33,6 @@
+@@ -34,7 +34,6 @@
  Journal inode:            8
  Default directory hash:   half_md4
  Journal backup:           inode blocks
@@ -36,7 +36,7 @@ Change in FS metadata:
  Journal features:         (none)
  Journal size:             16M
  Journal length:           16384
-@@ -47,18 +46,18 @@
+@@ -48,18 +47,18 @@
    Block bitmap at 262 (+261)
    Inode bitmap at 278 (+277)
    Inode table at 294-549 (+293)
index df3d6c0bb051f157937efad70b466f604c927cc9..7e3485fea925f86670eecb23403dd5c06fad25f7 100644 (file)
@@ -28,7 +28,7 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -33,7 +33,6 @@
+@@ -34,7 +34,6 @@
  Journal inode:            8
  Default directory hash:   half_md4
  Journal backup:           inode blocks
index c8a2674bfaee5c980e9da2ce15163c3fddf98a04..cb0aef625591528293b67b003a87c3b728c51365 100644 (file)
@@ -43,16 +43,16 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -10,7 +10,7 @@
- Inode count:              65536
+@@ -11,7 +11,7 @@
  Block count:              524288
  Reserved block count:     26214
+ Overhead clusters:        35246
 -Free blocks:              571
 +Free blocks:              568
  Free inodes:              65048
  First block:              1
  Block size:               1024
-@@ -33,6 +33,7 @@
+@@ -34,6 +34,7 @@
  Journal inode:            8
  Default directory hash:   half_md4
  Journal backup:           inode blocks
@@ -60,7 +60,7 @@ Change in FS metadata:
  Journal features:         (none)
  Journal size:             16M
  Journal length:           16384
-@@ -46,8 +47,8 @@
+@@ -47,8 +48,8 @@
    Block bitmap at 262 (+261)
    Inode bitmap at 278 (+277)
    Inode table at 294-549 (+293)
index 0f761a97d1eb4f6af7deaf007a777fc5f02966ee..11c5a26dfe1a9d9d213c29f4da3fa1403c78b363 100644 (file)
@@ -31,7 +31,7 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -29,6 +29,7 @@
+@@ -30,6 +30,7 @@
  Journal inode:            8
  Default directory hash:   half_md4
  Journal backup:           inode blocks
@@ -39,7 +39,7 @@ Change in FS metadata:
  Journal features:         (none)
  Journal size:             16M
  Journal length:           16384
-@@ -36,7 +37,7 @@
+@@ -37,7 +38,7 @@
  Journal start:            0
  
  
@@ -48,7 +48,7 @@ Change in FS metadata:
    Primary superblock at 1, Group descriptors at 2-3
    Reserved GDT blocks at 4-259
    Block bitmap at 260 (+259)
-@@ -45,7 +46,7 @@
+@@ -46,7 +47,7 @@
    0 free blocks, 1013 free inodes, 2 directories
    Free blocks: 
    Free inodes: 12-1024
@@ -57,7 +57,7 @@ Change in FS metadata:
    Backup superblock at 8193, Group descriptors at 8194-8195
    Reserved GDT blocks at 8196-8451
    Block bitmap at 8452 (+259)
-@@ -54,6 +55,6 @@
+@@ -55,6 +56,6 @@
    0 free blocks, 1024 free inodes, 0 directories
    Free blocks: 
    Free inodes: 1025-2048
index e05dd60318aa6c23c992f3fc29e84390d8e15edd..a37648bf78bb76be0b2b0a2eb1dd95475187cb03 100644 (file)
@@ -43,16 +43,16 @@ Change in FS metadata:
  Default mount options:    user_xattr acl
  Filesystem state:         clean
  Errors behavior:          Continue
-@@ -10,7 +10,7 @@
- Inode count:              65536
+@@ -11,7 +11,7 @@
  Block count:              524288
  Reserved block count:     26214
+ Overhead clusters:        35246
 -Free blocks:              571
 +Free blocks:              568
  Free inodes:              65048
  First block:              1
  Block size:               1024
-@@ -33,6 +33,7 @@
+@@ -34,6 +34,7 @@
  Journal inode:            8
  Default directory hash:   half_md4
  Journal backup:           inode blocks
@@ -60,7 +60,7 @@ Change in FS metadata:
  Journal features:         (none)
  Journal size:             16M
  Journal length:           16384
-@@ -40,24 +41,24 @@
+@@ -41,24 +42,24 @@
  Journal start:            0
  
  
index 3eb17151f8a28774cbd1ad3c3fb9f8ce776ba981..354818e260c6b5b004c8e8677330ff90ddfe2eab 100644 (file)
@@ -20,13 +20,13 @@ tune2fs -I 256 test.img
 Setting inode size 256
 Exit status is 0
 Change in FS metadata:
-@@ -13 +13 @@
+@@ -14 +14 @@
 -Free blocks:              12301
 +Free blocks:              12
-@@ -22 +22 @@
+@@ -23 +23 @@
 -Inode blocks per group:   128
 +Inode blocks per group:   256
-@@ -28 +28 @@
+@@ -29 +29 @@
 -Inode size:             128
 +Inode size:             256
 Pass 1: Checking inodes, blocks, and sizes
index 772bd623856da10f478ec94c9c13c839d3545c2b..c24a245692a986cf4fc9ffc4d2da8ceab7637ab5 100644 (file)
@@ -39,13 +39,13 @@ Change in FS metadata:
 @@ -5 +5 @@
 -Filesystem features:      has_journal ext_attr dir_index filetype extent 64bit sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
 +Filesystem features:      has_journal ext_attr dir_index filetype extent 64bit sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
-@@ -21 +21 @@
+@@ -22 +22 @@
 -Inode blocks per group:   128
 +Inode blocks per group:   256
-@@ -27 +27 @@
+@@ -28 +28 @@
 -Inode size:             128
 +Inode size:             256
-@@ -30,0 +31 @@
+@@ -31,0 +32 @@
 +Checksum type:            crc32c
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure