[PATCH 1/2] Add gfs support (#754213)
Vratislav Podzimek
vpodzime at redhat.com
Tue Jun 26 13:36:38 UTC 2012
On Tue, 2012-06-26 at 09:28 -0400, David Cantrell wrote:
> 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?
I've used the same as for the gfs2. If I understand it correctly,
self.supported is used only when creating a new filesystem.
>
> > + self.name = "gfs"
> > + self.packages = [ "gfs-utils" ]
> > +
> > + self.maxSizeMB = 8 * 1024 * 1024
>
> We are sure this is the actual GFS limit?
Again, used the same as for the gfs2. I will try to get more info about
it.
>
> > + 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.
Yeah, verified and get the tip from the gfs-utils maintainer. They are
again the same as for the gfs2.
>
> > + 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.
>
More information about the anaconda-patches
mailing list