localmount/netmount: allow mount points to be marked critical
In previous releases, we either treated no mount points as critical or all of them. Now both localmount and netmount support a critical_mounts setting. If mount points listed in this setting fail to mount, localmount and netmount will fail.
This commit is contained in:
@@ -22,7 +22,7 @@ depend()
|
||||
start()
|
||||
{
|
||||
# Mount local filesystems in /etc/fstab.
|
||||
local types="noproc" x= no_netdev= rc=
|
||||
local critical= types="noproc" x= no_netdev= rc=
|
||||
for x in $net_fs_list $extra_net_fs_list; do
|
||||
types="${types},no${x}"
|
||||
done
|
||||
@@ -37,13 +37,13 @@ start()
|
||||
mount -at "$types" $no_netdev
|
||||
eend $? "Some local filesystem failed to mount"
|
||||
rc=$?
|
||||
if [ "$RC_UNAME" != Linux ]; then
|
||||
rc=0
|
||||
elif yesno "${ignore_mount_errors:-NO}"; then
|
||||
if [ $rc -ne 0 ]; then
|
||||
ewarn "localmount: errors detected, but ignored"
|
||||
fi
|
||||
if [ -z "$critical_mounts" ]; then
|
||||
rc=0
|
||||
else
|
||||
for x in ${critical_mounts}; do
|
||||
mountinfo -q $x || critical=x
|
||||
done
|
||||
[-z "$critical" ] && rc=0
|
||||
fi
|
||||
return $rc
|
||||
}
|
||||
|
@@ -42,8 +42,13 @@ start()
|
||||
rc=$?
|
||||
fi
|
||||
ewend $rc "Could not mount all network filesystems"
|
||||
if [ "$RC_UNAME" != Linux ]; then
|
||||
if [ -z "$critical_mounts" ]; then
|
||||
rc=0
|
||||
else
|
||||
for x in ${critical_mounts}; do
|
||||
mountinfo -q $x || critical=x
|
||||
done
|
||||
[-z "$critical" ] && rc=0
|
||||
fi
|
||||
return $rc
|
||||
}
|
||||
|
Reference in New Issue
Block a user