From: Theodore Ts'o Date: Mon, 2 Apr 2007 23:12:17 +0000 (-0400) Subject: resize2fs (libe2p): Fix resize2fs parsing of size parameter (in sector units) X-Git-Tag: E2FSPROGS-1_40~76 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=51764fb1040ab671beb0336cb7b9909830947552;p=thirdparty%2Fe2fsprogs.git resize2fs (libe2p): Fix resize2fs parsing of size parameter (in sector units) This was actually a bug in libe2p's parse_num_blocks() function. When handling the 's' suffix, it was ignoring the blocksize information passed in from the caller and always interpreting the number in terms of a 1k blocksize. Addresses Debian Bug: #408298 Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/e2p/ChangeLog b/lib/e2p/ChangeLog index 557bdfd88..dc5d04f7f 100644 --- a/lib/e2p/ChangeLog +++ b/lib/e2p/ChangeLog @@ -1,3 +1,10 @@ +2007-04-02 Theodore Tso + + * parse_num.c (parse_num_blocks): When parsing the 's' prefix, + take into account the filesystem blocksize so we return + the correct answer for non-1k blocksize filesystems. + (Addresses Debian Bug: #408298) + 2007-03-21 Theodore Tso * feature.c (e2p_edit_feature), mntopts.c (e2p_edit_mntopts): Fix diff --git a/lib/e2p/parse_num.c b/lib/e2p/parse_num.c index 3910e70de..7e9ee71a4 100644 --- a/lib/e2p/parse_num.c +++ b/lib/e2p/parse_num.c @@ -32,7 +32,7 @@ unsigned long parse_num_blocks(const char *arg, int log_block_size) num >>= log_block_size; break; case 's': - num >>= 1; + num >>= (1+log_block_size); break; case '\0': break;