Date: Wed, 18 Jul 2007 14:03:10 -0500 From: Josh Paetzel <josh@tcbug.org> To: Mark Linimon <linimon@lonesome.com> Cc: LoN_Kamikaze@gmx.de, freebsd-stable@freebsd.org, Momchil Ivanov <idiotbg@gmail.com> Subject: Re: removing external usb hdd without unmounting causes reboot? Message-ID: <200707181403.13410.josh@tcbug.org> In-Reply-To: <20070718173406.GA16748@soaustin.net> References: <200707181541.l6IFf4ht051775@lurza.secnetix.de> <20070718170559.GA11915@eos.sc1.parodius.com> <20070718173406.GA16748@soaustin.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart3727139.BdYWivcdTr Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wednesday 18 July 2007, Mark Linimon wrote: > On Wed, Jul 18, 2007 at 10:05:59AM -0700, Jeremy Chadwick wrote: > > Bottom line here is that the kernel panics when removing a USB > > device that has filesystems mounted. > > s/USB // > > > I also have a hard time believing that the reason it hasn't been > > fixed is because "there isn't an easy fix". I'm under the > > impression it hasn't been fixed because either no one cares > > enough to fix it (using the workaround as a scapegoat excuse), or > > because the majority of people do not use USB-based storage > > devices. > > The reason is not the USB stack; the reason (IIRC) is that the > FreeBSD VM was written with the default assumption that Devices > Never Go Away. A large rewrite, I'm told, will be needed to fix > this, and the code is convoluted and tricky. > > No one finds the situation acceptable; introducing the "scapegoat" > word isn't going to win you any support. The problem is not a > weekend's worth of work to fix, nor does it have anything to do > with avoidance by one particular maintainer, which you apparently > had encountered before. > > mcl Panicing really is the right thing to do with the current=20 architecture. Not panicing when a mounted filesystem disappears runs=20 the risk of corrupting other mounted filesystems. Mark is entirely correct, FreeBSD faces an architecture problem here=20 in that the vm and filesystems we have today were not designed in an=20 era when they could just disappear from a running system. The BSD=20 way isn't to apply a quick and dirty little hack to fix=20 the 'problem', it's to design the system properly. And this is=20 assuming a quick and dirty hack even exists. The other problem you're running in to with UFS anyways is that there=20 is no chance to 'unmount' the filesystem when you disconnect the=20 drive. By the time anything has a chance to realize it's gone it's=20 too late. Whether the disk is in the middle of a write, still has=20 buffers to be written out, or is perfectly clean and needs to just be=20 marked as such by the time the OS realizes any of that needs to be=20 done the drive is no longer physically connected to the computer. What might need to happen is a redesign of the vm subsystem so that it=20 can safely deal with mounted filesystems going away, and designing a=20 filesystem that doesn't need to be unmounted specifically for=20 removeable devices. Doesn't sound trivial to me. Or You can just not remove devices with mounted filesystems from your=20 computer..... =2D-=20 Thanks, Josh Paetzel --nextPart3727139.BdYWivcdTr Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQBGnmPxJvkB8SevrssRAlJnAKCKaBjMmBU8d/Po4GVrsTYN5YIk1wCfUO9F T4cSR4SaVS6YdN1vEZ2cNOI= =2U3K -----END PGP SIGNATURE----- --nextPart3727139.BdYWivcdTr--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707181403.13410.josh>