aboutsummaryrefslogtreecommitdiffstats
path: root/fs/tabfs-wrapper
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2021-01-03 21:41:38 +0100
committertv <tv@krebsco.de>2021-01-14 23:32:24 +0100
commit8d20d5d18d8504d9e95748a15988f125593ef031 (patch)
tree2d9490e4c122daec716f3110da98d4c3d129e34e /fs/tabfs-wrapper
parent82a1d6722def33450733efdffbf94f766ba1fbf5 (diff)
add tabfs-wrapper for all things shell scripting
Diffstat (limited to 'fs/tabfs-wrapper')
-rwxr-xr-xfs/tabfs-wrapper28
1 files changed, 28 insertions, 0 deletions
diff --git a/fs/tabfs-wrapper b/fs/tabfs-wrapper
new file mode 100755
index 0000000..9116a52
--- /dev/null
+++ b/fs/tabfs-wrapper
@@ -0,0 +1,28 @@
+#! /bin/sh
+set -efu
+
+# allow wrapper to find tabfs executable
+PATH=$(dirname "$0")${PATH:+:$PATH}
+
+pgrep tabfs | grep -v ^$$\$ | xargs kill -9 2>/dev/null || :
+
+OS=$(uname -s)
+case $OS in
+ Darwin)
+ diskutil umount force mnt >/dev/null || :
+ extraArgs=
+ ;;
+ FreeBSD)
+ umount -f mnt 2>/dev/null || :
+ extraArgs=
+ ;;
+ Linux)
+ fusermount -u mnt 2>/dev/null || :
+ extraArgs=-oauto_unmount
+ ;;
+ *)
+ echo "tabfs-wrapper: error: unknown OS: $OS" >&2
+ exit 2
+esac
+
+exec tabfs -f $extraArgs -odirect_io mnt