diff options
Diffstat (limited to 'src/initramfs/scripts/init')
-rwxr-xr-x | src/initramfs/scripts/init | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/initramfs/scripts/init b/src/initramfs/scripts/init index b23337c6..ea815986 100755 --- a/src/initramfs/scripts/init +++ b/src/initramfs/scripts/init @@ -269,9 +269,11 @@ line in $0\nnfsserver=\"${nfsserver}\"\nnfspath=\"${nfspath}\"" \ # notation (remove leading slash from filesystem at the end) bldhost=$(uri_token $rootfs server) bldport=$(uri_token $rootfs port) - bldrfst=$(uri_token $rootfs path) - bldopt=${bldrfst%/*} - bldrfst=${bldrfst##*/} + path=$(uri_token $rootfs path) + bldrfst=${path##*/} + bldopt=${path%/*} + echo "bldrfst $bldrfst\n" + echo "bldopt $bldopt\n" ;; aoe) echo "Not implemented yet" @@ -554,9 +556,18 @@ if [ -n "${bldmod}" ] ; then RDEV=/dev/dnbd0 waitfor "${RDEV}" 20000 || error "$init_nbddev" i=0 - vid=${${blkopt#/*}%%/*} - rid=${${${blkopt#/*}#*/}%%/*} - dnbd3-client -h $bldhost -p $bldport -d ${RDEV} -v $vid -r $rid + vid=1 #${${blkopt#/*}%%/*} + rid=0 #${${${blkopt#/*}#*/}%%/*} + ls -lah /sys/block/dnbd0/net/cur_server_ip + [ "x" == "x$bldport" ] || bldporrt="-p $bldport" + tryagain=1 + while [ "x$tryagain" == "x1" ] ; do + dnbd3-client -h $bldhost $bldport -d ${RDEV} -v $vid -r $rid + usleep 10000 + [ "$(cat /sys/block/dnbd0/net/cur_server_ip)x" != "x" ] && tryagain=0 + echo -n "retry: " + done + sleep 1 ;; # dnbd2 by Vito Di Leo dnbd2) |