From 0072f8de528310d82700b1a6a381895b4ca93c10 Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Mon, 25 Feb 2002 23:11:26 -0700 Subject: [PATCH] Add check for mkfs.ext3 and create a journal in this case. --- e2fsprogs.spec | 1 + misc/ChangeLog | 5 +++++ misc/mke2fs.8.in | 6 +++++- misc/mke2fs.c | 11 +++++++++-- misc/tune2fs.c | 14 -------------- misc/util.c | 14 ++++++++++++++ misc/util.h | 1 + 7 files changed, 35 insertions(+), 17 deletions(-) diff --git a/e2fsprogs.spec b/e2fsprogs.spec index 47f664f9..a42b34b3 100644 --- a/e2fsprogs.spec +++ b/e2fsprogs.spec @@ -86,6 +86,7 @@ fi /sbin/fsck.ext3 /sbin/mke2fs /sbin/mkfs.ext2 +/sbin/mkfs.ext3 /sbin/tune2fs /sbin/resize2fs /usr/sbin/mklost+found diff --git a/misc/ChangeLog b/misc/ChangeLog index 012d228a..e33f6163 100644 --- a/misc/ChangeLog +++ b/misc/ChangeLog @@ -1,3 +1,8 @@ +2002-02-25 Andreas Dilger + + * mke2fs.c: Add check for mkfs.ext3 and create a journal in + this case. + 2002-02-24 Theodore Tso * Makefile.in (install): Install hard links for man pages for diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in index 59fa974d..ce2a415c 100644 --- a/misc/mke2fs.8.in +++ b/misc/mke2fs.8.in @@ -128,7 +128,11 @@ is the special file corresponding to the device (e.g .I blocks-count is the number of blocks on the device. If omitted, .B mke2fs -automagically figures the file system size. +automagically figures the file system size. If called as +.B mkfs.ext3 +a journal is created as if the +.B \-j +option was specified. .SH OPTIONS .TP .BI \-b " block-size" diff --git a/misc/mke2fs.c b/misc/mke2fs.c index c55aab0e..307ad2f3 100644 --- a/misc/mke2fs.c +++ b/misc/mke2fs.c @@ -820,8 +820,15 @@ static void PRS(int argc, char *argv[]) #endif fprintf (stderr, "mke2fs %s (%s)\n", E2FSPROGS_VERSION, E2FSPROGS_DATE); - if (argc && *argv) - program_name = *argv; + + if (argc && *argv) { + program_name = get_progname(*argv); + + /* If called as mkfs.ext3, create a journal inode */ + if (!strcmp(program_name, "mkfs.ext3")) + journal_size = -1; + } + while ((c = getopt (argc, argv, "b:cf:g:i:jl:m:no:qr:R:s:tvI:J:ST:FL:M:N:O:V")) != EOF) switch (c) { diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 8c27a70c..3d9f911b 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -390,20 +390,6 @@ err: exit(1); } -/* - * Given argv[0], return the program name. - */ -static char *get_progname(char *argv_zero) -{ - char *cp; - - cp = strrchr(argv_zero, '/'); - if (!cp ) - return argv_zero; - else - return cp+1; -} - static void parse_e2label_options(int argc, char ** argv) { diff --git a/misc/util.c b/misc/util.c index 4bffb43a..42e78b65 100644 --- a/misc/util.c +++ b/misc/util.c @@ -48,6 +48,20 @@ int strcasecmp (char *s1, char *s2) } #endif +/* + * Given argv[0], return the program name. + */ +char *get_progname(char *argv_zero) +{ + char *cp; + + cp = strrchr(argv_zero, '/'); + if (!cp ) + return argv_zero; + else + return cp+1; +} + void proceed_question(void) { char buf[256]; diff --git a/misc/util.h b/misc/util.h index d3cc9e66..3b6a8816 100644 --- a/misc/util.h +++ b/misc/util.h @@ -17,6 +17,7 @@ extern char *journal_device; #ifndef HAVE_STRCASECMP extern int strcasecmp (char *s1, char *s2); #endif +extern char *get_progname(char *argv_zero); extern void proceed_question(void); extern void check_plausibility(const char *device); extern void parse_journal_opts(const char *opts);