From 26af5ed1db81d29a59eb93cd9860d246d8dfa6a2 Mon Sep 17 00:00:00 2001 From: Leon Woestenberg Date: Tue, 29 Dec 2009 23:49:18 +0100 Subject: netbase/init: Do not run 'ifup -a' if root is network mounted. 'ifup -a' makes a NFS mounted rootfs dissappear underneath us, so add detection of such rootfs and do not (de)configure. Signed-off-by: Leon Woestenberg --- recipes/netbase/netbase/init | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'recipes/netbase') diff --git a/recipes/netbase/netbase/init b/recipes/netbase/netbase/init index acc26cba61..227f6ffcb9 100644 --- a/recipes/netbase/netbase/init +++ b/recipes/netbase/netbase/init @@ -62,17 +62,27 @@ doopt () { case "$1" in start) - # /etc/sysctl.conf is preferred - if [ ! -f /etc/sysctl.conf ]; then - doopt spoofprotect yes - doopt syncookies no - doopt ip_forward no - fi - - echo -n "Configuring network interfaces... " - ifup -a - echo "done." - ;; + if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | + grep -q "^/ nfs$"; then + echo "NOT configuring network interfaces: / is an NFS mount" + elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | + grep -q "^/ smbfs$"; then + echo "NOT configuring network interfaces: / is an SMB mount" + elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts | + grep -qE '^(nfs|smbfs|ncp|coda)$'; then + echo "NOT configuring network interfaces: network shares still mounted." + else + echo -n "Configuring network interfaces... " + ifup -a + echo "done." + # /etc/sysctl.conf is preferred + if [ ! -f /etc/sysctl.conf ]; then + doopt spoofprotect yes + doopt syncookies no + doopt ip_forward no + fi + fi + ;; stop) if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | grep -q "^/ nfs$"; then -- cgit v1.2.3