summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2016-03-18 09:54:09 +0000
committertrasz <trasz@FreeBSD.org>2016-03-18 09:54:09 +0000
commit95d1cabc954099587e5ef7bcd0108dff7a626e9f (patch)
tree0870be07a85f0033af949c406740b666c3eff3e0 /etc
parenta91bf03696a25f106fee4516931b8ed90a2f4547 (diff)
downloadFreeBSD-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
Diffstat (limited to 'etc')
-rwxr-xr-xetc/autofs/special_media24
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.
OpenPOWER on IntegriCloud