mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-12-11 10:53:26 +08:00
mke2fs: don't let resize= turn on resize_inode when meta_bg is set
Passing the "-E resize=NNN" option to mke2fs sets the resize_inode feature. However, resize_inode and meta_bg are mutually exclusive; unfortunately, we check this constraint before we parse the extended options. Fix this by moving this check after the calls parse_extended_opts(). Reported-by: "Darrick J. Wong" <darrick.wong@oracle.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
d36e027f9c
commit
cecfb4c042
@ -1797,15 +1797,6 @@ profile_error:
|
||||
fs_param.s_feature_ro_compat = 0;
|
||||
}
|
||||
|
||||
if ((fs_param.s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) &&
|
||||
(fs_param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) {
|
||||
fprintf(stderr, _("The resize_inode and meta_bg features "
|
||||
"are not compatible.\n"
|
||||
"They can not be both enabled "
|
||||
"simultaneously.\n"));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Check the user's mkfs options for 64bit */
|
||||
if ((fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) &&
|
||||
!(fs_param.s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS)) {
|
||||
@ -1978,6 +1969,15 @@ profile_error:
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if ((fs_param.s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) &&
|
||||
(fs_param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) {
|
||||
fprintf(stderr, _("The resize_inode and meta_bg features "
|
||||
"are not compatible.\n"
|
||||
"They can not be both enabled "
|
||||
"simultaneously.\n"));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!quiet &&
|
||||
(fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC))
|
||||
fprintf(stderr, _("\nWarning: the bigalloc feature is still "
|
||||
|
Loading…
Reference in New Issue
Block a user