Date: Thu, 17 May 2001 16:47:01 +0100 From: Ian Dowse <iedowse@maths.tcd.ie> To: Ruslan Ermilov <ru@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, iedowse@maths.tcd.ie Subject: Re: cvs commit: src/sys/coda coda_vfsops.c src/sys/fs/devfs devfs_vfsops.c src/sys/fs/hpfs hpfs_vfsops.c src/sys/fs/smbfs smbfs_vfsops.c src/sys/gnu/ext2fs ext2_vfsops.c src/sys/isofs/cd9660 cd9660_vfsops.c src/sys/kern vfs_subr.c ... Message-ID: <200105171647.aa73697@salmon.maths.tcd.ie> In-Reply-To: Your message of "Thu, 17 May 2001 10:10:36 %2B0300." <20010517101036.C31873@sunbay.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20010517101036.C31873@sunbay.com>, Ruslan Ermilov writes: >> This commit also fixes a vnode reference leak in devfs, which could >> result in idle devfs filesystems that refuse to unmount. >> >Does this fix the case when DEVFS can't be unmounted on reboot? Quite possibly; devfs is one of the filesystems on which a forced unmount used to fail if there were any extra references held on the filesystem root vnode. The bug mentioned above would add an extra reference to the filesystem root vnode when a non-forced unmount failed because of references to a non-root vnode. So after one such failed unmount, all forced or non-forced unmounts would fail, e.g this would trigger it: mount -t devfs none /mnt (cd /mnt/fd; sleep 100) & # add an extra ref on /mnt/fd umount /mnt # fails, and leaks a root vnode ref kill %1 umount /mnt # fails umount -f /mnt # fails Following this change, forced unmounts can never fail with EBUSY, although they could still hang indefinitely waiting to lock a vnode, as has always been the case. Was there an easy way to repeat the devfs problem you mention? Ian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200105171647.aa73697>