xpath=$1
xstatus=$2
xparams=$(xenstore-read "$xpath/params")
-if [ -b "$xparams" ]; then
- xtype="phy"
-elif [ -f "$xparams" ]; then
- xtype="file"
-elif [ -z "$xparams" ]; then
- error "$xpath/params is empty, unable to attach block device."
-else
- error "$xparams is not a valid file type to use as block device." \
- "Only block and regular image files accepted."
-fi
case $xstatus in
6)
# device removed
- case $xtype in
- file)
- vnd=$(xenstore-read "$xpath/vnd" || echo none)
- if [ $vnd != none ]; then
- vnconfig -u $vnd
- fi
- ;;
- phy)
- ;;
- *)
- echo "unknown type $xtype" >&2
- ;;
- esac
+ vnd=$(xenstore-read "$xpath/vnd" || echo none)
+ if [ $vnd != none ]; then
+ vnconfig -u $vnd
+ fi
xenstore-rm $xpath
exit 0
;;
2)
+ if [ -b "$xparams" ]; then
+ xtype="phy"
+ elif [ -f "$xparams" ]; then
+ xtype="file"
+ elif [ -z "$xparams" ]; then
+ error "$xpath/params is empty, unable to attach block device."
+ else
+ error "$xparams is not a valid file type to use as block device." \
+ "Only block and regular image files accepted."
+ fi
case $xtype in
file)
# Store the list of available vnd(4) devices in