From owner-freebsd-stable@FreeBSD.ORG Sun Jul 22 02:46:27 2007 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6044916A420 for ; Sun, 22 Jul 2007 02:46:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 1F23013C47E for ; Sun, 22 Jul 2007 02:46:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.8/8.13.4) with ESMTP id l6M2iC5G024450; Sat, 21 Jul 2007 20:44:13 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 21 Jul 2007 20:44:13 -0600 (MDT) Message-Id: <20070721.204413.-432837168.imp@bsdimp.com> To: freebsd@meijome.net From: "M. Warner Losh" In-Reply-To: <20070721110603.3878d933@localhost> References: <200707190943.55428.idiotbg@gmail.com> <20070719.090250.1387160138.imp@bsdimp.com> <20070721110603.3878d933@localhost> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Sat, 21 Jul 2007 20:44:17 -0600 (MDT) Cc: LoN_Kamikaze@gmx.de, olli@lurza.secnetix.de, freebsd-stable@freebsd.org, idiotbg@gmail.com, josh@tcbug.org Subject: Re: removing external usb hdd without unmounting causes reboot? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 02:46:27 -0000 In message: <20070721110603.3878d933@localhost> Norberto Meijome writes: : On Thu, 19 Jul 2007 09:02:50 -0600 (MDT) : "M. Warner Losh" wrote: : : > In message: <200707190943.55428.idiotbg@gmail.com> : > Momchil Ivanov writes: : > : What is then the reason for the kernel not being able to unmount a : > : filesystem whose provider is no longer present? : > : > The problem is that the device driver has wound down, deallocated : > memory, etc. Now the kernel comes along with stale references to the : > device and panic ensues. It is really just that simple. There's no : > replacement of the now-dead device with dead calls. : > : > And even if you fixed that, most of the file systems in the tree today : > do not tolerate errors on writes at all and that also leads to : > panics. This is why firewire freezes the I/Os rather than failing : > them (and why umount -f on a firewire drive hangs). : : Please point me to the correct RTFM, because I feel this worth it :) src/sys/fs/..., src/sys/kern/... and src/sys/vm/... are your best bets. : Is there a reason why the kernel cannot check 'upwards' if a device : is being used, ie mounted ? and prevent the unloading of the device : driver ? Check, sure, it can check. But what does a simple check accomplish if the filesystem panics if the underlying media returns an error? The problem isn't as simple as just looking in one place or another, but rather systemic in nature. Warner