mirror of https://github.com/vitalif/e2fsprogs
mke2fs: warn if not enabling all the features that metadata_csum wants
The metadata_csum feature works best when two features are enabled. These features are "extents" (because the block map has no space for checksums) and "64bit" (this enables storage of full 32-bit checksums in certain fields). Print a warning if the user tries to create a filesystem without those features. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>pu
parent
ef5b606c4f
commit
2b588d735b
|
@ -2314,6 +2314,25 @@ int main (int argc, char *argv[])
|
|||
}
|
||||
fs->progress_ops = &ext2fs_numeric_progress_ops;
|
||||
|
||||
/* Check the user's mkfs options for metadata checksumming */
|
||||
if (!quiet &&
|
||||
EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
|
||||
EXT4_FEATURE_RO_COMPAT_METADATA_CSUM)) {
|
||||
if (!EXT2_HAS_INCOMPAT_FEATURE(fs->super,
|
||||
EXT3_FEATURE_INCOMPAT_EXTENTS))
|
||||
printf(_("Extents are not enabled. The file extent "
|
||||
"tree can be checksummed, whereas block maps "
|
||||
"cannot. Not enabling extents reduces the "
|
||||
"coverage of metadata checksumming. "
|
||||
"Pass -O extents to rectify.\n"));
|
||||
if (!EXT2_HAS_INCOMPAT_FEATURE(fs->super,
|
||||
EXT4_FEATURE_INCOMPAT_64BIT))
|
||||
printf(_("64-bit filesystem support is not "
|
||||
"enabled. The larger fields afforded by "
|
||||
"this feature enable full-strength "
|
||||
"checksumming. Pass -O 64bit to rectify.\n"));
|
||||
}
|
||||
|
||||
/* Can't undo discard ... */
|
||||
if (!noaction && discard && (io_ptr != undo_io_manager)) {
|
||||
retval = mke2fs_discard_device(fs);
|
||||
|
|
Loading…
Reference in New Issue