]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
mke2fs: teach mke2fs to understand -b 4k and -C 256M
authorTheodore Ts'o <tytso@mit.edu>
Tue, 15 Jan 2013 00:03:11 +0000 (19:03 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 15 Jan 2013 19:06:55 +0000 (14:06 -0500)
The -b and -C options now use parse_num_blocks2() instead of strtol,
so that users can specify -C 256M instead of the much less convenient
-C 268435456.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
misc/mke2fs.c

index 2103f636162b3bcce7f3da503fe5470bf23d0ad4..ace9eae1f8c937c802fc5cb64bf567b167f4faa3 100644 (file)
@@ -1324,10 +1324,10 @@ profile_error:
                    "b:cg:i:jl:m:no:qr:s:t:vC:DE:FG:I:J:KL:M:N:O:R:ST:U:V")) != EOF) {
                switch (c) {
                case 'b':
-                       blocksize = strtol(optarg, &tmp, 0);
+                       blocksize = parse_num_blocks2(optarg, -1);
                        b = (blocksize > 0) ? blocksize : -blocksize;
                        if (b < EXT2_MIN_BLOCK_SIZE ||
-                           b > EXT2_MAX_BLOCK_SIZE || *tmp) {
+                           b > EXT2_MAX_BLOCK_SIZE) {
                                com_err(program_name, 0,
                                        _("invalid block size - %s"), optarg);
                                exit(1);
@@ -1345,9 +1345,9 @@ profile_error:
                        cflag++;
                        break;
                case 'C':
-                       cluster_size = strtoul(optarg, &tmp, 0);
+                       cluster_size = parse_num_blocks2(optarg, -1);
                        if (cluster_size <= EXT2_MIN_CLUSTER_SIZE ||
-                           cluster_size > EXT2_MAX_CLUSTER_SIZE || *tmp) {
+                           cluster_size > EXT2_MAX_CLUSTER_SIZE) {
                                com_err(program_name, 0,
                                        _("invalid cluster size - %s"),
                                        optarg);