aboutsummaryrefslogtreecommitdiffstats
path: root/fs/tabfs-wrapper
blob: 9116a5249f39b9f6db6ab780369e3e437b6287b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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