Valerie Clement wrote:
This patch adds a new option '-D' to mkfs to allow creating ext4
filesystem.
lib/ext2fs/ext2_fs.h | 7 +++++++
lib/ext2fs/initialize.c | 1 +
misc/mke2fs.c | 18 ++++++++++++++++--
3 files changed, 24 insertions(+), 2 deletions(-)
------------------------------------------------------------------------
Index: e2fsprogs-1.39-tyt3-v7/misc/mke2fs.c
===================================================================
--- e2fsprogs-1.39-tyt3-v7.orig/misc/mke2fs.c 2007-04-30 07:10:05.000000000 +0200
+++ e2fsprogs-1.39-tyt3-v7/misc/mke2fs.c 2007-06-14 12:03:48.000000000 +0200
@@ -96,7 +96,7 @@ static void usage(void)
{
fprintf(stderr, _("Usage: %s [-c|-t|-l filename] [-b block-size] "
"[-f fragment-size]\n\t[-i bytes-per-inode] [-I inode-size] "
- "[-j] [-J journal-options]\n"
+ "[-D descriptor-size] [-j] [-J journal-options]\n"
"\t[-N number-of-inodes] [-m reserved-blocks-percentage] "
"[-o creator-os]\n\t[-g blocks-per-group] [-L volume-label] "
"[-M last-mounted-directory]\n\t[-O feature[,...]] "
@@ -899,6 +899,7 @@ static void PRS(int argc, char *argv[])
int blocksize = 0;
int inode_ratio = 0;
int inode_size = 0;
+ int desc_size = 0;
double reserved_ratio = 5.0;
int sector_size = 0;
int show_version_only = 0;
@@ -977,7 +978,7 @@ static void PRS(int argc, char *argv[])
}
while ((c = getopt (argc, argv,
- "b:cf:g:i:jl:m:no:qr:s:tvE:FI:J:L:M:N:O:R:ST:V")) != EOF) {
+ "b:cf:g:i:jl:m:no:qr:s:tvD:E:FI:J:L:M:N:O:R:ST:V")) != EOF) {
switch (c) {
case 'b':
blocksize = strtol(optarg, &tmp, 0);
@@ -1094,6 +1095,14 @@ static void PRS(int argc, char *argv[])
exit(1);
}
break;
+ case 'D':
+ desc_size = strtoul(optarg, &tmp, 0);
+ if (*tmp) {
+ com_err(program_name, 0,
+ _("invalid descriptor size - %s"), optarg);
+ exit(1);
+ }
+ break;
case 'v':
verbose = 1;
break;
@@ -1422,6 +1431,11 @@ static void PRS(int argc, char *argv[])
}
}
+ if (desc_size >= EXT2_MIN_DESC_SIZE_64BIT) {
+ fs_param.s_feature_incompat |= EXT4_FEATURE_INCOMPAT_64BIT;
+ fs_param.s_desc_size = EXT2_MIN_DESC_SIZE_64BIT;
+ }
+
if (!force && fs_param.s_blocks_count >= ((unsigned) 1 << 31)) {
Why would one need variable descriptor size. Right now we have only two descriptor sizes right (32 and 64 ). Can't we figure out
the descriptor size we should use by looking at the partition size ? What is that i am missing ?.
-aneesh
-
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