$OpenBSD: patch-scripts_mtx-changer_in,v 1.3 2008/10/19 03:44:42 merdely Exp $
--- scripts/mtx-changer.in.orig	Wed Jul  2 16:49:44 2008
+++ scripts/mtx-changer.in	Tue Jul  1 19:28:12 2008
@@ -2,3 +2,3 @@
 #
-# Bacula interface to mtx autoloader
+# Bacula interface to chio autoloader
 #
@@ -39,10 +39,10 @@
 #    e.g.   mt -f $4 offline
 #
 #  Many changers need an offline after the unload. Also many
-#   changers need a sleep 60 after the mtx load.
+#   changers need a sleep 60 after the chio load.
 #
 #  N.B. If you change the script, take care to return either 
-#   the mtx exit code or a 0. If the script exits with a non-zero
+#   the chio exit code or a 0. If the script exits with a non-zero
 #   exit code, Bacula will assume the request failed.
 #
 
@@ -173,17 +173,17 @@ debug "Parms: $ctl $cmd $slot $device $drive"
 
 case $cmd in 
    unload)
-      debug "Doing mtx -f $ctl unload $slot $drive"
+      debug "Doing chio -f $ctl move drive $drive slot $slot"
 #
 # enable the following line if you need to eject the cartridge
 #     mt -f $device offline
 #     sleep 10
-      ${MTX} -f $ctl unload $slot $drive
+      ${MTX} -f $ctl move drive $drive slot $slot
       ;;
 
    load)
-      debug "Doing mtx -f $ctl load $slot $drive"
-      ${MTX} -f $ctl load $slot $drive
+      debug "Doing chio -f $ctl move slot $slot drive $drive"
+      ${MTX} -f $ctl move slot $slot drive $drive
       rtn=$?
 #
 # Increase the sleep time if you have a slow device
@@ -194,36 +194,37 @@ case $cmd in 
       ;;
 
    list) 
-      debug "Doing mtx -f $ctl -- to list volumes"
+      debug "Doing chio -f $ctl status -- to list volumes"
       make_temp_file
 # Enable the following if you are using barcodes and need an inventory
 #     ${MTX} -f $ctl inventory
       ${MTX} -f $ctl status >${TMPFILE}
       rtn=$?
-      cat ${TMPFILE} | grep " Storage Element [0-9]*:.*Full" | awk "{print \$3 \$4}" | sed "s/Full *\(:VolumeTag=\)*//"
+      cat ${TMPFILE} | grep " *slot [0-9]*: <ACCESS,.*FULL.*>" | awk "{print \$2 \$4 \$5 \$6 \$7 \$8}"
 #
 # If you have a VXA PacketLoader and the above does not work, try
 #  turning it off and enabling the following line.
 #     cat ${TMPFILE} | grep " *Storage Element [0-9]*:.*Full" | sed "s/ Storage Element //" | sed "s/Full :VolumeTag=//"
 #
-      cat ${TMPFILE} | grep "^Data Transfer Element [0-9]*:Full (Storage Element [0-9]" | awk '{printf "%s:%s\n",$7,$10}'
+      cat ${TMPFILE} | grep " *drive [0-9]*: <.*FULL.*>" | awk "{print \$2 \$4 \$5 \$6 \$7 \$8}" | sed "s/^/D/"
       rm -f ${TMPFILE} >/dev/null 2>&1
       exit $rtn
       ;;
 
    loaded)
-      debug "Doing mtx -f $ctl $drive -- to find what is loaded"
+      debug "Doing chio -f $ctl status -- to find what is loaded"
       make_temp_file
       ${MTX} -f $ctl status >${TMPFILE}
       rtn=$?
-      cat ${TMPFILE} | grep "^Data Transfer Element $drive:Full" | awk "{print \$7}"
-      cat ${TMPFILE} | grep "^Data Transfer Element $drive:Empty" | awk "{print 0}"
+      cat ${TMPFILE} | grep " *drive $drive: <.*FULL.*>" | awk "{print \$4}" | sed "s/^\[//" | sed "s/=\]$//"
+      cat ${TMPFILE} | grep " *drive $drive: <.*FULL.*>" > /dev/null 2>&1
+      if [ $? != 0 ]; then echo 0; fi
       rm -f ${TMPFILE} >/dev/null 2>&1
       exit $rtn
       ;;
 
    slots)
-      debug "Doing mtx -f $ctl -- to get count of slots"
-      ${MTX} -f $ctl status | grep " *Storage Changer" | awk "{print \$5}"
+      debug "Doing chio -f $ctl status -- to get count of slots"
+      ${MTX} -f $ctl status | grep -c "slot [0-9]*"
       ;;
 esac
