diff mbox

[2/3] mke2fs: add get_uint_from_profile to mke2fs.c

Message ID 28989C0C9F1C0A428470D967B5FCED372A7E91@BPXM22GP.gisp.nec.co.jp
State Accepted, archived
Headers show

Commit Message

Akira Fujita June 11, 2014, 8:37 a.m. UTC
We can set flex_bg count only up to 2^30 with profile
because get_int_from_profile can handle it to 2^31-1.
Add get_uint_from_profile to read unsigned int value
so that mke2fs with profile can handle up to 2^31 flex_bg same as -G option.

Signed-off-by: Akira Fujita <a-fujita@rs.jp.nec.com>
---
misc/mke2fs.c |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Theodore Ts'o July 6, 2014, 2:35 a.m. UTC | #1
On Wed, Jun 11, 2014 at 08:37:54AM +0000, Akira Fujita wrote:
> We can set flex_bg count only up to 2^30 with profile
> because get_int_from_profile can handle it to 2^31-1.
> Add get_uint_from_profile to read unsigned int value
> so that mke2fs with profile can handle up to 2^31 flex_bg same as -G option.
> 
> Signed-off-by: Akira Fujita <a-fujita@rs.jp.nec.com>

Thanks, applied.

						- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index b9145d1..88dc76c 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -1343,6 +1343,18 @@  int get_int_from_profile(char **types, const char *opt, int def_val)
 	return ret;
 }
 
+static unsigned int get_uint_from_profile(char **types, const char *opt,
+					unsigned int def_val)
+{
+	unsigned int ret;
+	char **cpp;
+
+	profile_get_uint(profile, "defaults", opt, 0, def_val, &ret);
+	for (cpp = types; *cpp; cpp++)
+		profile_get_uint(profile, "fs_types", *cpp, opt, ret, &ret);
+	return ret;
+}
+
 static double get_double_from_profile(char **types, const char *opt,
 				      double def_val)
 {
@@ -2278,7 +2290,7 @@  profile_error:
 		inode_size = get_int_from_profile(fs_types, "inode_size", 0);
 	if (!flex_bg_size && (fs_param.s_feature_incompat &
 			      EXT4_FEATURE_INCOMPAT_FLEX_BG))
-		flex_bg_size = get_int_from_profile(fs_types,
+		flex_bg_size = get_uint_from_profile(fs_types,
 						    "flex_bg_size", 16);
 	if (flex_bg_size) {
 		if (!(fs_param.s_feature_incompat &