large_file (> 2G) support has been around since at least kernel 2.4; mkfs of any sufficiently large filesystem sets it "accidentally" when the resize inode exceeds 2G. This leaves very small filesystems lacking the feature, which potentially changes their behavior & codepaths the first time a > 2G file gets written. There's really no reason to be making fresh filesystems which strive to keep compatibility with 10 year old kernels; just enable large_file at mkfs time. This is particularly obvious for ext4 fielsystems, which set huge_file by default, but not necessarily large_file. If old-kernel compatibility is desired, mke2fs.conf can be modified locally to remove the feature. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> --- diff --git a/misc/mke2fs.c b/misc/mke2fs.c index 2bc435b..2a16c59 100644 --- a/misc/mke2fs.c +++ b/misc/mke2fs.c @@ -1927,7 +1927,7 @@ profile_error: tmp = NULL; if (fs_param.s_rev_level != EXT2_GOOD_OLD_REV) { tmp = get_string_from_profile(fs_types, "base_features", - "sparse_super,filetype,resize_inode,dir_index"); + "sparse_super,large_file,filetype,resize_inode,dir_index"); edit_feature(tmp, &fs_param.s_feature_compat); free(tmp); diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in index 4c5dba7..106ee80 100644 --- a/misc/mke2fs.conf.in +++ b/misc/mke2fs.conf.in @@ -1,5 +1,5 @@ [defaults] - base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr + base_features = sparse_super,large_file,filetype,resize_inode,dir_index,ext_attr default_mntopts = acl,user_xattr enable_periodic_fsck = 0 blocksize = 4096 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html