Karel Zak (k...@redhat.com) said: > On Tue, Nov 29, 2011 at 12:18:03PM -0500, Bill Nottingham wrote: > > Jeremy Sanders (jer...@jeremysanders.net) said: > > > > What are you using for networking - the old network service or > > > > NetworkManager? > > > > > > The old network service. The root device is cloned from a non-iscsi > > > installation, however, as kickstart didn't like to install onto a non- > > > partitioned iscsi device: > > > https://bugzilla.redhat.com/show_bug.cgi?id=757106 > > > I thought that the _netdev option would be sufficient to get the ordering > > > correct. > > > > Ah, crud. The issue is that we're checking /etc/mtab for _netdev, which is > > now /proc/mounts, which doesn't transfer over random options such as these > > into its data store. > > > > So, we either need it to start doing that (cc: kzak), or we need to have th > > code cross-reference devices against /etc/fstab. > > > > libmount manages the option _netdev in userspace (in /run/mount/utab -- but > this > private libmount file is not part of any API, so don't read it), use > findmnt(8): > > $ grep _netdev /etc/fstab > /dev/sdb1 /mnt ext3 defaults,_netdev 0 > > $ findmnt --mtab /mnt > TARGET SOURCE FSTYPE OPTIONS > /mnt /dev/sdb1 ext3 > rw,relatime,errors=continue,barrier=0,data=ordered,_netdev > > $ mount | grep /mnt > /dev/sdb1 on /mnt type > ext3(rw,relatime,errors=continue,barrier=0,data=ordered,_netdev) > > Note that things like _netdev are ugly hacks, it would be nice to found a > better way how mark/detect some specific devices.
It would be nice, yes. In the meantime, Jeremy, can you try the attached patch? Bill
diff --git a/rc.d/init.d/network b/rc.d/init.d/network index c6b86c3..e6ac38e 100755 --- a/rc.d/init.d/network +++ b/rc.d/init.d/network @@ -174,12 +174,11 @@ case "$1" in [ "$EUID" != "0" ] && exit 4 # Don't shut the network down if root is on NFS or a network # block device. - rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/" && $3 != "rootfs") { print $3; }}' /proc/mounts) - rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' /etc/mtab) - - if [[ "$rootfs" == nfs* || "$rootopts" =~ _r?netdev ]] ; then - exit 1 - fi + findmnt -m -n -o fstype,options / | while read rootfs rootopts; do + if [[ "$rootfs" == nfs* || "$rootopts" =~ _r?netdev ]] ; then + exit 1 + fi + done # If this is a final shutdown/halt, check for network FS, # and unmount them even if the user didn't turn on netfs
-- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel