* [PATCH 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size
@ 2011-02-02 10:43 Lukas Czerner
2011-02-02 10:43 ` [PATCH 2/2] mke2fs: use binary units in the man page Lukas Czerner
2011-02-02 11:17 ` [PATCH v3 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size Lukas Czerner
0 siblings, 2 replies; 5+ messages in thread
From: Lukas Czerner @ 2011-02-02 10:43 UTC (permalink / raw)
To: linux-ext4; +Cc: tytso, lczerner, adilger
mke2fs and resize2fs allows specifying filesystem size as a parameter,
former called as blocks-count. However it has been a little bit messy so
this commit fixes it mainly by updating man pages.
We can not specify filesystem size in blocks count without specifying
blocksize as well. It is because we need blocks count to determine
filesystem type, and we need filesystem type to determine blocksize. So
it should not be allowed, however due to compatibility reason it should
be still possible, so at least print warning message for now, so we can
easily restrict that later.
Filesystem size can be specified using units as suffixes. This was not
documented for mke2fs, so this commits adds proper documentation into
mke2fs man page.
For the sake of completeness add 'b' (blocks count) unit.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
lib/e2p/parse_num.c | 9 +++++++++
misc/mke2fs.8.in | 32 ++++++++++++++++++++++++++------
resize/resize2fs.8.in | 17 +++++------------
3 files changed, 40 insertions(+), 18 deletions(-)
diff --git a/lib/e2p/parse_num.c b/lib/e2p/parse_num.c
index 83a329a..5e7924b 100644
--- a/lib/e2p/parse_num.c
+++ b/lib/e2p/parse_num.c
@@ -10,6 +10,7 @@
*/
#include "e2p.h"
+#include "../misc/nls-enable.h"
#include <stdlib.h>
@@ -37,6 +38,14 @@ unsigned long long parse_num_blocks2(const char *arg, int log_block_size)
num >>= (1+log_block_size);
break;
case '\0':
+ case 'b':
+ if (!log_block_size) {
+ fprintf(stderr,
+ _("Warning: You can not specify blocks count "
+ "without specifying block size '-b'. Will "
+ "assume kilobytes instead of blocks count!.\n"
+ ));
+ }
break;
default:
return 0;
diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
index 2eead17..b85b9e5 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -108,7 +108,7 @@ mke2fs \- create an ext2/ext3/ext4 filesystem
]
.I device
[
-.I blocks-count
+.I filesystem-size
]
@JDEV@.sp
@JDEV@.B "mke2fs \-O journal_dev"
@@ -136,7 +136,7 @@ mke2fs \- create an ext2/ext3/ext4 filesystem
@JDEV@]
@JDEV@.I external-journal
@JDEV@[
-@JDEV@.I blocks-count
+@JDEV@.I filesystem-size
@JDEV@]
.SH DESCRIPTION
.B mke2fs
@@ -145,10 +145,30 @@ partition.
.I device
is the special file corresponding to the device (e.g
.IR /dev/hdXX ).
-.I blocks-count
-is the number of blocks on the device. If omitted,
-.B mke2fs
-automagically figures the file system size. If called as
+.I filesystem-size
+is the size of the filesystem you want to create.
+If no units are specified, the units of the
+.I filesystem-size
+parameter shall be the blocks count of the filesystem. Keep in mind that
+you can not specify
+.I filesystem-size
+in blocks count without specifying the blocksize as well. This will be
+allowed for now (kibibytes will be assumed)
+due to compatibility reasons, however it may be restricted
+in the future.
+Optionally, the
+.I filesystem-size
+parameter may be suffixed by one of the following units
+designators: 'b', 's', 'K', 'M', 'G', or 'T',
+for blocks count, 512 byte sectors, kibibytes, mebibytes, gibibytes, or
+tebibytes respectively, which are binary (power-of-2), not decimal,
+units. The
+.I filesystem-size
+may never be larger than the size of the partition.
+If
+.I filesystem-size
+parameter is not specified, it will default to the size of the partition.
+If called as
.B mkfs.ext3
a journal is created as if the
.B \-j
diff --git a/resize/resize2fs.8.in b/resize/resize2fs.8.in
index e02345d..4184def 100644
--- a/resize/resize2fs.8.in
+++ b/resize/resize2fs.8.in
@@ -38,27 +38,20 @@ The
parameter specifies the requested new size of the filesystem.
If no units are specified, the units of the
.I size
-parameter shall be the filesystem blocksize of the filesystem.
+parameter shall be the blocks count of the filesystem.
Optionally, the
.I size
parameter may be suffixed by one of the following the units
-designators: 's', 'K', 'M', or 'G',
-for 512 byte sectors, kilobytes, megabytes, or gigabytes, respectively.
-The
+designators: 'b', 's', 'K', 'M', 'G', or 'T',
+for blocks count, 512 byte sectors, kibibytes, mebibytes, gibibytes, or
+tebibytes respectively, which are binary (power-of-2), not decimal,
+units. The
.I size
of the filesystem may never be larger than the size of the partition.
If
.I size
parameter is not specified, it will default to the size of the partition.
.PP
-Note: when kilobytes is used above, I mean
-.IR real ,
-power-of-2 kilobytes, (i.e., 1024 bytes), which some politically correct
-folks insist should be the stupid-sounding ``kibibytes''. The same
-holds true for megabytes, also sometimes known as ``mebibytes'', or
-gigabytes, as the amazingly silly ``gibibytes''. Makes you want to
-gibber, doesn't it?
-.PP
The
.B resize2fs
program does not manipulate the size of partitions. If you wish to enlarge
--
1.7.2.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] mke2fs: use binary units in the man page
2011-02-02 10:43 [PATCH 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size Lukas Czerner
@ 2011-02-02 10:43 ` Lukas Czerner
2011-02-07 1:01 ` Ted Ts'o
2011-02-02 11:17 ` [PATCH v3 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size Lukas Czerner
1 sibling, 1 reply; 5+ messages in thread
From: Lukas Czerner @ 2011-02-02 10:43 UTC (permalink / raw)
To: linux-ext4; +Cc: tytso, lczerner, adilger
Decimal units (kilobyte 10^3, megabyte 10^6 etc...) were used in
mke2fs manual page, however they was really meant to be binary units
(kibibyte 2^10, mebibyte 2^20 etc...), so change the man pages to
reflect that fact, even if it sounds weird.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
misc/mke2fs.8.in | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
index b85b9e5..7d8a687 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -354,9 +354,9 @@ The following journal options are supported:
.BI size= journal-size
Create an internal journal (i.e., stored inside the filesystem) of size
.I journal-size
-megabytes.
+mebibytes.
The size of the journal must be at least 1024 filesystem blocks
-(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
+(i.e., 1MiB if using 1KiB blocks, 4MiB if using 4KiB blocks, etc.)
and may be no more than 102,400 filesystem blocks.
@JDEV@.TP
@JDEV@.BI device= external-journal
@@ -633,21 +633,21 @@ using a comma separated list.
If this option is is not specified,
.B mke2fs
will pick a single default usage type based on the size of the filesystem to
-be created. If the filesystem size is less than or equal to 3 megabytes,
+be created. If the filesystem size is less than or equal to 3 mebibytes,
.B mke2fs
will use the filesystem type
.IR floppy .
If the filesystem size is greater than 3 but less than or equal to
-512 megabytes,
+512 mebibytes,
.BR mke2fs (8)
will use the filesystem type
.IR small .
-If the filesystem size is greater than or equal to 4 terabytes but less than
-16 terabytes,
+If the filesystem size is greater than or equal to 4 tebibytes but less than
+16 tebibytes,
.BR mke2fs (8)
will use the filesystem type
.IR big .
-If the filesystem size is greater than or equal to 16 terabytes,
+If the filesystem size is greater than or equal to 16 tebibytes,
.BR mke2fs (8)
will use the filesystem type
.IR huge .
--
1.7.2.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size
2011-02-02 10:43 [PATCH 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size Lukas Czerner
2011-02-02 10:43 ` [PATCH 2/2] mke2fs: use binary units in the man page Lukas Czerner
@ 2011-02-02 11:17 ` Lukas Czerner
1 sibling, 0 replies; 5+ messages in thread
From: Lukas Czerner @ 2011-02-02 11:17 UTC (permalink / raw)
To: linux-ext4; +Cc: tytso, lczerner, adilger
mke2fs and resize2fs allows specifying filesystem size as a parameter,
former called as blocks-count. However it has been a little bit messy so
this commit fixes it mainly by updating man pages.
We can not specify filesystem size in blocks count without specifying
blocksize as well. It is because we need blocks count to determine
filesystem type, and we need filesystem type to determine blocksize. So
it should not be allowed, however due to compatibility reason it should
be still possible, so at least print warning message for now, so we can
easily restrict that later.
Filesystem size can be specified using units as suffixes. This was not
documented for mke2fs, so this commits adds proper documentation into
mke2fs man page.
For the sake of completeness add 'b' (blocks count) unit.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
---
lib/e2p/parse_num.c | 9 +++++++++
misc/mke2fs.8.in | 32 ++++++++++++++++++++++++++------
resize/resize2fs.8.in | 17 +++++------------
3 files changed, 40 insertions(+), 18 deletions(-)
diff --git a/lib/e2p/parse_num.c b/lib/e2p/parse_num.c
index 83a329a..5e7924b 100644
--- a/lib/e2p/parse_num.c
+++ b/lib/e2p/parse_num.c
@@ -10,6 +10,7 @@
*/
#include "e2p.h"
+#include "../misc/nls-enable.h"
#include <stdlib.h>
@@ -37,6 +38,14 @@ unsigned long long parse_num_blocks2(const char *arg, int log_block_size)
num >>= (1+log_block_size);
break;
case '\0':
+ case 'b':
+ if (!log_block_size) {
+ fprintf(stderr,
+ _("Warning: You can not specify blocks count "
+ "without specifying block size '-b'. Will "
+ "assume kilobytes instead of blocks count!.\n"
+ ));
+ }
break;
default:
return 0;
diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
index 2eead17..b85b9e5 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -108,7 +108,7 @@ mke2fs \- create an ext2/ext3/ext4 filesystem
]
.I device
[
-.I blocks-count
+.I filesystem-size
]
@JDEV@.sp
@JDEV@.B "mke2fs \-O journal_dev"
@@ -136,7 +136,7 @@ mke2fs \- create an ext2/ext3/ext4 filesystem
@JDEV@]
@JDEV@.I external-journal
@JDEV@[
-@JDEV@.I blocks-count
+@JDEV@.I filesystem-size
@JDEV@]
.SH DESCRIPTION
.B mke2fs
@@ -145,10 +145,30 @@ partition.
.I device
is the special file corresponding to the device (e.g
.IR /dev/hdXX ).
-.I blocks-count
-is the number of blocks on the device. If omitted,
-.B mke2fs
-automagically figures the file system size. If called as
+.I filesystem-size
+is the size of the filesystem you want to create.
+If no units are specified, the units of the
+.I filesystem-size
+parameter shall be the blocks count of the filesystem. Keep in mind that
+you can not specify
+.I filesystem-size
+in blocks count without specifying the blocksize as well. This will be
+allowed for now (kibibytes will be assumed)
+due to compatibility reasons, however it may be restricted
+in the future.
+Optionally, the
+.I filesystem-size
+parameter may be suffixed by one of the following units
+designators: 'b', 's', 'K', 'M', 'G', or 'T',
+for blocks count, 512 byte sectors, kibibytes, mebibytes, gibibytes, or
+tebibytes respectively, which are binary (power-of-2), not decimal,
+units. The
+.I filesystem-size
+may never be larger than the size of the partition.
+If
+.I filesystem-size
+parameter is not specified, it will default to the size of the partition.
+If called as
.B mkfs.ext3
a journal is created as if the
.B \-j
diff --git a/resize/resize2fs.8.in b/resize/resize2fs.8.in
index e02345d..4184def 100644
--- a/resize/resize2fs.8.in
+++ b/resize/resize2fs.8.in
@@ -38,27 +38,20 @@ The
parameter specifies the requested new size of the filesystem.
If no units are specified, the units of the
.I size
-parameter shall be the filesystem blocksize of the filesystem.
+parameter shall be the blocks count of the filesystem.
Optionally, the
.I size
parameter may be suffixed by one of the following the units
-designators: 's', 'K', 'M', or 'G',
-for 512 byte sectors, kilobytes, megabytes, or gigabytes, respectively.
-The
+designators: 'b', 's', 'K', 'M', 'G', or 'T',
+for blocks count, 512 byte sectors, kibibytes, mebibytes, gibibytes, or
+tebibytes respectively, which are binary (power-of-2), not decimal,
+units. The
.I size
of the filesystem may never be larger than the size of the partition.
If
.I size
parameter is not specified, it will default to the size of the partition.
.PP
-Note: when kilobytes is used above, I mean
-.IR real ,
-power-of-2 kilobytes, (i.e., 1024 bytes), which some politically correct
-folks insist should be the stupid-sounding ``kibibytes''. The same
-holds true for megabytes, also sometimes known as ``mebibytes'', or
-gigabytes, as the amazingly silly ``gibibytes''. Makes you want to
-gibber, doesn't it?
-.PP
The
.B resize2fs
program does not manipulate the size of partitions. If you wish to enlarge
--
1.7.2.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] mke2fs: use binary units in the man page
2011-02-02 10:43 ` [PATCH 2/2] mke2fs: use binary units in the man page Lukas Czerner
@ 2011-02-07 1:01 ` Ted Ts'o
2011-02-07 11:10 ` Lukas Czerner
0 siblings, 1 reply; 5+ messages in thread
From: Ted Ts'o @ 2011-02-07 1:01 UTC (permalink / raw)
To: Lukas Czerner; +Cc: linux-ext4, adilger
On Wed, Feb 02, 2011 at 11:43:59AM +0100, Lukas Czerner wrote:
> Decimal units (kilobyte 10^3, megabyte 10^6 etc...) were used in
> mke2fs manual page, however they was really meant to be binary units
> (kibibyte 2^10, mebibyte 2^20 etc...), so change the man pages to
> reflect that fact, even if it sounds weird.
Ugh. Even Don Knuth agrees that the names sound stupid. (Of course,
his proposal of MMB and GGB haven't really gained much traction,
either.)
I guess I'm willing to tolerate MiB and GiB, but since most people
will ignore the 'i' and pronounce them as "Megabyte" in everyday
speech. I really don't want to see "mebibyte or tibibytes" spelled
out explicitly anywhere, though. :-(
And I think KiB is just wierd; I'm much rather see "1024 byte blocks"
than see "1 KiB blocks".
Personally I think the names are doomed. Even the editors for IEEE
and ANSI journals aren't enforcing this in style guidelines; memory
manufacturers are ignoring the IEC names entirely, and certain most
humans never use those names in every day speech.
- Ted
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] mke2fs: use binary units in the man page
2011-02-07 1:01 ` Ted Ts'o
@ 2011-02-07 11:10 ` Lukas Czerner
0 siblings, 0 replies; 5+ messages in thread
From: Lukas Czerner @ 2011-02-07 11:10 UTC (permalink / raw)
To: Ted Ts'o; +Cc: Lukas Czerner, linux-ext4, adilger
On Sun, 6 Feb 2011, Ted Ts'o wrote:
> On Wed, Feb 02, 2011 at 11:43:59AM +0100, Lukas Czerner wrote:
> > Decimal units (kilobyte 10^3, megabyte 10^6 etc...) were used in
> > mke2fs manual page, however they was really meant to be binary units
> > (kibibyte 2^10, mebibyte 2^20 etc...), so change the man pages to
> > reflect that fact, even if it sounds weird.
>
> Ugh. Even Don Knuth agrees that the names sound stupid. (Of course,
> his proposal of MMB and GGB haven't really gained much traction,
> either.)
>
> I guess I'm willing to tolerate MiB and GiB, but since most people
> will ignore the 'i' and pronounce them as "Megabyte" in everyday
> speech. I really don't want to see "mebibyte or tibibytes" spelled
> out explicitly anywhere, though. :-(
>
> And I think KiB is just wierd; I'm much rather see "1024 byte blocks"
> than see "1 KiB blocks".
Hi Ted,
Fail enough, I'll avoid spelling "mebibytes or tebibytes" and use the
abbreviations instead if you insist on it :)
>
> Personally I think the names are doomed. Even the editors for IEEE
> and ANSI journals aren't enforcing this in style guidelines; memory
> manufacturers are ignoring the IEC names entirely, and certain most
> humans never use those names in every day speech.
>
> - Ted
-Lukas
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-02-07 11:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-02 10:43 [PATCH 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size Lukas Czerner
2011-02-02 10:43 ` [PATCH 2/2] mke2fs: use binary units in the man page Lukas Czerner
2011-02-07 1:01 ` Ted Ts'o
2011-02-07 11:10 ` Lukas Czerner
2011-02-02 11:17 ` [PATCH v3 1/2] e2fsprogs: Fix how we treat user-spcified filesystem size Lukas Czerner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).