diff --git a/etc/rc b/etc/rc index 717a3395409d..413f50dc4592 100644 --- a/etc/rc +++ b/etc/rc @@ -261,8 +261,15 @@ esac umount -a >/dev/null 2>&1 -# Mount everything except nfs filesystems. -mount -a -t nonfs +# Mount everything except remote filesystems. +remotefs_types='nfs:NFS smbfs:SMB' +mount_excludes='no' +for i in ${remotefs_types}; do + fstype=${i%:*} + mount_excludes="${mount_excludes}${fstype}," +done +mount_excludes=${mount_excludes%,} +mount -a -t ${mount_excludes} case $? in 0) @@ -397,14 +404,18 @@ case ${ipv6_enable} in ;; esac -# Mount NFS filesystems if present in /etc/fstab -case "`mount -d -a -t nfs 2> /dev/null`" in -*mount_nfs*) - echo -n 'Mounting NFS file systems:' - mount -a -t nfs - echo '.' - ;; -esac +# Mount remote filesystems if present in /etc/fstab +for i in ${remotefs_types}; do + fstype=${i%:*} + fsdecr=${i#*:} + case "`mount -d -a -t ${fstype}`" in + *mount_${fstype}*) + echo -n "Mounting ${fsdecr} file systems:" + mount -a -t ${fstype} + echo '.' + ;; + esac +done # Whack the pty perms back into shape. #