home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / Documentation / aoe / mkshelf.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  2008-12-24  |  610 b   |  29 lines

  1. #! /bin/sh
  2.  
  3. if test "$#" != "2"; then
  4.     echo "Usage: sh `basename $0` {dir} {shelfaddress}" 1>&2
  5.     echo "       n_partitions=16 sh `basename $0` {dir} {shelfaddress}" 1>&2
  6.     exit 1
  7. fi
  8. n_partitions=${n_partitions:-16}
  9. dir=$1
  10. shelf=$2
  11. nslots=16
  12. maxslot=`echo $nslots 1 - p | dc`
  13. MAJOR=152
  14.  
  15. set -e
  16.  
  17. minor=`echo $nslots \* $shelf \* $n_partitions | bc`
  18. endp=`echo $n_partitions - 1 | bc`
  19. for slot in `seq 0 $maxslot`; do
  20.     for part in `seq 0 $endp`; do
  21.         name=e$shelf.$slot
  22.         test "$part" != "0" && name=${name}p$part
  23.         rm -f $dir/$name
  24.         mknod -m 0660 $dir/$name b $MAJOR $minor
  25.  
  26.         minor=`expr $minor + 1`
  27.     done
  28. done
  29.