Home | History | Annotate | Download | only in bin
      1 #!/bin/bash -v
      2 
      3 #
      4 # Copyright (c) International Business Machines  Corp., 2005
      5 # Author: Avantika Mathur (mathurav (at] us.ibm.com)
      6 #
      7 # This library is free software; you can redistribute it and/or
      8 # modify it under the terms of the GNU Lesser General Public
      9 # License as published by the Free Software Foundation; either
     10 # version 2.1 of the License, or (at your option) any later version.
     11 #
     12 # This library is distributed in the hope that it will be useful,
     13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     15 # Lesser General Public License for more details.
     16 #
     17 # You should have received a copy of the GNU Lesser General Public
     18 # License along with this library; if not, write to the Free Software
     19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     20 #
     21 
     22 
     23 disk1=disk1
     24 disk2=disk2
     25 disk3=disk3
     26 disk4=disk4
     27 fs=ext3
     28 
     29 mkdir -p $disk1 $disk2 $disk3 $disk4
     30 
     31 
     32 
     33 rm -rf $disk1/* $disk2/* $disk3/* $disk4/*
     34 
     35 mkdir $disk1/a $disk1/b $disk1/c
     36 mkdir $disk2/d $disk2/e $disk2/f
     37 mkdir $disk3/g $disk3/h $disk3/i
     38 mkdir $disk4/j $disk4/k $disk4/l
     39 
     40 lockfile="/.nslock"
     41 otherpid=
     42 startparent()
     43 {
     44         rm -f $lockfile
     45         echo $$ >| ${lockfile}parent
     46         while [ 1 ]
     47         do
     48                 otherpid="$(cat ${lockfile}child 2> /dev/null)"
     49                 if [ -n "$otherpid" -a -d /proc/$otherpid ]
     50                 then
     51                         return
     52                 fi
     53         done
     54 }
     55 
     56 
     57 startchild()
     58 {
     59         rm -f $lockfile
     60         echo $$ >| ${lockfile}child
     61         while [ 1 ]
     62         do
     63                 otherpid="$(cat ${lockfile}parent 2> /dev/null)"
     64                 if [ -n "$otherpid" -a -d /proc/$otherpid ]
     65                 then
     66                         return
     67                 fi
     68         done
     69 }
     70 
     71 iamgoingahead()
     72 {
     73         while [ 1 ]
     74         do
     75                 pid=`cat $lockfile 2> /dev/null`
     76                 if [ "$pid" == "$$" ]
     77                 then
     78                         return
     79                 fi
     80                 sleep 1
     81         done
     82 }
     83 
     84 
     85 goahead()
     86 {
     87         set -x
     88         echo $otherpid > $lockfile
     89         set +x
     90 }
     91 
     92 
     93 check(){
     94 	"${FS_BIND_ROOT}/bin/check_prop" $*
     95 	ret=$?
     96 	if [ $ret -ne 0 ]; then
     97 		result=$ret
     98 	fi
     99 }
    100 export result=0
    101 
    102 cleanup(){
    103 	rm -rf "disk"*
    104 }
    105