From: Richard W.M. Jones Date: Fri, 25 Mar 2011 14:42:40 +0000 (+0000) Subject: RHEL 5: Use mke4fs on RHEL 5 as replacement for mke2fs. X-Git-Tag: 1.9.14~6 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=a0e3b2183733c7440ad017c4ffe361935672339b;p=libguestfs.git RHEL 5: Use mke4fs on RHEL 5 as replacement for mke2fs. --- diff --git a/daemon/daemon.h b/daemon/daemon.h index 79f41ae..3a67758 100644 --- a/daemon/daemon.h +++ b/daemon/daemon.h @@ -1,5 +1,5 @@ /* libguestfs - the guestfsd daemon - * Copyright (C) 2009 Red Hat Inc. + * Copyright (C) 2009-2011 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -128,6 +128,9 @@ extern struct optgroup optgroups[]; /* Use this as a replacement for sync(2). */ extern int sync_disks (void); +/*-- in ext2.c --*/ +extern int e2prog (char *name); /* Massive hack for RHEL 5. */ + /*-- in lvm.c --*/ extern int lv_canonical (const char *device, char **ret); diff --git a/daemon/ext2.c b/daemon/ext2.c index 85ce316..01a4628 100644 --- a/daemon/ext2.c +++ b/daemon/ext2.c @@ -39,7 +39,7 @@ * We specify e4fsprogs in the package list to ensure it is loaded * if it exists. */ -static int +int e2prog (char *name) { char *p = strstr (name, "e2"); diff --git a/daemon/mkfs.c b/daemon/mkfs.c index ea9fd7f..cd27268 100644 --- a/daemon/mkfs.c +++ b/daemon/mkfs.c @@ -41,13 +41,17 @@ do_mkfs_opts (const char *fstype, const char *device, int blocksize, const char int r; char *err; + char mke2fs[] = "mke2fs"; + if (e2prog (mke2fs) == -1) + return -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")) - argv[i++] = "mke2fs"; + argv[i++] = mke2fs; else argv[i++] = "mkfs";