From 0f96d2b308e92d8d1c8d9f9cc10c82e0d7f5c4b194c17c7bba78cb02ab004681 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Tue, 9 Mar 2010 23:31:02 +0000 Subject: [PATCH] Accepting request 34462 from Base:System Copy from Base:System/nfs-utils based on submit request 34462 from user neilbrown OBS-URL: https://build.opensuse.org/request/show/34462 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nfs-utils?expand=0&rev=53 --- nfs-utils.changes | 13 +++++++++++++ nfs-utils.spec | 4 ++-- nfs.init | 15 +++++++++++++-- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/nfs-utils.changes b/nfs-utils.changes index 4483717..3acc902 100644 --- a/nfs-utils.changes +++ b/nfs-utils.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Mar 9 21:18:22 UTC 2010 - nfbrown@novell.com + +- init.nfs: also call 'udevadm settle' when mounting things + other than /usr and /opt. bnc#571540 + +------------------------------------------------------------------- +Tue Feb 23 22:15:18 UTC 2010 - nfbrown@novell.com + +- init.nfs: if mounting /usr fails, call "udevadm settle" + and try again incase network interfaces are still + appearing. bnc#571540 + ------------------------------------------------------------------- Sun Nov 29 22:03:26 UTC 2009 - nfbrown@novell.com diff --git a/nfs-utils.spec b/nfs-utils.spec index 399cd96..a25455b 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -1,7 +1,7 @@ # # spec file for package nfs-utils (Version 1.2.1) # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,7 +27,7 @@ BuildRequires: libevent Url: http://nfs.sourceforge.net Summary: Support Utilities for Kernel nfsd Version: 1.2.1 -Release: 2 +Release: 3 Group: Productivity/Networking/NFS License: GPLv2+ BuildRoot: %{_tmppath}/%{name}-%{version}-build diff --git a/nfs.init b/nfs.init index 0a281e5..a1c851f 100644 --- a/nfs.init +++ b/nfs.init @@ -134,7 +134,11 @@ mount_usr() { test -n "$usr" -o -n "$opt" || return local where for where in $usr $opt ; do - mount -o nolock $where + mount -o nolock $where || { + # maybe network device hasn't appeared yet. + udevadm settle + mount -o nolock $where + } done } @@ -223,7 +227,14 @@ case "$1-$nfs" in # sleep 2 && mount -at nfs,nfs4 & # sleep 2 # - if test "$nfs" = yes ; then + if test -n "$mnt" ; then + # If network devices are not yet discovered, mounts + # might fail, so we might need to 'udevadm settle' to + # wait for the interfaces. + # We cannot try the mount and on failure: 'settle' and try again + # as if there are 'bg' mounts, we could get multiple copies + # of them. So always 'settle' if there is any mounting to do. + udevadm settle mount -at nfs,nfs4 > /dev/null 2>&1 fi #