summaryrefslogtreecommitdiffstats
path: root/initramfs/initrd-stuff/init
diff options
context:
space:
mode:
authorDirk von Suchodoletz2007-05-31 00:53:30 +0200
committerDirk von Suchodoletz2007-05-31 00:53:30 +0200
commit28d5b6abea9f7a3022aaf6e7c82ef90ecdf652c4 (patch)
treeff00b7d58712e5b74daa4c069a42f299598fc478 /initramfs/initrd-stuff/init
parentExtended slx init to handle dnbd2 blockdevices (stuff developed by Vito (diff)
downloadcore-28d5b6abea9f7a3022aaf6e7c82ef90ecdf652c4.tar.gz
core-28d5b6abea9f7a3022aaf6e7c82ef90ecdf652c4.tar.xz
core-28d5b6abea9f7a3022aaf6e7c82ef90ecdf652c4.zip
Small fix for dnbd2 if the interface is dowm for short period (dhclient
related problem which is shared with the other network block devices too) and error message ... git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1118 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/initrd-stuff/init')
-rwxr-xr-xinitramfs/initrd-stuff/init16
1 files changed, 12 insertions, 4 deletions
diff --git a/initramfs/initrd-stuff/init b/initramfs/initrd-stuff/init
index 9c87ce79..f8905d35 100755
--- a/initramfs/initrd-stuff/init
+++ b/initramfs/initrd-stuff/init
@@ -389,17 +389,25 @@ if [ -n "${nbdmod}" ] ; then
# switch off unneeded block read ahead
echo "0" > /sys/block/nbd0/queue/read_ahead_kb
;;
- # dnbd2 by Vito di Leo
+ # dnbd2 by Vito Di Leo
dnbd2)
RDEV=/dev/vnbd0
waitfor "${RDEV}" 20000 || error "$init_nbddev"
echo $nbdhost $nbdport > /sys/block/vnbd0/server0/sock
echo 1 > /sys/block/vnbd0/config/vid
echo 1 > /sys/block/vnbd0/config/rid
- echo 1 > /sys/block/vnbd0/config/running
echo noop > /sys/block/vnbd0/queue/scheduler
- # switch off unneeded block read ahead
- echo "0" > /sys/block/vnbd0/queue/read_ahead_kb
+ i=0
+ while [ $(cat /sys/block/vnbd0/config/running) != 1 ] ; do
+ echo 1 > /sys/block/vnbd0/config/running
+ usleep 50
+ i=$(expr $i + 1)
+ if [ $i -ge 100 ] ; then
+ error "$init_dnbd2s"
+ break
+ fi
+ done
+ # echo "0" > /sys/block/vnbd0/queue/read_ahead_kb
;;
# dnbd by Thorsten Zitterell
dnbd)