Bug 35291 - Добавить возможность ожидания отключения инициаторов при выключение службы
Summary: Добавить возможность ожидания отключения инициаторов при выключение службы
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: scsitarget-utils (show other bugs)
Version: unstable
Hardware: all Linux
: P3 enhancement
Assignee: Стас
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-24 10:45 MSK by Alex Moskalenko
Modified: 2019-04-21 20:58 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Moskalenko 2018-08-24 10:45:11 MSK
Хотелось бы реализовать возможность ожидания отключения инициаторов от всех целей tgtd в /etc/rc.d/init.d/tgt. Например, что-то типа переменной STOP_WAIT=300 в /etc/sysconfig/tgtd и кода вроде такого в функции stop() /etc/rc.d/init.d/tgt:

--- tgt	2018-08-24 10:39:40.857100951 +0300
+++ tgt.init.withwait	2018-08-24 10:33:25.783602194 +0300
@@ -79,6 +79,13 @@
 		return 1
 	fi
 	msg_stopping "$NAME"
+	local wt=0
+	[ -z "$STOP_WAIT" ] STOP_WAIT=30
+	while [ $($ADM --op show --mode target | grep "Initiator:" | wc -l) -gt 0 -a $wt -lt $STOP_WAIT ]; do
+		echo -n "."
+		let wt=$wt+5
+		sleep 5
+	done
 	$ADM $STOP_OPTIONS1
 	RETVAL=$?
 	[ ! $RETVAL -eq 0 ] && failure && return $RETVAL

Это позволит при питании нескольких машин от одного ИБП дождаться отключения инициаторов от целей у корректно завершить работу системы в целом. А установка переменной STOP_WAIT в 0 вернет старое поведение.