aboutsummaryrefslogtreecommitdiffstats
path: root/fs/tabfs-wrapper
diff options
context:
space:
mode:
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