[PATCH] mke2fs, tune2fs, resize2fs: add warning messages for bigalloc and quota

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The bigalloc and quota features have some known issues, so issue
warnings in case users try to use them.

More information can be found here:
	https://ext4.wiki.kernel.org/index.php/Bigalloc
	https://ext4.wiki.kernel.org/index.php/Quota

Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>
---
 misc/mke2fs.c  | 12 ++++++++++++
 misc/tune2fs.c |  4 ++++
 resize/main.c  | 14 ++++++++++++++
 3 files changed, 30 insertions(+)

diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index ace9eae..fe5ce7d 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -1942,6 +1942,18 @@ profile_error:
 		exit(1);
 	}
 
+	if (fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC)
+		fprintf(stderr, _("\nWarning: the bigalloc feature is still "
+				  "under development\n"
+				  "See https://ext4.wiki.kernel.org/";
+				  "index.php/Bigalloc for more information\n\n"));
+
+	if (fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_QUOTA)
+		fprintf(stderr, _("\nWarning: the quota feature is still "
+				  "under development\n"
+				  "See https://ext4.wiki.kernel.org/";
+				  "index.php/Quota for more information\n\n"));
+
 	/* Since sparse_super is the default, we would only have a problem
 	 * here if it was explicitly disabled.
 	 */
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index 2c8b9e8..849f3a0 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -736,6 +736,10 @@ void handle_quota_options(ext2_filsys fs)
 	quota_release_context(&qctx);
 
 	if ((usrquota == QOPT_ENABLE) || (grpquota == QOPT_ENABLE)) {
+		fprintf(stderr, _("\nWarning: the quota feature is still "
+				  "under development\n"
+				  "See https://ext4.wiki.kernel.org/";
+				  "index.php/Quota for more information\n\n"));
 		fs->super->s_feature_ro_compat |= EXT4_FEATURE_RO_COMPAT_QUOTA;
 		ext2fs_mark_super_dirty(fs);
 	} else if (!fs->super->s_usr_quota_inum &&
diff --git a/resize/main.c b/resize/main.c
index 711e375..4cbfe69 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -147,6 +147,18 @@ static void determine_fs_stride(ext2_filsys fs)
 #endif
 }
 
+static bigalloc_check(ext2_filsys fs, int force)
+{
+	if (!force && EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
+				EXT4_FEATURE_RO_COMPAT_BIGALLOC)) {
+		fprintf(stderr, _("\nResizing bigalloc file systems has "
+				  "not been fully tested.  Proceed\n"
+				  "at your own risk!  Use the force option "
+				  "if you want to go ahead anyway.\n\n"));
+		exit(1);
+	}
+}
+
 int main (int argc, char ** argv)
 {
 	errcode_t	retval;
@@ -428,6 +440,7 @@ int main (int argc, char ** argv)
 		exit(0);
 	}
 	if (mount_flags & EXT2_MF_MOUNTED) {
+		bigalloc_check(fs, force);
 		retval = online_resize_fs(fs, mtpt, &new_size, flags);
 	} else {
 		if (!force && ((fs->super->s_lastcheck < fs->super->s_mtime) ||
@@ -438,6 +451,7 @@ int main (int argc, char ** argv)
 				device_name);
 			exit(1);
 		}
+		bigalloc_check(fs, force);
 		printf(_("Resizing the filesystem on "
 			 "%s to %llu (%dk) blocks.\n"),
 		       device_name, new_size, fs->blocksize / 1024);
-- 
1.7.12.rc0.22.gcdd159b

--
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


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux