Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 238688 - [patch] net-misc/ipx-utils - ipx init.d script stop leaves ncpfs filesystems mounted - therefore shutdown later hangs
Summary: [patch] net-misc/ipx-utils - ipx init.d script stop leaves ncpfs filesystems ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2008-09-25 19:59 UTC by Laszlo Valko
Modified: 2012-02-11 14:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Laszlo Valko 2008-09-25 19:59:48 UTC
At shutdown, the ipx script under /etc/init.d stops all ipx interfaces, the netmount script unmounts all network filesystems.
There is no dependency between them, so usually ipx stops before netmount could unmount the ncpfs filesystems.
In case there were any ncpfs filesystems mounted over ipx, this results in a hanged shutdown, as ncpfs unmount will wait indefinitely for the unmounting to happen, which cannot happen, since all the ipx interfaces have already been deleted. Forced unmount is not possible for ncpfs, it simply doesn't do anything.

This probably should be fixed in the kernel (implementing forced unmount), but until that happens, Gentoo Linux should change the shutdown order, and unmount ncpfs filesystems before stopping the ipx interfaces.

Either some kind of shutdown dependency is needed, or, as a poor-man's solution, /etc/init.d/ipx should unmount all ncpfs filesystems before proceeding the stop the interfaces.
Something like this:
@@ -34,6 +34,7 @@
        local retval=0
        
        ebegin "Bringing IPX down"
+       /bin/umount -v -a -tncpfs
        /sbin/ipx_configure --auto_primary=off --auto_interface=off
        retval=$?
        /sbin/ipx_interface delall


Reproducible: Always

Steps to Reproduce:
1. configure ipx networking
2. ncpmount something from a remote server over ipx
3. shutdown

Actual Results:  
system shuts down

Expected Results:  
system hangs at unmounting filesystems
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-09-26 14:50:42 UTC
Please post your `emerge --info' too.
Comment 2 Laszlo Valko 2008-09-26 16:43:05 UTC
Portage 2.1.4.4 (default-linux/x86/2007.0/server, gcc-3.4.6, glibc-2.6.1-r0, 2.6.25-hardened-r5 i686)
=================================================================
System uname: 2.6.25-hardened-r5 i686 AMD Athlon(TM) XP 2600+
Timestamp of tree: Thu, 25 Sep 2008 19:30:02 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php4/ext-active/ /etc/php/apache2
-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild 
/etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo/"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exc
lude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/vmware"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d aac acl acpi alsa apache2 berkdb bluetooth browserplugin bzip2 bzlib caps cgi cli cracklib crypt ctype cups curl dri dvd dvdr encode esd ethereal exif fbcon flac ftp gd gdbm gif gphoto2 gpm gtk gtk2 hash iconv imagemagick imap irda isdnlog java jce jpeg ldap ldapsam loop-aes mad maildir maildrop mailwrapper memlimit midi mikmod mime mmap mmx motif mozilla mp3 mpm-prefork mysql mysqli ncurses nls no-helper nptl nptlonly nsplugin oav ogg opengl openmp pam pcmcia pcntl pcre perl php png pppd procmail quotas readline reflection samba sasl sdl session slang snmp soap sockets socks5 spl sse ssl suexec sysvipc tcltk tcpd tiff truetype unicode usb vorbis win32codecs wmf x86 xml xml2 xmlreader xmlwriter xorg xpm xsl xv zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug  rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_de fault authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="i810 i830 radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 3 Pacho Ramos gentoo-dev 2012-02-11 12:44:36 UTC
Is this still needed with baselayout-2 and openrc?
Comment 4 Laszlo Valko 2012-02-11 13:29:49 UTC
(In reply to comment #3)
> Is this still needed with baselayout-2 and openrc?

Well, *something* is needed. Since nothing changed wrt this init script, the result is the same with baselayout-2 and openrc.
Comment 5 Pacho Ramos gentoo-dev 2012-02-11 14:32:40 UTC
+*ipx-utils-1.1-r3 (11 Feb 2012)
+
+  11 Feb 2012; Pacho Ramos <pacho@gentoo.org> +files/ipx.init-r1,
+  +ipx-utils-1.1-r3.ebuild:
+  Fix init script, bug #238688 by Laszlo Valko.
+