Changeset 695
- Timestamp:
- Nov 11, 2007 4:30:07 AM (6 years ago)
- File:
-
- 1 edited
-
trunk/vblade-persist/src/vblade-persist (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/vblade-persist/src/vblade-persist
r694 r695 12 12 13 13 usage() { 14 echo "usage: vblade-persist setup SHELF SLOT NETIF SOURCE" 15 echo " vblade-persist ls" 14 echo "usage: vblade-persist ls" 16 15 echo " vblade-persist start|stop|restart|auto|noauto SHELF SLOT" 17 16 echo " vblade-persist start|stop|restart|auto|noauto all" 17 echo " vblade-persist setup SHELF SLOT NETIF SOURCE" 18 echo " vblade-persist destroy SHELF SLOT" 19 echo " vblade-persist mac SHELF SLOT" 20 echo " vblade-persist mac SHELF SLOT clear" 21 echo " vblade-persist mac SHELF SLOT add [MAC ...] " 22 echo " vblade-persist mac SHELF SLOT del [MAC ...] " 18 23 } 19 24 … … 67 72 68 73 setup() { 69 SHELF="$1"70 SLOT="$2"71 NETIF="$3"72 SOURCE="$4"74 local SHELF="$1" 75 local SLOT="$2" 76 local NETIF="$3" 77 local SOURCE="$4" 73 78 74 79 verify_shelf "$SHELF" || fatal "not a valid shelf: '$SHELF'" … … 77 82 verify_source "$SOURCE" || fatal "not a valid source: '$SOURCE'" 78 83 79 DNAME="e$SHELF.$SLOT"84 local DNAME="e$SHELF.$SLOT" 80 85 81 86 mkdir "$VDIR/$DNAME" || fatal "Could not create directory '$VDIR/$DNAME'" … … 100 105 } 101 106 107 destroy() { 108 local SHELF="$1" 109 local SLOT="$2" 110 verify_shelf "$SHELF" || fatal "Not a valid shelf: '$SHELF'" 111 verify_slot "$SLOT" || fatal "Not a valid slot: '$SLOT'" 112 113 local DNAME="e$SHELF.$SLOT" 114 local DPATH="$VDIR/$DNAME" 115 verify_vblade_persist_path "$DPATH" || fatal "'`basename $DPATH`' is not a vblade-persist-managed export." 116 117 rm -f "/var/lib/service/vblade-$DNAME" 118 sv exit "$DPATH" 119 rm -rf "$DPATH" 120 } 121 102 122 103 123 list() { … … 111 131 svcommand() { 112 132 require_sv 113 CMD="$1"114 SVDIR="$2"115 verify_vblade_persist_path "$SVDIR" || fatal " This is not a vblade-persist path"133 local CMD="$1" 134 local SVDIR="$2" 135 verify_vblade_persist_path "$SVDIR" || fatal "'`basename $DPATH`' is not a vblade-persist-managed export" 116 136 sv "$CMD" "$SVDIR" 117 137 } … … 119 139 120 140 auto() { 121 verify_vblade_persist_path "$2" || fatal " This is not a vblade-persist path"141 verify_vblade_persist_path "$2" || fatal "'`basename $DPATH`' is not a vblade-persist-managed export" 122 142 if [ "$1" == "auto" ] ; then 123 143 rm -f "$2/down" … … 128 148 129 149 autoall() { 130 AUTO="$1"150 local AUTO="$1" 131 151 for dev in `ls "$VDIR"` ; do 132 152 auto "$AUTO" "$VDIR/$dev" … … 136 156 svall() { 137 157 require_sv 138 CMD="$1"158 local CMD="$1" 139 159 for dev in `ls "$VDIR"` ; do 140 160 svcommand "$CMD" "$VDIR/$dev" … … 142 162 } 143 163 164 mac() { 165 local SHELF="$1" 166 shift 167 local SLOT="$1" 168 shift 169 170 verify_shelf "$SHELF" || fatal "Not a valid shelf: '$SHELF'" 171 verify_slot "$SLOT" || fatal "Not a valid slot: '$SLOT'" 172 173 local DPATH="$VDIR/e$SHELF.$SLOT" 174 verify_vblade_persist_path "$DPATH" || fatal "'`basename $DPATH`' is not a vblade-persist-managed export." 175 176 local CHANGES=no 177 178 local CMD="$1" 179 case "$CMD" in 180 clear) 181 if (ls "$DPATH/macs/" | grep -q ^.) ; then 182 rm -f "$DPATH"/macs/* 183 CHANGES=yes 184 fi 185 ;; 186 add) 187 shift 188 for mac in "$@"; do 189 if [ ! -e "$DPATH/macs/$mac" ] ; then 190 touch "$DPATH/macs/$mac" 191 CHANGES=yes 192 fi 193 done 194 ;; 195 del) 196 shift 197 for mac in "$@"; do 198 if [ -e "$DPATH/macs/$mac" ] ; then 199 rm -f "$DPATH/macs/$mac" 200 CHANGES=yes 201 fi 202 done 203 ;; 204 *) 205 ls -1 "$DPATH/macs/" 206 ;; 207 esac 208 209 # restart the vblade upon change 210 if [ "$CHANGES" == "yes" ] && [ `cat "$DPATH/supervise/stat"` == "run" ] ; then 211 sv restart "$DPATH" 212 fi 213 } 214 144 215 case "$1" in 145 216 setup) 146 217 setup "$2" "$3" "$4" "$5" 218 ;; 219 destroy) 220 destroy "$2" "$3" 147 221 ;; 148 222 l*) … … 167 241 fi 168 242 ;; 243 mac) 244 shift 245 mac "$@" 246 ;; 169 247 *) 170 248 usage
Note: See TracChangeset
for help on using the changeset viewer.

