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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to