aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2008-09-16 10:04:35 +0200
committerHarald Hoyer <harald@redhat.com>2008-09-16 10:38:10 +0200
commit58ddef0ad76b02840d6cf8babb0d036f1a1f1c83 (patch)
treed271b09ec41bc49f36a7c45baa9e0f56b979932d
parenta31538409a960560f35494ff30a6181f16d1d6de (diff)
downloadinitscripts-58ddef0ad76b02840d6cf8babb0d036f1a1f1c83.tar
initscripts-58ddef0ad76b02840d6cf8babb0d036f1a1f1c83.tar.gz
initscripts-58ddef0ad76b02840d6cf8babb0d036f1a1f1c83.tar.bz2
initscripts-58ddef0ad76b02840d6cf8babb0d036f1a1f1c83.tar.xz
initscripts-58ddef0ad76b02840d6cf8babb0d036f1a1f1c83.zip
https://bugzilla.redhat.com/show_bug.cgi?id=452866
The _netdev option is used in /etc/fstab to mark devices that depend on the network for operation. This causes the initscripts to defer mounting file systems located on these devices until the network is brought up and the netfs initscript runs. Device nodes for these devices (nbd, gnbd, iscsi etc.) are created by udev once the appropriate subsystem is started. Processing of the udev backlog may not have completed by the time the netfs script runs causing failures to occur when attempting to mount file systems. This can happen when there are a large number of devices or when device initialisation is slow. This is fixed by adding a udevsettle to the start() function in netfs.
-rwxr-xr-xrc.d/init.d/netfs2
1 files changed, 2 insertions, 0 deletions
diff --git a/rc.d/init.d/netfs b/rc.d/init.d/netfs
index 105b97f9..3a932145 100755
--- a/rc.d/init.d/netfs
+++ b/rc.d/init.d/netfs
@@ -35,6 +35,8 @@ NETDEVMTAB=`LC_ALL=C awk '$4 ~ /_netdev/ && $2 != "/" { print $2 }' /etc/mtab`
# See how we were called.
case "$1" in
start)
+ # Let udev handle any backlog before trying to mount file systems
+ /sbin/udevsettle --timeout=30
[ -n "$NFSFSTAB" ] &&
{
[ ! -f /var/lock/subsys/portmap ] && service portmap start