From owner-freebsd-stable@FreeBSD.ORG Wed Aug 1 05:54:36 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 70AEE16A418 for ; Wed, 1 Aug 2007 05:54:36 +0000 (UTC) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.freebsd.org (Postfix) with ESMTP id 26CB513C461 for ; Wed, 1 Aug 2007 05:54:36 +0000 (UTC) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.13.8/8.13.7) with ESMTP id l715hSkY075437; Tue, 31 Jul 2007 22:43:28 -0700 (PDT) Received: (from dillon@localhost) by apollo.backplane.com (8.13.8/8.13.4/Submit) id l715hRkV075424; Tue, 31 Jul 2007 22:43:27 -0700 (PDT) Date: Tue, 31 Jul 2007 22:43:27 -0700 (PDT) From: Matthew Dillon Message-Id: <200708010543.l715hRkV075424@apollo.backplane.com> To: "Dennis Melentyev" References: <20070727231905.GJ1152@turion.vk2pj.dyndns.org> <200707301319.l6UDJkAH068637@lurza.secnetix.de> Cc: peterjeremy@optushome.com.au, freebsd-stable@freebsd.org, dennis.melentyev@gmail.com 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: Wed, 01 Aug 2007 05:54:36 -0000 :> By the way, the problem apparently has been solved in :> DragonFly BSD (i.e. DF BSD does not panic when a mounted :> FS is physically removed). Maybe it is worth to have a We didn't do much here. Just started pulling devices, looking at the crash dumps, and fixing things. Basically it was just a collection of minor bugs... things like certain error paths in UFS (which only occur on an I/O error) had bugs, or caused corruption instead of properly handling the error, and various bits and pieces of the USB I/O path would get ripped out on the device pull while still referenced by other bits of the USB I/O path. You will also have to look at the way vfs flushing handles errors in order to allow a filesystem to be force-unmounted after the device has been pulled. Basically you have to make umount -f work and you have to make sure it properly dereferencing the underlying device and properly destroys the (now unwritable) dirty buffers. -Matt Matthew Dillon