From owner-freebsd-fs@FreeBSD.ORG Sat Dec 1 02:01:35 2007 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67C8216A417 for ; Sat, 1 Dec 2007 02:01:35 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail13.syd.optusnet.com.au (mail13.syd.optusnet.com.au [211.29.132.194]) by mx1.freebsd.org (Postfix) with ESMTP id 026F813C478 for ; Sat, 1 Dec 2007 02:01:34 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c211-30-219-213.carlnfd3.nsw.optusnet.com.au (c211-30-219-213.carlnfd3.nsw.optusnet.com.au [211.30.219.213]) by mail13.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id lB121UCi025237 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 1 Dec 2007 13:01:32 +1100 Date: Sat, 1 Dec 2007 13:01:30 +1100 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: "Matthew D. Fuller" In-Reply-To: <20071130174431.GE31891@over-yonder.net> Message-ID: <20071201125029.O15170@delplex.bde.org> References: <474F4E46.8030109@nokia.com> <20071130112043.H7217@besplex.bde.org> <474F69A7.9090404@nokia.com> <20071130033743.GC31891@over-yonder.net> <20071130164034.D12284@delplex.bde.org> <20071130165529.V954@besplex.bde.org> <20071130174431.GE31891@over-yonder.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-fs@freebsd.org Subject: Re: File remove problem X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Dec 2007 02:01:35 -0000 On Fri, 30 Nov 2007, Matthew D. Fuller wrote: > On Fri, Nov 30, 2007 at 05:00:21PM +1100 I heard the voice of > Bruce Evans, and lo! it spake thus: >> >> Oops, this is missing a rm, and doesn't work with it. > > Last year, it used to not cause the softdep_waitidle messages and > prevent the fs from being remounted. Instead, it would give an error > like: > > hostname kernel: /: update error: blocks 28 files 2 softdep_waitidle() is new. It now detects the problem earlier and handles it more robustly by not allowing the mount -u. Well, maybe this is less robust since it also doesn't allow unmount. > and WOULD remount it, and even set the clean flag, but would still > leave turds lying around that would need a manual fsck to clean up > (fsck -p obviously would completely skip it, since it was marked > clean). It was early this year that it moved from that annoying to It also shows bugs in fsck: - even with the file system not marked clean (with later versions), fsck -p doesn't notice the problem. - fsck notices the problem, but takes 2 or 3 passes to fix it, and doesn't notice that it needs several passes. > the "locked fs" crippling variant. (n.b.: I don't have any real > evidence that it's a mutation of the same problem, rather than two > different ones, aside from the trigger condition apparently being the > same, and the newer completely replacing the older.) I think it is the same. softdep_waitidle() just waits a bit to flush the dependencies after starting the flushing, but the bug gives an unflushable dependency so the wait always times out. >> It takes a reboot per test. And has remarkable timing dependencies. Once I got into a state in which the bug didn't appear when exercised in a loop with the same delays that seemed to cause it fairly deterministically other times. Bruce