]> oss.titaniummirror.com Git - ovzbpc.git/blobdiff - esata
Change esata README filename
[ovzbpc.git] / esata
diff --git a/esata b/esata
index ba816673b693b302675986cd84109097cdabd9d5..130eb803a45396e9ddd04cc8cb37e9acc2123ae4 100755 (executable)
--- a/esata
+++ b/esata
@@ -1,61 +1,81 @@
 #!/bin/bash
 
-DEV=/dev/sdb
-MNT=/media/esata-
-DELAY=3
+DEV=/dev/sdb2
+MNT=/media/esata
+DELAY=5
+SCSIDEV=1 # This can change based on OS, etc.
 
 registered() {
     if [ -b "$DEV" ]; then
+       [ -n "$VERBOSE" ] && echo "registered"
        return 0
     else
+       [ -n "$VERBOSE" ] && echo "not registered"
        return 1
     fi
 }
 
 mounted() {
     if mount | grep -q "$MNT"; then
+       [ -n "$VERBOSE" ] && echo "mounted"
        return 0
     else
+       [ -n "$VERBOSE" ] && echo "not mounted"
        return 1
     fi
 }
 
 doregister() {
     registered && return 0
-    scsiadd -a 1 0 0 0 >/dev/null || return 1
+    [ -n "$VERBOSE" ] && echo "register SATA device"
+    scsiadd -a $SCSIDEV 0 0 0 >/dev/null || return 1
     sleep $DELAY
-    registered && return 0 || return 0
+    registered || return 1
+    [ -n "$VERBOSE" ] && echo "register ok"
+    return 0
 }
 
 domount() {
     mounted && return 0
     doregister || return 1
-    mkdir -p "${MNT}1" || return 1
-    mount ${DEV}1 ${MNT}1 || return 1
-    mkdir -p "${MNT}2" || return 1
-    mount ${DEV}2 ${MNT}2 || return 1
+    [ -n "$VERBOSE" ] && echo "mount SATA $DEV"
+    mkdir -p "$MNT" || return 1
+    mount "$DEV" "$MNT" || return 1
+    [ -n "$VERBOSE" ] && echo "mount ok"
     return 0
 }
 
 dounregister() {
     registered || return 0
-    scsiadd -r 1 0 0 0 >/dev/null || return 1
+    [ -n "$VERBOSE" ] && echo "unregister SATA device"
+    scsiadd -r $SCSIDEV 0 0 0 >/dev/null || return 1
     sleep $DELAY
-    registered && return 1 || return 0
+    registered && return 1
+    [ -n "$VERBOSE" ] && echo "unregister ok"
+    return 0
 }
 
 doumount() {
-    mounted || return 0
-    umount ${MNT}2 || return 1
-    umount ${MNT}1 || return 1
-    mounted && return 1
+    if mounted; then
+       [ -n "$VERBOSE" ] && echo "unmount SATA $DEV"
+       umount "$MNT" || return 1
+       mounted && return 1
+       [ -n "$VERBOSE" ] && echo "unmount ok"
+    fi
     dounregister || return 1
     return 0
 }
 
+# MAIN
+
+unset VERBOSE
+if [ "$1" = "-v" ]; then
+    VERBOSE=1
+    shift
+fi
 if [ "$1" = "mount" ]; then
     if domount; then
-       echo "esata is mounted"
+       echo "esata mounted on $MNT"
     else
        echo "$0: cannot mount esata" >&2
        dounregister
@@ -69,22 +89,22 @@ elif [ "$1" = "umount" -o "$1" = "unmount" ]; then
     fi
 elif [ "$1" = "register" ]; then
     if doregister; then
-       echo "esata is registered"
+       echo "esata registered as $DEV"
     else
        echo "$0: cannot register esata" >&2
        exit 1
     fi
 elif [ "$1" = "status" ]; then
     if mounted; then
-       echo "esata is mounted"
+       echo "esata mounted on $MNT"
     elif registered; then
-       echo "esata is registered but not mounted"
+       echo "esata registered as $DEV but not mounted"
     else
        echo "esata is unregistered"
     fi
     #mount | grep "$DEV"
     #scsiadd -p | grep "scsi1"
 else
-    echo "usage: $0 [mount|umount|register|status]"
+    echo "usage: $0 [-v] <mount|umount|register|status>"
 fi
 exit 0