From 2a4a67d694538fe772551206324df0bdba6feac0 Mon Sep 17 00:00:00 2001 From: Chris Leech Date: Mon, 19 Aug 2013 07:37:26 -0700 Subject: [PATCH] iscsi boot related fixes make sure iscsid gets started if there are any boot sessions running add reload target to fix double session problem when restarting from NM don't rely on session list passed from initrd, never got fully implemented remove patches related to running iscsid from initrd, possible to revisit later --- ...si-boot-related-service-file-updates.patch | 75 +++++++++++++++++++ 04-iscsi | 4 +- iscsi-initiator-utils.spec | 27 +++---- 3 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 0050-iscsi-boot-related-service-file-updates.patch diff --git a/0050-iscsi-boot-related-service-file-updates.patch b/0050-iscsi-boot-related-service-file-updates.patch new file mode 100644 index 0000000..19450ee --- /dev/null +++ b/0050-iscsi-boot-related-service-file-updates.patch @@ -0,0 +1,75 @@ +From 8f79529354b4023c371e00091f11bdd523497639 Mon Sep 17 00:00:00 2001 +From: Chris Leech +Date: Mon, 19 Aug 2013 07:18:25 -0700 +Subject: iscsi boot related service file updates + +make sure iscsid gets started if there are any boot sessions running +add reload target to fix double session problem when restarting from NM +don't rely on session list passed from initrd, never got fully implemented +--- + etc/systemd/iscsi-mark-root-nodes | 13 +++++++++++++ + etc/systemd/iscsi.service | 3 ++- + etc/systemd/iscsi_mark_root_nodes | 14 -------------- + 3 files changed, 15 insertions(+), 15 deletions(-) + create mode 100644 etc/systemd/iscsi-mark-root-nodes + delete mode 100644 etc/systemd/iscsi_mark_root_nodes + +diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes +new file mode 100644 +index 0000000..157be62 +--- /dev/null ++++ b/etc/systemd/iscsi-mark-root-nodes +@@ -0,0 +1,13 @@ ++#!/bin/bash ++ ++ISCSIADM=/sbin/iscsiadm ++ ++$ISCSIADM -m session >/dev/null 2>&1 || exit 0 ++ ++$ISCSIADM -m session | while read t num i target; do ++ ip=${i%:*} ++ $ISCSIADM -m node -p $ip -T $target -o update -n node.startup -v onboot ++done ++ ++systemctl start iscsid.service ++ +diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service +index 7b4efee..d5712bd 100644 +--- a/etc/systemd/iscsi.service ++++ b/etc/systemd/iscsi.service +@@ -10,10 +10,11 @@ ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes + [Service] + Type=oneshot + RemainAfterExit=true +-ExecStart=/usr/libexec/iscsi_mark_root_nodes ++ExecStart=/usr/libexec/iscsi-mark-root-nodes + ExecStart=/sbin/iscsiadm -m node --loginall=automatic + ExecStop=/bin/sync + ExecStop=/sbin/iscsiadm -m node --logoutall=automatic ++ExecReload=/sbin/iscsiadm -m node --loginall=automatic + + [Install] + WantedBy=sysinit.target +diff --git a/etc/systemd/iscsi_mark_root_nodes b/etc/systemd/iscsi_mark_root_nodes +deleted file mode 100644 +index c68475c..0000000 +--- a/etc/systemd/iscsi_mark_root_nodes ++++ /dev/null +@@ -1,14 +0,0 @@ +-#!/bin/bash +- +-ISCSIADM=/sbin/iscsiadm +-SESSION_FILE=/run/initramfs/iscsi.sessions +- +-if [ ! -f $SESSION_FILE ] ; then +- exit 0 +-fi +- +-while read t num i target; do +- ip=${i%:*} +- $ISCSIADM -m node -p $ip -T $target -o update -n node.startup -v onboot +-done < $SESSION_FILE +- +-- +1.8.1.4 + diff --git a/04-iscsi b/04-iscsi index ba7cd7d..f142e34 100755 --- a/04-iscsi +++ b/04-iscsi @@ -1,7 +1,7 @@ #!/bin/sh case "$2" in - up|down|vpn-up|vpn-down) - /bin/systemctl try-restart iscsi.service || : + up|vpn-up) + /bin/systemctl reload iscsi.service || : ;; esac diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index 0475aff..6fcac7a 100644 --- a/iscsi-initiator-utils.spec +++ b/iscsi-initiator-utils.spec @@ -4,7 +4,7 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 6.%{open_iscsi_version}.%{open_iscsi_build} -Release: 10%{?dist} +Release: 11%{?dist} Group: System Environment/Daemons License: GPLv2+ URL: http://www.open-iscsi.org @@ -42,18 +42,14 @@ Patch25: 0025-iscsid-Fix-strlen-parameter.patch Patch26: 0026-iscsiuio-Change-socket-bind-to-use-the-same-struct-s.patch Patch27: 0027-Make-rescan-run-in-parallel.patch # not (yet) upstream merged - Patch40: 0040-ISCSISTART-Saved-ibft-boot-info-to-the-session-sysfs.patch Patch41: 0041-ISCSID-Added-the-extraction-of-the-session-boot-info.patch Patch42: 0042-ISCSID-Added-iface-content-override-fix.patch Patch43: 0043-idmb_rec_write-check-for-tpgt-first.patch -Patch44: 0044-iscsid-add-initrd-option-to-set-run-from-initrd-hint.patch Patch45: 0045-idbm_rec_write-seperate-old-and-new-style-writes.patch Patch46: 0046-idbw_rec_write-pick-tpgt-from-existing-record.patch -Patch47: 0047-iscsiadm-iscsid-newroot-command-to-survive-switch_ro.patch -Patch48: 0048-iscsiadm-param-parsing-for-advanced-node-creation.patch Patch49: 0049-update-systemd-service-files-add-iscsi.service-for-s.patch - +Patch50: 0050-iscsi-boot-related-service-file-updates.patch # distro specific modifications Patch51: 0051-update-initscripts-and-docs.patch Patch52: 0052-use-var-for-config.patch @@ -61,7 +57,6 @@ Patch53: 0053-use-red-hat-for-name.patch Patch54: 0054-add-libiscsi.patch Patch55: 0055-dont-use-static.patch Patch56: 0056-remove-the-offload-boot-supported-ifdef.patch -Patch58: 0058-iscsiuio-IPC-newroot-command.patch Patch59: 0059-iscsiuio-systemd-unit-files.patch Patch60: 0060-use-systemctl-to-start-iscsid.patch Patch61: 0061-resolve-565245-multilib-issues-caused-by-doxygen.patch @@ -71,8 +66,6 @@ Patch64: 0064-libiscsi-fix-incorrect-strncpy-use.patch # version string, needs to be updated with each build Patch99: 0099-use-Red-Hat-version-string-to-match-RPM-package-vers.patch -# 44 47 48 58 - BuildRequires: flex bison python-devel doxygen kmod-devel systemd-devel # For dir ownership Requires(post): systemd @@ -132,12 +125,10 @@ developing applications that use %{name}. %patch41 -p1 %patch42 -p1 %patch43 -p1 -%patch44 -p1 %patch45 -p1 %patch46 -p1 -%patch47 -p1 -%patch48 -p1 %patch49 -p1 +%patch50 -p1 # distro specific modifications %patch51 -p1 %patch52 -p1 @@ -145,7 +136,6 @@ developing applications that use %{name}. %patch54 -p1 %patch55 -p1 %patch56 -p1 -%patch58 -p1 %patch59 -p1 %patch60 -p1 %patch61 -p1 @@ -196,7 +186,7 @@ install -pm 644 etc/systemd/iscsiuio.service $RPM_BUILD_ROOT%{_unitdir} install -pm 644 etc/systemd/iscsiuio.socket $RPM_BUILD_ROOT%{_unitdir} install -d $RPM_BUILD_ROOT%{_libexecdir} -install -pm 755 etc/systemd/iscsi_mark_root_nodes $RPM_BUILD_ROOT%{_libexecdir} +install -pm 755 etc/systemd/iscsi-mark-root-nodes $RPM_BUILD_ROOT%{_libexecdir} install -d $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d install -pm 755 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d @@ -271,7 +261,7 @@ fi %{_unitdir}/iscsid.socket %{_unitdir}/iscsiuio.service %{_unitdir}/iscsiuio.socket -%{_libexecdir}/iscsi_mark_root_nodes +%{_libexecdir}/iscsi-mark-root-nodes %{_sysconfdir}/NetworkManager/dispatcher.d/04-iscsi %{_tmpfilesdir}/iscsi.conf %dir %{_sysconfdir}/iscsi @@ -288,6 +278,13 @@ fi %{_includedir}/libiscsi.h %changelog +* Mon Aug 19 2013 Chris Leech - 6.2.0.873-11 +- iscsi boot related fixes + make sure iscsid gets started if there are any boot sessions running + add reload target to fix double session problem when restarting from NM + don't rely on session list passed from initrd, never got fully implemented + remove patches related to running iscsid from initrd, possible to revisit later + * Sun Aug 18 2013 Chris Leech - 6.2.0.873-10 - sync with upstream git, minor context fixes after rebase of out-of-tree patches - iscsiuio is merged upstream, remove old source archive and patches