Date: Sun, 13 Apr 1997 23:13:14 +0400 (MSD) From: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/3276: unmount DEVFS ==> panic: unmount: dangling vnode Message-ID: <199704131913.XAA00844@tejblum.dnttm.rssi.ru> Resent-Message-ID: <199704131920.MAA19796@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 3276 >Category: kern >Synopsis: unmount DEVFS ==> panic: unmount: dangling vnode >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 13 12:20:03 PDT 1997 >Last-Modified: >Originator: Dmitrij Tejblum >Organization: >Release: FreeBSD 3.0-CURRENT i386 >Environment: FreeBSD tejblum.dnttm.rssi.ru 3.0-CURRENT FreeBSD 3.0-CURRENT #0: Sat Apr 12 19: 43:17 MSD 1997 dima@tejblum.dnttm.rssi.ru:/usr/src/sys/compile/DIMA i386 devfs /devs devfs rw 0 0 in /etc/fstab >Description: When system unmount /devs, in particular on shutdown, system panic: unmount: dangling vnode. >How-To-Repeat: put the line above in /etc/fstab mount /devs umount /devs >Fix: Workaround (?): *** sys/miscfs/devfs/devfs_vfsops.c.orig Sat Apr 12 18:02:55 1997 --- sys/miscfs/devfs/devfs_vfsops.c Sun Apr 13 23:10:34 1997 *************** *** 139,151 **** /* * Unmount the filesystem described by mp. - * Note: vnodes from this FS may hang around if being used.. - * This should not be a problem, they should be self contained. */ static int devfs_unmount( struct mount *mp, int mntflags, struct proc *p) { struct devfsmount *devfs_mp_p = (struct devfsmount *)mp->mnt_data; DBPRINT(("unmount ")); devfs_free_plane(devfs_mp_p); --- 139,158 ---- /* * Unmount the filesystem described by mp. */ static int devfs_unmount( struct mount *mp, int mntflags, struct proc *p) { struct devfsmount *devfs_mp_p = (struct devfsmount *)mp->mnt_data; + int flags = 0; + int error; + + if (mntflags & MNT_FORCE) { + flags |= FORCECLOSE; + } + error = vflush(mp, NULLVP, flags); + if (error) + return error; DBPRINT(("unmount ")); devfs_free_plane(devfs_mp_p); >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704131913.XAA00844>