diff options
author | trasz <trasz@FreeBSD.org> | 2016-03-18 09:54:09 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2016-03-18 09:54:09 +0000 |
commit | 95d1cabc954099587e5ef7bcd0108dff7a626e9f (patch) | |
tree | 0870be07a85f0033af949c406740b666c3eff3e0 | |
parent | a91bf03696a25f106fee4516931b8ed90a2f4547 (diff) | |
download | FreeBSD-src-95d1cabc954099587e5ef7bcd0108dff7a626e9f.zip FreeBSD-src-95d1cabc954099587e5ef7bcd0108dff7a626e9f.tar.gz |
Add a special case for NTFS to the -media autofs(5) map.
Submitted by: lme@ (earlier version)
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
-rwxr-xr-x | etc/autofs/special_media | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/etc/autofs/special_media b/etc/autofs/special_media index 65bcf5a..1e2c255 100755 --- a/etc/autofs/special_media +++ b/etc/autofs/special_media @@ -32,6 +32,26 @@ print_available() { } # Print a single map entry. +print_map_entry() { + local _fstype _p + + _fstype="$1" + _p="$2" + + if [ "${_fstype}" = "ntfs" ]; then + if [ -f "/usr/local/bin/ntfs-3g" ]; then + echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid :/dev/${_p}" + else + /usr/bin/logger -p info -t "special_media[$$]" \ + "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first" + exit 1 + fi + else + echo "-fstype=${_fstype},nosuid :/dev/${_p}" + fi +} + +# Determine map entry contents for the given key and print out the entry. print_one() { local _fstype _fstype_and_label _label _key _p @@ -39,7 +59,7 @@ print_one() { _fstype="$(fstyp "/dev/${_key}" 2> /dev/null)" if [ $? -eq 0 ]; then - echo "-fstype=${_fstype},nosuid :/dev/${_key}" + print_map_entry "${_fstype}" "${_key}" return fi @@ -67,7 +87,7 @@ print_one() { continue fi - echo "-fstype=${_fstype},nosuid :/dev/${_p}" + print_map_entry "${_fstype}" "${_p}" done # No matching device - don't print anything, autofs will handle it. |