CasperSecurity

Current Path : /lib/open-iscsi/
Upload File :
Current File : //lib/open-iscsi/activate-storage.sh

#!/bin/sh
#
# This script activates storage at boot after the iSCSI login. It can
# be called from both the init script as well as the native systemd
# service.
#

PATH=/sbin:/bin

MULTIPATH=/sbin/multipath
VGCHANGE=/sbin/vgchange

if [ -f /etc/default/open-iscsi ]; then
	. /etc/default/open-iscsi
fi

# See if we need to handle LVM
if [ ! -x $VGCHANGE ] && [ -n "$LVMGROUPS" ]; then
	echo "Warning: LVM2 tools are not installed, not honouring LVMGROUPS." >&2
	LVMGROUPS=""
fi

# If we don't have to activate any VGs and are running systemd, we
# don't have to activate anything, so doing udevadm settle here and
# potentially sleeping (if multipath is used) will not be productive,
# because after waiting for both of these things, we will do nothing.
# Therefore just drop out early if that is the case.
if [ -d /run/systemd/system ] && [ -z "$LVMGROUPS" ] ; then
	exit 0
fi

# Make sure we pick up all devices
udevadm settle || true

# Work around race condition here: after udevadm settle it is
# guaranteed that all iSCSI disks have now properly appeared, but
# other dependent devices may not have. This can include multipath
# mappings of iSCSI devices (multipathd will race against udev for
# locking the underlying source block devices when it comes to
# creating the mappings, and it will retry the lock only once per
# second, and typically succeed only on second try), but also
# partitions on the given disks (which the kernel scans
# asyncronously).
#
# The proper way of handling this is to have LVM activation and/or
# mounting of file systems be handled in a completely event-driven
# manner, but that requires configuration by the sysadmin in the
# case of LVM, and for mounting it only works with systemd at the
# moment. For compatibility with how the package handled this
# previously, we will work around this race for a while longer.

if [ -x $MULTIPATH ] ; then
	# 1 second is too short for multipath devices to appear,
	# because multipathd takes more than 1s to activate them
	# after udevadm settle is done.
	sleep 3
else
	sleep 1
fi
udevadm settle || true

# Handle LVM
if [ -n "$LVMGROUPS" ] ; then
	if ! $VGCHANGE -ay $LVMGROUPS ; then
		echo "Warning: could not activate all LVM groups." >&2
	fi
	# Make sure we pick up all LVM devices
	udevadm settle || true
fi

# Mount all network filesystems
# (systemd takes care of it directly, so don't do it there)
if ! [ -d /run/systemd/system ] ; then
	if [ $HANDLE_NETDEV -eq 1 ] ; then
		mount -a -O _netdev >/dev/null 2>&1 || true
		# FIXME: should we really support swap on iSCSI?
		#        If so, we should update umountiscsi.sh!
		swapon -a -e >/dev/null 2>&1 || true
	fi
fi
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY