????

Your IP : 3.15.219.174


Current Path : /lib/udev/
Upload File :
Current File : //lib/udev/tuned-mpath-iosched

#!/bin/sh
#
# For the request-based multipath driver, the I/O scheduler runs on the
# multipath device, not the underlying "slave" devices.  This script
# checks the ID_BUS attribute for each of the slave devices.  If it finds
# an ata device, it leaves the I/O scheduler tunings alone.  For any other
# device, we tune the I/O scheduler to try to keep the device busy.
#

if [ -z "$DEVPATH" ]; then
	logger "$0: DEVPATH is not set"
	exit 1
fi

if [ ! -d /sys/${DEVPATH}/slaves ]; then
	logger "$0: 'slaves' directory under '$DEVPATH' does not exist"
	exit 1
fi

needs_tuning=1
for slave in $(command ls /sys/${DEVPATH}/slaves/* 2>/dev/null); do
	bus_type=$(/sbin/udevadm info --query=property --path=$slave | grep -m1 ID_BUS | cut -d= -2)
	if [ "$bus_type" = "ata" ]; then
		needs_tuning=0
		break
	fi
done

if [ $needs_tuning -eq 1 ]; then
	echo 0 > /sys/${DEVPATH}/queue/iosched/slice_idle
	echo 32 > /sys/${DEVPATH}/queue/iosched/quantum
fi

exit 0