Whamcloud - gitweb
tune2fs: Add support to clear the resize_inode feature
authorTheodore Ts'o <tytso@mit.edu>
Tue, 26 Feb 2008 22:31:06 +0000 (17:31 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 26 Feb 2008 22:31:06 +0000 (17:31 -0500)
This requires an fsck aftwards.  We don't allow setting the
resize_inode feature because extensive work to tune2fs or e2fsck to
safely relocate blocks is necessary in order to reserve the blocks
needed by the resize inode.

Addresses-Red-Hat-Bugzilla: #167816

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
misc/tune2fs.8.in
misc/tune2fs.c

index 435556f..40cdb96 100644 (file)
@@ -429,12 +429,19 @@ option.
 .TP
 .B sparse_super
 Limit the number of backup superblocks to save space on large filesystems.
+.TP
+.B resize_inode
+Reserve space so the block group descriptor table may grow in the
+future.
+.B Tune2fs 
+only supports clearing this filesystem feature.
 .RE
 .IP
 After setting or clearing 
-.B sparse_super
-and 
-.B filetype 
+.BR sparse_super ,
+.BR filetype ,
+or
+.B resize_inode
 filesystem features,
 .BR e2fsck (8)
 must be run on the filesystem to return the filesystem to a consistent state.
index ee7af4b..4529e24 100644 (file)
@@ -116,6 +116,7 @@ static __u32 ok_features[3] = {
 
 static __u32 clear_ok_features[3] = {
        EXT3_FEATURE_COMPAT_HAS_JOURNAL |
+               EXT2_FEATURE_COMPAT_RESIZE_INODE |
                EXT2_FEATURE_COMPAT_DIR_INDEX,  /* Compat */
        EXT2_FEATURE_INCOMPAT_FILETYPE,         /* Incompat */
        EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER     /* R/O compat */
@@ -389,7 +390,9 @@ static void update_feature_set(ext2_filsys fs, char *features)
        if (FEATURE_CHANGED(E2P_FEATURE_RO_INCOMPAT,
                            EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER) ||
            FEATURE_CHANGED(E2P_FEATURE_INCOMPAT,
-                           EXT2_FEATURE_INCOMPAT_FILETYPE)) {
+                           EXT2_FEATURE_INCOMPAT_FILETYPE) ||
+           FEATURE_CHANGED(E2P_FEATURE_COMPAT,
+                           EXT2_FEATURE_COMPAT_RESIZE_INODE)) {
                sb->s_state &= ~EXT2_VALID_FS;
                printf("\n%s\n", _(please_fsck));
        }