Wanlong Gao
2011-Dec-14 00:29 UTC
[Libguestfs] [PATCH] mkfs: optimization and code cleanup
Optimizations by reducing the STREQ operations and do some
code cleanup.
Signed-off-by: Wanlong Gao <gaowanlong at cn.fujitsu.com>
---
daemon/mkfs.c | 29 +++++++++++++----------------
1 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/daemon/mkfs.c b/daemon/mkfs.c
index a2c2366..7757623 100644
--- a/daemon/mkfs.c
+++ b/daemon/mkfs.c
@@ -44,13 +44,16 @@ do_mkfs_opts (const char *fstype, const char *device, int
blocksize,
int r;
char *err;
char mke2fs[] = "mke2fs";
+ int extfs = 0;
+
+ if (STREQ (fstype, "ext2") || STREQ (fstype, "ext3") ||
+ STREQ (fstype, "ext4")) extfs = 1;
/* For ext2/3/4 run the mke2fs program directly. This is because
* the mkfs program "eats" some options, in particular the -F
* option.
*/
- if (STREQ (fstype, "ext2") || STREQ (fstype, "ext3") ||
- STREQ (fstype, "ext4")) {
+ if (extfs) {
if (e2prog (mke2fs) == -1)
return -1;
ADD_ARG (argv, i, mke2fs);
@@ -64,9 +67,7 @@ do_mkfs_opts (const char *fstype, const char *device, int
blocksize,
/* Force mke2fs to create a filesystem, even if it thinks it
* shouldn't (RHBZ#690819).
*/
- if (STREQ (fstype, "ext2") || STREQ (fstype, "ext3") ||
- STREQ (fstype, "ext4"))
- ADD_ARG (argv, i, "-F");
+ if (extfs) ADD_ARG (argv, i, "-F");
/* mkfs.ntfs requires the -Q argument otherwise it writes zeroes
* to every block and does bad block detection, neither of which
@@ -77,16 +78,13 @@ do_mkfs_opts (const char *fstype, const char *device, int
blocksize,
/* mkfs.reiserfs produces annoying interactive prompts unless you
* tell it to be quiet.
+ * mkfs.jfs as the same
+ * mkfs.xfs must force to make xfs filesystem when the device already
+ * has a filesystem on it
*/
- if (STREQ (fstype, "reiserfs"))
- ADD_ARG (argv, i, "-f");
-
- /* Same for JFS. */
- if (STREQ (fstype, "jfs"))
- ADD_ARG (argv, i, "-f");
-
- if (STREQ (fstype, "xfs"))
- ADD_ARG (argv, i, "-f");
+ if (STREQ(fstype, "reiserfs") || STREQ(fstype, "jfs") ||
+ STREQ(fstype, "xfs"))
+ ADD_ARG(argv, i, "-f");
/* For GFS, GFS2, assume a single node. */
if (STREQ (fstype, "gfs") || STREQ (fstype, "gfs2")) {
@@ -147,8 +145,7 @@ do_mkfs_opts (const char *fstype, const char *device, int
blocksize,
}
if (optargs_bitmask & GUESTFS_MKFS_OPTS_INODE_BITMASK) {
- if (!STREQ (fstype, "ext2") && !STREQ (fstype,
"ext3") &&
- !STREQ (fstype, "ext4")) {
+ if (!extfs) {
reply_with_error ("inode size (-I) can only be set on ext2/3/4
filesystems");
return -1;
}
--
1.7.8.rc4
Matthew Booth
2011-Dec-14 09:36 UTC
[Libguestfs] [PATCH] mkfs: optimization and code cleanup
On 12/14/2011 12:29 AM, Wanlong Gao wrote:> Optimizations by reducing the STREQ operations and do some > code cleanup. > > Signed-off-by: Wanlong Gao<gaowanlong at cn.fujitsu.com> > --- > daemon/mkfs.c | 29 +++++++++++++---------------- > 1 files changed, 13 insertions(+), 16 deletions(-) > > diff --git a/daemon/mkfs.c b/daemon/mkfs.c > index a2c2366..7757623 100644 > --- a/daemon/mkfs.c > +++ b/daemon/mkfs.c> @@ -77,16 +78,13 @@ do_mkfs_opts (const char *fstype, const char *device, int blocksize, > > /* mkfs.reiserfs produces annoying interactive prompts unless you > * tell it to be quiet. > + * mkfs.jfs as the sames/as/is/> + * mkfs.xfs must force to make xfs filesystem when the device already > + * has a filesystem on it > */ > - if (STREQ (fstype, "reiserfs")) > - ADD_ARG (argv, i, "-f"); > - > - /* Same for JFS. */ > - if (STREQ (fstype, "jfs")) > - ADD_ARG (argv, i, "-f"); > - > - if (STREQ (fstype, "xfs")) > - ADD_ARG (argv, i, "-f"); > + if (STREQ(fstype, "reiserfs") || STREQ(fstype, "jfs") || > + STREQ(fstype, "xfs")) > + ADD_ARG(argv, i, "-f"); > > /* For GFS, GFS2, assume a single node. */ > if (STREQ (fstype, "gfs") || STREQ (fstype, "gfs2")) {Seems like an obvious improvement. ACK. Matt -- Matthew Booth, RHCA, RHCSS Red Hat Engineering, Virtualisation Team GPG ID: D33C3490 GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490