diff options
author | Christian Zoffoli <xmerlin@gentoo.org> | 2005-03-22 13:59:10 +0000 |
---|---|---|
committer | Christian Zoffoli <xmerlin@gentoo.org> | 2005-03-22 13:59:10 +0000 |
commit | 2a34578591da8b0a5457bb0799c3dd3765b6f6b3 (patch) | |
tree | 0ef636a4a2c7d1f63a1787751c569d20a5df88c8 | |
parent | improved init/conf (diff) | |
download | historical-2a34578591da8b0a5457bb0799c3dd3765b6f6b3.tar.gz historical-2a34578591da8b0a5457bb0799c3dd3765b6f6b3.tar.bz2 historical-2a34578591da8b0a5457bb0799c3dd3765b6f6b3.zip |
improved init, removed old fiiles/{gfs,gfs-mount}
Package-Manager: portage-2.0.51.19
-rw-r--r-- | sys-fs/gfs/ChangeLog | 6 | ||||
-rw-r--r-- | sys-fs/gfs/Manifest | 15 | ||||
-rwxr-xr-x | sys-fs/gfs/files/gfs | 45 | ||||
-rwxr-xr-x | sys-fs/gfs/files/gfs-mount | 28 | ||||
-rwxr-xr-x | sys-fs/gfs/files/gfs.rc | 124 | ||||
-rw-r--r-- | sys-fs/gfs/gfs-6.1_pre21.ebuild | 6 |
6 files changed, 138 insertions, 86 deletions
diff --git a/sys-fs/gfs/ChangeLog b/sys-fs/gfs/ChangeLog index f3425b38ed9a..40b23c6807ae 100644 --- a/sys-fs/gfs/ChangeLog +++ b/sys-fs/gfs/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-fs/gfs # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/ChangeLog,v 1.3 2005/03/20 13:22:04 swegener Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/ChangeLog,v 1.4 2005/03/22 13:59:10 xmerlin Exp $ + + 22 Mar 2005; Christian Zoffoli <xmerlin@gentoo.org> -files/gfs, + -files/gfs-mount, +files/gfs.rc, gfs-6.1_pre21.ebuild: + improved init, removed old fiiles/{gfs,gfs-mount} 19 Mar 2005; Christian Zoffoli <xmerlin@gentoo.org> files/gfs, gfs-6.1_pre21.ebuild: diff --git a/sys-fs/gfs/Manifest b/sys-fs/gfs/Manifest index 577b2c64dc9d..4ec6a5754156 100644 --- a/sys-fs/gfs/Manifest +++ b/sys-fs/gfs/Manifest @@ -1,16 +1,15 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 e8f08f009334ac9d35483eaed7f04c25 gfs-6.1_pre21.ebuild 1615 -MD5 1c18a568928acfecec80d7ac7c2bc306 ChangeLog 750 +MD5 52b14eab0b0016d98c6200be45d3b482 ChangeLog 925 +MD5 816e1b389a361d9c9f0e2f405a3d2876 gfs-6.1_pre21.ebuild 1602 MD5 a64b9a1937a5cfc2fbaf373521f65d47 metadata.xml 223 -MD5 031d2d4a8cf06aad5033713cd9aa2dbb files/gfs 908 -MD5 b61c5aba640725d80ee0d9a1ca9998c8 files/gfs-mount 797 MD5 8b61a396206c23d7fb8e1adad649f8b7 files/digest-gfs-6.1_pre21 65 +MD5 d6b5360d2bc419dc2b0872415e42c39d files/gfs.rc 2874 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.1 (GNU/Linux) +Version: GnuPG v1.2.6 (GNU/Linux) -iD8DBQFCPXkFI1lqEGTUzyQRAnKeAKCWfIhlXvkL71+GpF2MU+hp7rPLUwCgqqd6 -AfLKtUZCU5FpOGa6yMZ8DsQ= -=MGTi +iD8DBQFCQCUogMUyd/cdjWsRAj3/AJ9An09cVqVWp51Jg3rJ2uayK4qrUACfWYCx +dzn1IhmEMNtx2WucYz9vPpU= +=Lr66 -----END PGP SIGNATURE----- diff --git a/sys-fs/gfs/files/gfs b/sys-fs/gfs/files/gfs deleted file mode 100755 index b06319b41bec..000000000000 --- a/sys-fs/gfs/files/gfs +++ /dev/null @@ -1,45 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/files/gfs,v 1.2 2005/03/19 22:04:36 xmerlin Exp $ - -depend() { - provide cluster - need net - need ccs fenced - after cman - use dns logger -} - -checkconfig() { - if [ ! -f /etc/ntp.conf ] ; then - eerror "Please create /etc/ntp.conf" - eerror "Sample conf: /usr/share/ntp/ntp.conf" - return 1 - fi - return 0 -} - -start() { - checkconfig || return $? - - einfo "Starting gfs cluster:" - ebegin "Loading needed kernel modules" - - if [ ! -f /proc/cluster/lock_dlm ]; then - modprobe lock_dlm - fi - if [ ! -f /proc/fs/gfs ]; then - modprobe gfs - fi - eend $? "Failed to load needed kernel modules" - -} - -stop() { - einfo "Stopping gfs cluster:" - ebegin "Removing gfs module" - modprobe -r gfs &>/dev/null - eend $? - -} diff --git a/sys-fs/gfs/files/gfs-mount b/sys-fs/gfs/files/gfs-mount deleted file mode 100755 index 739afd76cc5f..000000000000 --- a/sys-fs/gfs/files/gfs-mount +++ /dev/null @@ -1,28 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/files/gfs-mount,v 1.1 2005/03/19 17:32:19 xmerlin Exp $ - -depend() { - need net - after gnbd-client gfs - use dns logger -} - -start() { - GFS=`cat /etc/fstab | grep 'gfs'` - if [ -n "$GFS" ] ; then - ebegin "Mounting all gfs filesystems" - cat /etc/fstab | awk '/[\t\s]gfs[\t\s]/ { print $1,$2 }' | xargs mount -v -t gfs - eend $? "Failed to mount all gfs filesystems" - fi -} - -stop() { - GFS=`cat /etc/fstab | grep 'gfs'` - if [ -n "$GFS" ] ; then - ebegin "Unmounting all gfs filesystems" - cat /etc/fstab | awk '/[\t\s]gfs[\t\s]/ { print $2 }' | xargs umount -v -t gfs - eend $? "Failed to umount all gfs filesystems" - fi -} diff --git a/sys-fs/gfs/files/gfs.rc b/sys-fs/gfs/files/gfs.rc new file mode 100755 index 000000000000..74f83ef3e730 --- /dev/null +++ b/sys-fs/gfs/files/gfs.rc @@ -0,0 +1,124 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/files/gfs.rc,v 1.1 2005/03/22 13:59:10 xmerlin Exp $ + +depend() { + use dns logger + use net gnbd-client + need cluster-manager cluster-locking-manager fenced + provide cluster +} + +start() { + einfo "Starting gfs cluster:" + + if [ ! -f /etc/ntp.conf ] ; then + eerror "Please create /etc/ntp.conf" + eerror "Sample conf: /usr/share/ntp/ntp.conf" + eend 1 + fi + + local module + + # detect cluster/locking manager cman+dlm or gulm ? + if [ -d /proc/cluster/config/cman ]; then + if [ ! -d /proc/cluster/lock_dlm ]; then + modules="${modules} lock_dlm" + fi + else + if [ ! -d /proc/cluster/lock_gulm ]; then + modules="${modules} lock_gulm" + fi + fi + + if [ ! -f /proc/fs/gfs ]; then + modules="${modules} gfs" + fi + + for module in ${modules}; do + ebegin "Loading ${module} kernel module" + modprobe ${module} + + if [ "$?" -ne 0 ] + then + ewend 1 "Failed to load ${module} kernel module" + else + eend 0 + fi + done + + ebegin "Mounting GFS filesystems" + mount -at gfs >/dev/null + + if [ "$?" -ne 0 ] + then + ewend 1 "Could not mount all GFS filesystems!" + else + eend 0 + fi + + return 0 +} + +stop() { + einfo "Stopping gfs cluster:" + + local sig retry + local remaining="$(awk '$3 ~ /gfs/ { if ($2 != "/") print $2 }' /proc/mounts | sort -r)" + + if [ -z "${remaining}" ] + then + ebegin "Unmounting GFS filesystems" + eend 0 + else + sig= + retry=3 + while [ -n "${remaining}" -a "${retry}" -gt 0 ] + do + if [ "${retry}" -lt 3 ] + then + ebegin "Unmounting GFS filesystems (retry)" + umount ${remaining} &>/dev/null + eend $? "Failed to unmount GFS filesystems this retry" + else + ebegin "Unmounting GFS filesystems" + umount ${remaining} &>/dev/null + eend $? "Failed to unmount GFS filesystems" + fi + remaining="$(awk '$3 ~ /gfs/ { if ($2 != "/") print $2 }' /proc/mounts | sort -r)" + [ -z "${remaining}" ] && break + /bin/fuser -k -m ${sig} ${remaining} &>/dev/null + sleep 5 + retry=$((${retry} -1)) + sig=-9 + done + fi + + local module modules + + if [ -f /proc/fs/gfs ]; then + modules="gfs" + fi + if [ -d /proc/cluster/lock_dlm ]; then + modules="${modules} lock_dlm" + fi + if [ -d /proc/cluster/lock_gulm ]; then + modules="${modules} lock_gulm" + fi + + local module + for module in ${modules}; do + ebegin "Unloading ${module} kernel module" + modprobe -r ${module} + + if [ "$?" -ne 0 ] + then + ewend 1 "Failed to unload ${module} kernel module" + else + eend 0 + fi + done + + return 0 +} diff --git a/sys-fs/gfs/gfs-6.1_pre21.ebuild b/sys-fs/gfs/gfs-6.1_pre21.ebuild index f857e0dc61fa..032ff564a194 100644 --- a/sys-fs/gfs/gfs-6.1_pre21.ebuild +++ b/sys-fs/gfs/gfs-6.1_pre21.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/gfs-6.1_pre21.ebuild,v 1.2 2005/03/19 22:04:36 xmerlin Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/gfs/gfs-6.1_pre21.ebuild,v 1.3 2005/03/22 13:59:10 xmerlin Exp $ inherit linux-mod @@ -46,9 +46,7 @@ src_compile() { src_install() { make DESTDIR=${D} install || die - exeinto /etc/init.d - doexe ${FILESDIR}/gfs - doexe ${FILESDIR}/gfs-mount + exeinto /etc/init.d ; newexe ${FILESDIR}/gfs.rc gfs || die } pkg_postinst() { |