* Thu Aug 20 2015 Andrew Price <anprice@redhat.com> - 3.1.8-5
- Add patches to install the withdraw helper script properly: scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper.patch scripts_install_the_withdraw_helper_script.patch scripts_install_the_withdraw_udev_rules_script.patch - Remove the obsolete udev script installation bits
This commit is contained in:
parent
b4080e636c
commit
6d1e4a09ae
@ -12,7 +12,7 @@
|
||||
|
||||
Name: gfs2-utils
|
||||
Version: 3.1.8
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
License: GPLv2+ and LGPLv2+
|
||||
Group: System Environment/Kernel
|
||||
Summary: Utilities for managing the global file system (GFS2)
|
||||
@ -33,11 +33,17 @@ Source: https://fedorahosted.org/released/gfs2-utils/gfs2-utils-%{version}.tar.g
|
||||
URL: https://fedorahosted.org/cluster/wiki/HomePage
|
||||
Patch0: fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic.patch
|
||||
Patch1: gfs2_utils_Fix_hang_on_withdraw.patch
|
||||
Patch2: scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper.patch
|
||||
Patch3: scripts_install_the_withdraw_helper_script.patch
|
||||
Patch4: scripts_install_the_withdraw_udev_rules_script.patch
|
||||
|
||||
%prep
|
||||
%setup -q -n gfs2-utils-%{version}
|
||||
%patch0 -p 1 -b .fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic
|
||||
%patch1 -p 1 -b .gfs2_utils_Fix_hang_on_withdraw
|
||||
%patch2 -p 1 -b .scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper
|
||||
%patch3 -p 1 -b .scripts_install_the_withdraw_helper_script
|
||||
%patch4 -p 1 -b .scripts_install_the_withdraw_udev_rules_script
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
@ -54,10 +60,6 @@ rm -f %{buildroot}/usr/sbin/gfs2_trace
|
||||
rm -f %{buildroot}/usr/sbin/gfs2_lockcapture
|
||||
rm -f %{buildroot}%{_mandir}/man8/gfs2_trace.8
|
||||
rm -f %{buildroot}%{_mandir}/man8/gfs2_lockcapture.8
|
||||
# Install withdraw helper scripts
|
||||
install -m 755 gfs2/scripts/gfs2_wd_udev.sh %{buildroot}%{_sbindir}/
|
||||
install -D -m 644 gfs2/scripts/82-gfs2-withdraw.rules \
|
||||
%{buildroot}%{_prefix}/lib/udev/rules.d/82-gfs2-withdraw.rules
|
||||
|
||||
%description
|
||||
The gfs2-utils package contains a number of utilities for creating,
|
||||
@ -74,12 +76,19 @@ file systems.
|
||||
%{_sbindir}/gfs2_convert
|
||||
%{_sbindir}/gfs2_edit
|
||||
%{_sbindir}/tunegfs2
|
||||
%{_sbindir}/gfs2_wd_udev.sh
|
||||
%{_sbindir}/gfs2_withdraw_helper
|
||||
%{_mandir}/man8/*gfs2*
|
||||
%{_mandir}/man5/*
|
||||
%{_prefix}/lib/udev/rules.d/82-gfs2-withdraw.rules
|
||||
|
||||
%changelog
|
||||
* Thu Aug 20 2015 Andrew Price <anprice@redhat.com> - 3.1.8-5
|
||||
- Add patches to install the withdraw helper script properly:
|
||||
scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper.patch
|
||||
scripts_install_the_withdraw_helper_script.patch
|
||||
scripts_install_the_withdraw_udev_rules_script.patch
|
||||
- Remove the obsolete udev script installation bits
|
||||
|
||||
* Tue Aug 11 2015 Andrew Price <anprice@redhat.com> - 3.1.8-4
|
||||
- gfs2-utils: Fix hang on withdraw
|
||||
- Install udev withdraw handler scripts
|
||||
|
27
scripts_install_the_withdraw_helper_script.patch
Normal file
27
scripts_install_the_withdraw_helper_script.patch
Normal file
@ -0,0 +1,27 @@
|
||||
commit fdded71f349ec5928a1422bc7edaa7f4f6c0be26
|
||||
Author: Andrew Price <anprice@redhat.com>
|
||||
Date: Tue Aug 18 12:48:50 2015 +0100
|
||||
|
||||
scripts: install the withdraw helper script
|
||||
|
||||
Install gfs2_withdraw_helper into /usr/sbin in 'make install'.
|
||||
|
||||
Signed-off-by: Andrew Price <anprice@redhat.com>
|
||||
|
||||
diff --git a/gfs2/scripts/Makefile.am b/gfs2/scripts/Makefile.am
|
||||
index 51764fa..056aaa5 100644
|
||||
--- a/gfs2/scripts/Makefile.am
|
||||
+++ b/gfs2/scripts/Makefile.am
|
||||
@@ -2,9 +2,9 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
dist_sbin_SCRIPTS = \
|
||||
gfs2_lockcapture \
|
||||
- gfs2_trace
|
||||
+ gfs2_trace \
|
||||
+ gfs2_withdraw_helper
|
||||
|
||||
noinst_SCRIPTS = \
|
||||
- 82-gfs2-withdraw.rules \
|
||||
- gfs2_withdraw_helper
|
||||
+ 82-gfs2-withdraw.rules
|
||||
|
72
scripts_install_the_withdraw_udev_rules_script.patch
Normal file
72
scripts_install_the_withdraw_udev_rules_script.patch
Normal file
@ -0,0 +1,72 @@
|
||||
commit 9aa261bd5e65beb757b0953ba43211fc29641952
|
||||
Author: Andrew Price <anprice@redhat.com>
|
||||
Date: Wed Aug 19 12:13:39 2015 +0100
|
||||
|
||||
scripts: install the withdraw udev rules script
|
||||
|
||||
Add a --with-udevdir configure option and default to $prefix/lib/udev.
|
||||
Note that we can't use $libdir for this as that will often be /usr/lib64
|
||||
and the udevdir is arch-independent.
|
||||
|
||||
Also add the autoconf bits needed to install 82-gfs2-withdraw.rules into
|
||||
$udevdir/rules.d
|
||||
|
||||
Signed-off-by: Andrew Price <anprice@redhat.com>
|
||||
|
||||
diff --git a/README.build b/README.build
|
||||
index acfde1b..d0a21c3 100644
|
||||
--- a/README.build
|
||||
+++ b/README.build
|
||||
@@ -31,10 +31,9 @@ To install gfs2-utils, run:
|
||||
|
||||
The following scripts (located in gfs2/scripts) are used to complete
|
||||
the userland portion of the gfs2 withdraw feature using uevents. They
|
||||
-are not installed by 'make install' and need to be installed manually
|
||||
-or during rpm installation to the corresponding locations.
|
||||
+will be installed by 'make install' to these directories by default:
|
||||
|
||||
- 82-gfs2-withdraw.rules in /etc/udev/rules.d/
|
||||
+ 82-gfs2-withdraw.rules in /usr/lib/udev/rules.d/
|
||||
gfs2_withdraw_helper in /usr/sbin/
|
||||
|
||||
See also doc/README.contributing for details on submitting patches and
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index de96e5a..35cafe6 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -110,6 +110,12 @@ if test -z "$ncurses_CFLAGS" && test -z "$ncurses_LIBS"; then
|
||||
ncurses_LIBS=-lncurses
|
||||
fi
|
||||
|
||||
+AC_ARG_WITH([udevdir],
|
||||
+ AS_HELP_STRING([--with-udevdir=DIR],
|
||||
+ [udev directory containing rules.d [default=${prefix}/lib/udev]]),
|
||||
+ [], [with_udevdir=\${prefix}/lib/udev])
|
||||
+AC_SUBST([udevdir], [$with_udevdir])
|
||||
+
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([fcntl.h libintl.h limits.h locale.h mntent.h stddef.h sys/file.h sys/ioctl.h sys/mount.h sys/time.h sys/vfs.h syslog.h termios.h])
|
||||
AC_CHECK_HEADER([linux/fs.h], [], [AC_MSG_ERROR([Unable to find linux/fs.h])])
|
||||
@@ -209,7 +215,9 @@ echo " Configure summary"
|
||||
echo " ==================="
|
||||
echo " prefix : $prefix"
|
||||
echo " exec_prefix : $exec_prefix"
|
||||
+echo " libdir : $libdir"
|
||||
echo " sbindir : $sbindir"
|
||||
+echo " udevdir : $udevdir"
|
||||
echo " ------------------"
|
||||
echo " debug build : $enable_debug"
|
||||
echo " C unit tests : $have_check"
|
||||
diff --git a/gfs2/scripts/Makefile.am b/gfs2/scripts/Makefile.am
|
||||
index 056aaa5..d4bda04 100644
|
||||
--- a/gfs2/scripts/Makefile.am
|
||||
+++ b/gfs2/scripts/Makefile.am
|
||||
@@ -5,6 +5,6 @@ dist_sbin_SCRIPTS = \
|
||||
gfs2_trace \
|
||||
gfs2_withdraw_helper
|
||||
|
||||
-noinst_SCRIPTS = \
|
||||
+udevrulesdir=@udevdir@/rules.d
|
||||
+dist_udevrules_DATA = \
|
||||
82-gfs2-withdraw.rules
|
||||
-
|
115
scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper.patch
Normal file
115
scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper.patch
Normal file
@ -0,0 +1,115 @@
|
||||
commit bdb6bb67ee4532c2dfb65eeeebcec06bda99d4ff
|
||||
Author: Andrew Price <anprice@redhat.com>
|
||||
Date: Tue Aug 18 12:35:52 2015 +0100
|
||||
|
||||
scripts: rename gfs2_wd_udev.sh to gfs2_withdraw_helper
|
||||
|
||||
Makes the name more descriptive and consistent with the name of the udev
|
||||
rules script.
|
||||
|
||||
Signed-off-by: Andrew Price <anprice@redhat.com>
|
||||
|
||||
diff --git a/README.build b/README.build
|
||||
index 6487bae..acfde1b 100644
|
||||
--- a/README.build
|
||||
+++ b/README.build
|
||||
@@ -35,7 +35,7 @@ are not installed by 'make install' and need to be installed manually
|
||||
or during rpm installation to the corresponding locations.
|
||||
|
||||
82-gfs2-withdraw.rules in /etc/udev/rules.d/
|
||||
- gfs2_wd_udev.sh in /usr/sbin/
|
||||
+ gfs2_withdraw_helper in /usr/sbin/
|
||||
|
||||
See also doc/README.contributing for details on submitting patches and
|
||||
doc/README.tests for more details regarding the test suite.
|
||||
diff --git a/gfs2/scripts/82-gfs2-withdraw.rules b/gfs2/scripts/82-gfs2-withdraw.rules
|
||||
index 2228615..2c9e0e8 100644
|
||||
--- a/gfs2/scripts/82-gfs2-withdraw.rules
|
||||
+++ b/gfs2/scripts/82-gfs2-withdraw.rules
|
||||
@@ -1,2 +1,2 @@
|
||||
-SUBSYSTEM=="gfs2", ACTION=="offline", RUN+="/bin/sh /usr/sbin/gfs2_wd_udev.sh"
|
||||
+SUBSYSTEM=="gfs2", ACTION=="offline", RUN+="/bin/sh /usr/sbin/gfs2_withdraw_helper"
|
||||
|
||||
diff --git a/gfs2/scripts/Makefile.am b/gfs2/scripts/Makefile.am
|
||||
index dde906f..51764fa 100644
|
||||
--- a/gfs2/scripts/Makefile.am
|
||||
+++ b/gfs2/scripts/Makefile.am
|
||||
@@ -6,5 +6,5 @@ dist_sbin_SCRIPTS = \
|
||||
|
||||
noinst_SCRIPTS = \
|
||||
82-gfs2-withdraw.rules \
|
||||
- gfs2_wd_udev.sh
|
||||
+ gfs2_withdraw_helper
|
||||
|
||||
diff --git a/gfs2/scripts/gfs2_wd_udev.sh b/gfs2/scripts/gfs2_wd_udev.sh
|
||||
deleted file mode 100755
|
||||
index ac3ce35..0000000
|
||||
--- a/gfs2/scripts/gfs2_wd_udev.sh
|
||||
+++ /dev/null
|
||||
@@ -1,30 +0,0 @@
|
||||
-#!/bin/sh
|
||||
-#
|
||||
-# Do not run this script manually. This script is called by udev on a gfs2
|
||||
-# withdraw uevent and is used to complete the withdraw action and notify the
|
||||
-# kernel.
|
||||
-#
|
||||
-
|
||||
-# Sanity checks
|
||||
-if [ "$SUBSYSTEM" != "gfs2" ] || [ "$LOCKPROTO" != "lock_dlm" ] ||
|
||||
- [ -z "$DEVPATH" ] || [ "$ACTION" != "offline" ]
|
||||
-then
|
||||
- exit 1 # Nothing to do here
|
||||
-fi
|
||||
-
|
||||
-# Try and suspend the device
|
||||
-SYSFS_TOPDIR="/sys"$DEVPATH
|
||||
-DM_NAME=$(cat "$SYSFS_TOPDIR/device/dm/name")
|
||||
-DM_DEV="/dev/mapper/"$DM_NAME
|
||||
-
|
||||
-if [ -z "$DM_DEV" ]
|
||||
-then
|
||||
- /usr/bin/dmsetup suspend $DM_DEV
|
||||
-fi
|
||||
-
|
||||
-# Signal completion of withdraw
|
||||
-WD_ACK="$SYSFS_TOPDIR/lock_module/withdraw"
|
||||
-if [ -f "$WD_ACK" ]
|
||||
-then
|
||||
- echo "1" > $WD_ACK
|
||||
-fi
|
||||
diff --git a/gfs2/scripts/gfs2_withdraw_helper b/gfs2/scripts/gfs2_withdraw_helper
|
||||
new file mode 100755
|
||||
index 0000000..ac3ce35
|
||||
--- /dev/null
|
||||
+++ b/gfs2/scripts/gfs2_withdraw_helper
|
||||
@@ -0,0 +1,30 @@
|
||||
+#!/bin/sh
|
||||
+#
|
||||
+# Do not run this script manually. This script is called by udev on a gfs2
|
||||
+# withdraw uevent and is used to complete the withdraw action and notify the
|
||||
+# kernel.
|
||||
+#
|
||||
+
|
||||
+# Sanity checks
|
||||
+if [ "$SUBSYSTEM" != "gfs2" ] || [ "$LOCKPROTO" != "lock_dlm" ] ||
|
||||
+ [ -z "$DEVPATH" ] || [ "$ACTION" != "offline" ]
|
||||
+then
|
||||
+ exit 1 # Nothing to do here
|
||||
+fi
|
||||
+
|
||||
+# Try and suspend the device
|
||||
+SYSFS_TOPDIR="/sys"$DEVPATH
|
||||
+DM_NAME=$(cat "$SYSFS_TOPDIR/device/dm/name")
|
||||
+DM_DEV="/dev/mapper/"$DM_NAME
|
||||
+
|
||||
+if [ -z "$DM_DEV" ]
|
||||
+then
|
||||
+ /usr/bin/dmsetup suspend $DM_DEV
|
||||
+fi
|
||||
+
|
||||
+# Signal completion of withdraw
|
||||
+WD_ACK="$SYSFS_TOPDIR/lock_module/withdraw"
|
||||
+if [ -f "$WD_ACK" ]
|
||||
+then
|
||||
+ echo "1" > $WD_ACK
|
||||
+fi
|
Loading…
Reference in New Issue
Block a user