diff --git a/iscsi-scst/etc/initd/initd b/iscsi-scst/etc/initd/initd index 14e124fb6..b58a478af 100644 --- a/iscsi-scst/etc/initd/initd +++ b/iscsi-scst/etc/initd/initd @@ -5,6 +5,11 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin MEM_SIZE=1048576 +SCST_CMD=/usr/local/sbin/scstadmin +SCST_CFG=/etc/scst.conf + +# Additional modules to load/unload +ADD_MODULES="scst_vdisk scst" configure_memsize() { @@ -40,15 +45,22 @@ configure_memsize() start_server() { # configure_memsize - modprobe -q crc32c - modprobe iscsi-scst + + modprobe iscsi-scst || { exit $? ; } + for module in ${ADD_MODULES}; do + modprobe ${module} || { exit 1 ; } + done + + $SCST_CMD -config $SCST_CFG || { exit $? ; } + /usr/local/sbin/iscsi-scstd } stop_server() { killall iscsi-scstd - rmmod -w iscsi-scst + rmmod -w iscsi-scst || { exit $? ; } + rmmod ${ADD_MODULES} || { exit $? ; } } case "$1" in diff --git a/iscsi-scst/etc/scst.conf b/iscsi-scst/etc/scst.conf new file mode 100644 index 000000000..765a4270c --- /dev/null +++ b/iscsi-scst/etc/scst.conf @@ -0,0 +1,23 @@ +[HANDLER vdisk] +#DEVICE ,,, +DEVICE disk1,/path/disk1,,512 +DEVICE hdc1,/dev/hdc1,BIO,512 +DEVICE nullio,none,NIO,1024 + +[HANDLER vcdrom] +#DEVICE , + +[ASSIGNMENT Default] +#DEVICE , + +[GROUP Default_iqn.2007-05.com.example:storage.disk2.sys1.xyz] +# This user isn't needed in this default group, but current version of +# scstadmin (0.7.1) has a problem that it refuses to create a group if +# it doesn't have at least one user. +USER NULL_USER + +[ASSIGNMENT Default_iqn.2007-05.com.example:storage.disk2.sys1.xyz] +#DEVICE , +DEVICE disk1,0 +DEVICE hdc1,1 +DEVICE nullio,3