From 7d384a730d948641100cfd48e162ca4e46dcf75e Mon Sep 17 00:00:00 2001 From: trasz Date: Fri, 13 Mar 2015 12:44:46 +0000 Subject: [PATCH] Add -noauto autofs map, for automatic handling of fstab entries marked "noauto". MFC after: 1 month Sponsored by: The FreeBSD Foundation --- etc/auto_master | 1 + etc/autofs/Makefile | 2 +- etc/autofs/special_noauto | 29 +++++++++++++++++++++++++++++ usr.sbin/autofs/auto_master.5 | 7 ++++++- 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100755 etc/autofs/special_noauto diff --git a/etc/auto_master b/etc/auto_master index 0083b1824bc0..255b7f861b84 100644 --- a/etc/auto_master +++ b/etc/auto_master @@ -6,3 +6,4 @@ # When using the -media special map, make sure to edit devd.conf(5) # to move the call to "automount -c" out of the comments section. #/media -media -nosuid +#/- -noauto diff --git a/etc/autofs/Makefile b/etc/autofs/Makefile index 3aa7e0307a74..6d1c9e85d30b 100644 --- a/etc/autofs/Makefile +++ b/etc/autofs/Makefile @@ -1,6 +1,6 @@ # $FreeBSD$ -FILES= include_ldap special_hosts special_media special_null +FILES= include_ldap special_hosts special_media special_noauto special_null NO_OBJ= FILESDIR= /etc/autofs diff --git a/etc/autofs/special_noauto b/etc/autofs/special_noauto new file mode 100755 index 000000000000..219ec7ea6994 --- /dev/null +++ b/etc/autofs/special_noauto @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +print_available() { + sed 's/#.*//' /etc/fstab | awk '$4 ~ /noauto/ { print $2 }' +} + +print_one() { + local _mntpoint + + _mntpoint="${1%/}" + + sed 's/#.*//' /etc/fstab | awk ' + $2 == "'"${_mntpoint}"'" && $4 ~ /noauto/ { + if ($1 ~ /:/) { dev=$1 } else { dev=":"$1 } + print "-fstype=" $3 "," $4, dev + }' +} + +if [ $# -eq 0 ]; then + print_available + exit 0 +fi + +print_one "$1" +exit 0 + diff --git a/usr.sbin/autofs/auto_master.5 b/usr.sbin/autofs/auto_master.5 index 5aa389e3ab90..89100f75faf5 100644 --- a/usr.sbin/autofs/auto_master.5 +++ b/usr.sbin/autofs/auto_master.5 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 9, 2015 +.Dd March 13, 2015 .Dt AUTO_MASTER 5 .Os .Sh NAME @@ -260,6 +260,11 @@ when they are automatically created. .It Li -media Query devices that are not yet mounted, but contain valid filesystems. Generally used to access files on removable media. +.It Li -noauto +Mount filesystems configured in +.Xr fstab 5 +as "noauto". +This needs to be set up as a direct map. .It Li -null Prevent .Xr automountd 8