#!/bin/bash
#
# chkconfig: 35 99 12
# description: Configure sysctl settings to optimize Gluster I/O
#

sysctl -w vm.swappiness=10;
sysctl -w vm.dirty_background_ratio=1;
sysctl -w kernel.sched_wakeup_granularity_ns=15
sysctl -w net.core.rmem_max=540000
sysctl -w net.core.wmem_max=540000
#sysctl -w kernel.core_pattern='|/opt/gvsa/bin/gluster-core-capture %p.%u.%t.%e';
for i in $(ls -d /sys/block/*/queue/iosched 2>/dev/null); do
    iosched_dir=$(echo $i | awk '/iosched/ {print $1}')
    [ -z $iosched_dir ] && {
	continue
    }
    path=$(dirname $iosched_dir)
    [ -f $path/scheduler ] && {
	echo "deadline" > $path/scheduler
    }
    [ -f $path/nr_requests ] && {
	echo "256" > $path/nr_requests
    }
    [ -f $path/max_hw_sectors_kb ] && {
	echo "1024" > $path/max_hw_sectors_kb
    }
done

modprobe fuse;
alias mkfs.xfs='mkfs.xfs -i size=512'

if ! grep -q Gluster /etc/security/limits.conf ; then
    echo '* - core unlimited # added by Gluster' >> /etc/security/limits.conf
fi
ulimit -c unlimited

#cat /usr/local/etc/motd.gluster > /etc/motd;
