Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 May 2005 01:44:00 -0600
From:      Tyler Gee <geekout@gmail.com>
To:        Andre Guibert de Bruet <andy@siliconlandmark.com>
Cc:        current@freebsd.org
Subject:   Re: The "unmount of /dev failed (BUSY)" message, explained
Message-ID:  <6e01203b050508004410c9a39f@mail.gmail.com>
In-Reply-To: <20050508020842.T55534@lexi.siliconlandmark.com>
References:  <20050508020842.T55534@lexi.siliconlandmark.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Nice, good work.  I had been wondering about that one...

On 5/8/05, Andre Guibert de Bruet <andy@siliconlandmark.com> wrote:
> Folks,
>=20
> In a show of way too much free time, I set off on a quest to figure out
> what was up with the "unmount of /dev failed (BUSY)" message that is seen
> on reboot. I am pleased to announce that I found what I believe to be the
> reason behind the message:
>=20
> vfs_unmountall: Processing /dev/amrd1a:
> vfs_unmountall: Processing /dev/amrd0s1d:
> vfs_unmountall: Processing /dev/amrd0s1f:
> vfs_unmountall: Processing /dev/amrd0s1e:
> vfs_unmountall: Processing devfs:
> 0xc53efcc0: tag devfs, type VCHR
>      usecount 1, writecount 0, refcount 22 mountedhere 0xc53d4c00
>      flags ()
>      v_object 0xc10608c4 ref 0 pages 72
>=20
>          dev amrd0s1a
> 0xc5442550: tag devfs, type VCHR
>      usecount 1, writecount 0, refcount 1 mountedhere 0xc53d4b00
>      flags ()
>=20
>          dev amrd0s1b
> unmount of /dev failed (BUSY)
> vfs_unmountall: Processing /dev/amrd0s1a:
> 0xc53efaa0: tag ufs, type VDIR
>      usecount 1, writecount 0, refcount 1 mountedhere 0xc5396800
>      flags ()
>=20
>          ino 32896, on dev amrd0s1a
> 0xc53ef880: tag ufs, type VREG
>      usecount 3, writecount 0, refcount 5 mountedhere 0
>      flags (VV_TEXT)
>      v_object 0xc1060738 ref 2 pages 89
>=20
>          ino 16527, on dev amrd0s1a
> Uptime: 12m8s
>=20
> The patch that produces this output is available from:
> http://bling.properkernel.com/freebsd/vfs_unmountalldiag.diff
>=20
> As you can see from the output, the unmount of /dev fails because the
> /dev/amrd0s1a (Which is the root mountpoint on this system) and
> /dev/amrd0s1b (Primary swap) device nodes still exist. The logic that we
> have that uses reverse TAILQ unmounting is flawed because the root
> filesystem is mounted read-only before devfs.
>=20
> I will be cleaning up my patch a bit before I submit it to be committed. =
I
> will also be producing a patch that will make vfs_unmountall do the right
> thing.
>=20
> I haven't found a way to make it vacuum my apartment yet but I will submi=
t
> that functionality to ACME Labs when it's available... ;-)
>=20
> Andy
>=20
> PS: If you want to cross-reference the filesystems, the list is here:
> http://bling.properkernel.com/freebsd/fstab
>=20
> /*  Andre Guibert de Bruet  * 6f43 6564 7020 656f 2e74 4220 7469 6a20 */
> /*   Code poet / Sysadmin   * 636f 656b 2e79 5320 7379 6461 696d 2e6e */
> /*   GSM: +1 734 846 8758   * 5520 494e 2058 6c73 7565 6874 002e 0000 */
> /* WWW: siliconlandmark.com *      Tormenting bytes since 1980.       */
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6e01203b050508004410c9a39f>