]> git.pld-linux.org Git - packages/open-iscsi.git/blob - 0001-unit-file-tweaks.patch
743dccddbc53b8065d041e27e56795f809d4434b
[packages/open-iscsi.git] / 0001-unit-file-tweaks.patch
1 From fd538429be486d057b092e3b9c148add2c5ea9c2 Mon Sep 17 00:00:00 2001
2 From: rpm-build <rpm-build>
3 Date: Tue, 4 Jun 2019 13:23:32 -0700
4 Subject: [PATCH 1/1] unit file tweaks
5
6 ---
7  etc/systemd/iscsi-mark-root-nodes  | 34 ++++++++++++++++++++++++++++++
8  etc/systemd/iscsi-onboot.service   | 15 +++++++++++++
9  etc/systemd/iscsi-shutdown.service | 15 +++++++++++++
10  etc/systemd/iscsi.service          | 16 +++++++-------
11  etc/systemd/iscsid.service         |  3 +--
12  etc/systemd/iscsiuio.service       |  4 +---
13  6 files changed, 74 insertions(+), 13 deletions(-)
14  create mode 100755 etc/systemd/iscsi-mark-root-nodes
15  create mode 100644 etc/systemd/iscsi-onboot.service
16  create mode 100644 etc/systemd/iscsi-shutdown.service
17
18 diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes
19 new file mode 100755
20 index 0000000..9d48805
21 --- /dev/null
22 +++ b/etc/systemd/iscsi-mark-root-nodes
23 @@ -0,0 +1,34 @@
24 +#!/bin/bash
25 +
26 +ISCSIADM=/usr/sbin/iscsiadm
27 +start_iscsid=0
28 +start_iscsiuio=0
29 +
30 +while read t num p target flash; do
31 +  # strip tag number from portal, keep "ip:port"
32 +  portal=${p%,*}
33 +  transport=${t%:}
34 +
35 +  # use session number to find the iface name in use
36 +  num=${num#[}; num=${num%]}
37 +  iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2)
38 +
39 +  $ISCSIADM -m node -p $portal -T $target -I $iface -o update -n node.startup -v onboot
40 +
41 +  start_iscsid=1
42 +
43 +  if [ "$transport" = bnx2i ] || [ "$transport" = qedi ]; then
44 +    start_iscsiuio=1
45 +  fi
46 +done < <( $ISCSIADM -m session )
47 +
48 +# force iscsid and iscsiuio to start if needed for
49 +# recovering sessions created in the initrd
50 +
51 +if [ "$start_iscsid" -eq 1 ]; then
52 +  systemctl --no-block start iscsid.service
53 +fi
54 +if [ "$start_iscsiuio" -eq 1 ]; then
55 +  systemctl --no-block start iscsiuio.service
56 +fi
57 +
58 diff --git a/etc/systemd/iscsi-onboot.service b/etc/systemd/iscsi-onboot.service
59 new file mode 100644
60 index 0000000..42ced68
61 --- /dev/null
62 +++ b/etc/systemd/iscsi-onboot.service
63 @@ -0,0 +1,15 @@
64 +[Unit]
65 +Description=Special handling of early boot iSCSI sessions
66 +Documentation=man:iscsiadm(8) man:iscsid(8)
67 +DefaultDependencies=no
68 +RefuseManualStart=true
69 +Before=iscsi.service
70 +After=systemd-remount-fs.service
71 +ConditionDirectoryNotEmpty=/sys/class/iscsi_session
72 +
73 +[Service]
74 +Type=oneshot
75 +ExecStart=-/usr/libexec/iscsi-mark-root-nodes
76 +
77 +[Install]
78 +WantedBy=sysinit.target
79 diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service
80 new file mode 100644
81 index 0000000..caee933
82 --- /dev/null
83 +++ b/etc/systemd/iscsi-shutdown.service
84 @@ -0,0 +1,15 @@
85 +[Unit]
86 +Description=Logout off all iSCSI sessions on shutdown
87 +Documentation=man:iscsid(8) man:iscsiadm(8)
88 +DefaultDependencies=no
89 +Conflicts=shutdown.target
90 +After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
91 +Before=remote-fs-pre.target
92 +Wants=remote-fs-pre.target
93 +RefuseManualStop=yes
94 +
95 +[Service]
96 +Type=oneshot
97 +RemainAfterExit=true
98 +ExecStart=-/usr/bin/true
99 +ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all
100 diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
101 index 5e394b9..175cb2c 100644
102 --- a/etc/systemd/iscsi.service
103 +++ b/etc/systemd/iscsi.service
104 @@ -1,18 +1,18 @@
105  [Unit]
106  Description=Login and scanning of iSCSI devices
107  Documentation=man:iscsiadm(8) man:iscsid(8)
108 -Before=remote-fs.target
109 -After=network-online.target iscsid.service
110 -Requires=iscsid.socket iscsi-init.service
111 -Wants=network-online.target
112 +DefaultDependencies=no
113 +Before=remote-fs-pre.target
114 +After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service
115 +Wants=remote-fs-pre.target iscsi-shutdown.service
116 +ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
117  
118  [Service]
119  Type=oneshot
120 -ExecStart=/sbin/iscsiadm -m node --loginall=automatic -W
121 -ExecStop=/sbin/iscsiadm -m node --logoutall=automatic
122 -ExecStop=/sbin/iscsiadm -m node --logoutall=manual
123 -SuccessExitStatus=21 15
124  RemainAfterExit=true
125 +ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
126 +ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
127 +SuccessExitStatus=21
128  
129  [Install]
130  WantedBy=remote-fs.target
131 diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
132 index 3fd7dd3..324c593 100644
133 --- a/etc/systemd/iscsid.service
134 +++ b/etc/systemd/iscsid.service
135 @@ -4,13 +4,12 @@ Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
136  DefaultDependencies=no
137  After=network-online.target iscsiuio.service iscsi-init.service
138  Before=remote-fs-pre.target
139 -Wants=remote-fs-pre.target
140  Requires=iscsi-init.service
141  
142  [Service]
143  Type=notify
144  NotifyAccess=main
145 -ExecStart=/sbin/iscsid -f
146 +ExecStart=/usr/sbin/iscsid -f
147  KillMode=mixed
148  Restart=on-failure
149  
150 diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service
151 index 923e019..fc0be93 100644
152 --- a/etc/systemd/iscsiuio.service
153 +++ b/etc/systemd/iscsiuio.service
154 @@ -2,17 +2,15 @@
155  Description=iSCSI UserSpace I/O driver
156  Documentation=man:iscsiuio(8)
157  DefaultDependencies=no
158 -Conflicts=shutdown.target
159  Requires=iscsid.service
160  BindTo=iscsid.service
161  After=network.target
162  Before=remote-fs-pre.target iscsid.service
163 -Wants=remote-fs-pre.target
164  
165  [Service]
166  Type=notify
167  NotifyAccess=main
168 -ExecStart=/sbin/iscsiuio -f
169 +ExecStart=/usr/sbin/iscsiuio -f
170  KillMode=mixed
171  Restart=on-failure
172  
173 -- 
174 2.26.3
175
This page took 0.095736 seconds and 2 git commands to generate.