From 037914e28f69110020195fe9f9ea56e5274ff2c0 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Tue, 26 Feb 2008 17:31:06 -0500 Subject: [PATCH] tune2fs: Add support to clear the resize_inode feature 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 Signed-off-by: "Theodore Ts'o" --- misc/tune2fs.8.in | 13 ++++++++++--- misc/tune2fs.c | 5 ++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in index 435556f..40cdb96 100644 --- a/misc/tune2fs.8.in +++ b/misc/tune2fs.8.in @@ -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. diff --git a/misc/tune2fs.c b/misc/tune2fs.c index ee7af4b..4529e24 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -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)); } -- 1.8.3.1