[PATCH 1/2] Add gfs support (#754213)
David Cantrell
dcantrell at redhat.com
Tue Jun 26 13:28:28 UTC 2012
On Tue, Jun 26, 2012 at 02:11:18PM +0200, Vratislav Podzimek wrote:
> ---
> fsset.py | 30 ++++++++++++++++++++++++++++++
> loader2/loader.c | 2 +-
> partitions.py | 6 +++---
> scripts/mk-images | 2 +-
> scripts/upd-instroot | 5 +++--
> 5 files changed, 38 insertions(+), 7 deletions(-)
>
> diff --git a/fsset.py b/fsset.py
> index e157519..9636003 100644
> --- a/fsset.py
> +++ b/fsset.py
> @@ -539,6 +539,36 @@ class jfsFileSystem(FileSystemType):
>
> fileSystemTypeRegister(jfsFileSystem())
>
> +class gfsFileSystem(FileSystemType):
> + def __init__(self):
> + FileSystemType.__init__(self)
> + self.partedFileSystemType = None
> + self.formattable = 1
> + self.checked = 0
> + self.linuxnativefs = 1
> + if flags.cmdline.has_key("gfs"):
> + self.supported = -1
> + else:
> + self.supported = 0
Does support for this filesystem at install time really need to require the
'gfs' command line argument?
> + self.name = "gfs"
> + self.packages = [ "gfs-utils" ]
> +
> + self.maxSizeMB = 8 * 1024 * 1024
We are sure this is the actual GFS limit?
> + def formatDevice(self, entry, progress, chroot='/'):
> + devicePath = entry.device.setupDevice(chroot)
> + rc = iutil.execWithRedirect("/usr/sbin/mkfs.gfs",
> + ["-j", "1", "-p", "lock_nolock",
> + "-O", devicePath],
> + stdout = "/dev/tty5",
> + stderr = "/dev/tty5")
Syntax-wise, this looks fine. But I don't know if the arguments are
correct. I assume you've verified that.
> + if rc:
> + raise SystemError
> +
> +fileSystemTypeRegister(gfsFileSystem())
> +
> class gfs2FileSystem(FileSystemType):
> def __init__(self):
> FileSystemType.__init__(self)
> diff --git a/loader2/loader.c b/loader2/loader.c
> index 84e9088..b68601a 100644
> --- a/loader2/loader.c
> +++ b/loader2/loader.c
> @@ -1810,7 +1810,7 @@ int main(int argc, char ** argv) {
> else if (FL_UPDATES(flags))
> loadUpdates(&loaderData);
>
> - mlLoadModuleSet("md:raid0:raid1:raid10:raid5:raid6:raid456:dm-raid45:fat:msdos:jbd2:crc16:ext4:jbd:ext3:lock_nolock:gfs2:reiserfs:jfs:xfs:dm-mod:dm-zero:dm-mirror:dm-snapshot:dm-multipath:dm-round-robin:dm-emc:dm-crypt:dm-mem-cache:dm-region_hash:dm-message", modLoaded, modDeps, modInfo);
> + mlLoadModuleSet("md:raid0:raid1:raid10:raid5:raid6:raid456:dm-raid45:fat:msdos:jbd2:crc16:ext4:jbd:ext3:lock_nolock:gfs2:gfs:reiserfs:jfs:xfs:dm-mod:dm-zero:dm-mirror:dm-snapshot:dm-multipath:dm-round-robin:dm-emc:dm-crypt:dm-mem-cache:dm-region_hash:dm-message", modLoaded, modDeps, modInfo);
>
> /* crypto modules */
> mlLoadModuleSet("aead:aes_generic:rng:ansi_cprng:krng:anubis:crypto_blkcipher:authenc:blowfish:cast5:cast6:cbc:ccm:chainiv:crypto_hash:cryptomgr:ctr:zlib_deflate:deflate:crypto_null:des:ecb:eseqiv:gf128mul:hmac:khazad:md4:md5:michael_mic:seqiv:serpent:sha256:sha512:tea:tgr192:twofish:wp512:xcbc:xts", modLoaded, modDeps, modInfo);
> diff --git a/partitions.py b/partitions.py
> index 52d0b8c..208a8d5 100644
> --- a/partitions.py
> +++ b/partitions.py
> @@ -1224,9 +1224,9 @@ class Partitions:
>
> # no gfs support in grub
> if (bootreq and bootreq.fstype and
> - bootreq.fstype.getName() == "gfs2"):
> - errors.append("Bootable partitions cannot be on a GFS2 "
> - "filesystem.")
> + bootreq.fstype.getName() in ["gfs", "gfs2"]):
> + errors.append("Bootable partitions cannot be on a GFS "
> + "nor a GFS2 filesystem.")
>
> # no ext4 support in grub
> if (bootreq and bootreq.fstype and
> diff --git a/scripts/mk-images b/scripts/mk-images
> index ef29709..95429f5 100755
> --- a/scripts/mk-images
> +++ b/scripts/mk-images
> @@ -42,7 +42,7 @@ USBMODS="ohci-hcd uhci-hcd ehci-hcd hid mousedev usb-storage sd_mod sr_mod ub"
> FIREWIREMODS="ieee1394 ohci1394 sbp2"
> IDEMODS="ide-cd ide-cs"
> SCSIMODS="sr_mod sg st sd_mod scsi_mod iscsi_tcp iscsi_ibft"
> -FSMODS="fat msdos vfat ext3 ext4 reiserfs jfs xfs gfs2 lock_nolock"
> +FSMODS="fat msdos vfat ext3 ext4 reiserfs jfs xfs gfs gfs2 lock_nolock"
> LVMMODS="dm-mod dm-zero dm-snapshot dm-mirror dm-multipath dm-round-robin dm-emc dm-crypt"
> RAIDMODS="md raid0 raid1 raid10 raid5 raid6 raid456 dm-raid45 dm-mem-cache dm-region_hash dm-message"
> SECSTAGE="$RAIDMODS $LVMMODS $FSMODS $IDEMODS $SCSIMODS"
> diff --git a/scripts/upd-instroot b/scripts/upd-instroot
> index 09cf644..d83d375 100755
> --- a/scripts/upd-instroot
> +++ b/scripts/upd-instroot
> @@ -118,8 +118,9 @@ PACKAGES="glibc glibc-common setup openssl python python-libs newt slang libseli
> libstdc++ expat libgcc readline ncurses yum python-sqlite
> python-elementtree pykickstart e2fsprogs-libs iscsi-initiator-utils
> db4 rhpxl xorg-x11-server-Xorg libuser system-config-date
> - yum-metadata-parser gfs2-utils libvolume_id rhel-instnum yum-kmod
> - libdhcp libnl libdhcp6client libdhcp4client device-mapper-multipath
> + yum-metadata-parser gfs-utils kmod-gfs gfs2-utils libvolume_id
> + rhel-instnum yum-kmod libdhcp libnl libdhcp6client libdhcp4client
> + device-mapper-multipath
> kpartx dmraid python-pyblock mkinitrd libbdevid libbdevid-python
> libselinux-python nss udev keyutils-libs nspr python-iniparse
> cryptsetup-luks e4fsprogs fipscheck fipscheck-lib libdrm libmlx4
The rest of this looks fine.
--
David Cantrell <dcantrell at redhat.com>
Supervisor, Installer Engineering Team
Red Hat, Inc. | Westford, MA | EST5EDT
More information about the anaconda-patches
mailing list