From owner-svn-src-all@freebsd.org Mon May 30 19:59:52 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C0C18B55B76; Mon, 30 May 2016 19:59:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 79A271EFB; Mon, 30 May 2016 19:59:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4UJxp1U037685; Mon, 30 May 2016 19:59:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4UJxp0o037683; Mon, 30 May 2016 19:59:51 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605301959.u4UJxp0o037683@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 30 May 2016 19:59:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r301004 - head/etc/rc.d X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2016 19:59:52 -0000 Author: ngie Date: Mon May 30 19:59:51 2016 New Revision: 301004 URL: https://svnweb.freebsd.org/changeset/base/301004 Log: Fix circular dependency created after r287197 between ldconfig and mountcritremote ldconfig is already required by mountcritremote indirectly, as noted by rcorder: > rcorder: Circular dependency on provision `mountcritremote' in file `ldconfig'. Having mountcritremote REQUIRE ldconfig breaks dependency ordering. Making the ldconfig hints be conditionally regenerated from mountcritremote when remote filesystems are mounted is done after this change, similar to cleanvar being conditionally called after the change. Differential Revision: https://reviews.freebsd.org/D6621 PR: 202726 Reviewed by: jilles Sponsored by: EMC / Isilon Storage Division Modified: head/etc/rc.d/ldconfig head/etc/rc.d/mountcritremote Modified: head/etc/rc.d/ldconfig ============================================================================== --- head/etc/rc.d/ldconfig Mon May 30 19:32:56 2016 (r301003) +++ head/etc/rc.d/ldconfig Mon May 30 19:59:51 2016 (r301004) @@ -4,7 +4,7 @@ # # PROVIDE: ldconfig -# REQUIRE: mountcritremote FILESYSTEMS +# REQUIRE: FILESYSTEMS # BEFORE: DAEMON . /etc/rc.subr Modified: head/etc/rc.d/mountcritremote ============================================================================== --- head/etc/rc.d/mountcritremote Mon May 30 19:32:56 2016 (r301003) +++ head/etc/rc.d/mountcritremote Mon May 30 19:59:51 2016 (r301004) @@ -35,12 +35,15 @@ mountcritremote_precmd() mountcritremote_start() { + local mounted_remote_filesystem=false + # Mount nfs filesystems. # case "`/sbin/mount -d -a -t nfs`" in '') ;; *) + mounted_remote_filesystem=true echo -n 'Mounting NFS filesystems:' mount -a -t nfs echo '.' @@ -64,6 +67,7 @@ mountcritremote_start() case "`mount -d -a -t ${fstype}`" in *mount_${fstype}*) + mounted_remote_filesystem=true echo -n "Mounting ${fsdecr} filesystems:" mount -a -t ${fstype} echo '.' @@ -71,9 +75,15 @@ mountcritremote_start() esac done - # Cleanup /var again just in case it's a network mount. - /etc/rc.d/cleanvar quietreload - rm -f /var/run/clean_var /var/spool/lock/clean_var + if $mounted_remote_filesystem; then + # Cleanup /var again just in case it's a network mount. + /etc/rc.d/cleanvar quietreload + rm -f /var/run/clean_var /var/spool/lock/clean_var + + # Regenerate the ldconfig hints in case there are additional + # library paths on remote file systems + /etc/rc.d/ldconfig quietstart + fi } load_rc_config $name