From owner-freebsd-stable@FreeBSD.ORG Mon Jul 18 15:26:58 2005 Return-Path: X-Original-To: freebsd-stable@FreeBSD.ORG Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2A34C16A41C for ; Mon, 18 Jul 2005 15:26:58 +0000 (GMT) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (lurza.secnetix.de [83.120.8.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BC0943D46 for ; Mon, 18 Jul 2005 15:26:57 +0000 (GMT) (envelope-from olli@lurza.secnetix.de) Received: from lurza.secnetix.de (tojuzm@localhost [127.0.0.1]) by lurza.secnetix.de (8.13.1/8.13.1) with ESMTP id j6IFQt1b017263 for ; Mon, 18 Jul 2005 17:26:55 +0200 (CEST) (envelope-from oliver.fromme@secnetix.de) Received: (from olli@localhost) by lurza.secnetix.de (8.13.1/8.13.1/Submit) id j6IFQtYp017262; Mon, 18 Jul 2005 17:26:55 +0200 (CEST) (envelope-from olli) Date: Mon, 18 Jul 2005 17:26:55 +0200 (CEST) Message-Id: <200507181526.j6IFQtYp017262@lurza.secnetix.de> From: Oliver Fromme To: freebsd-stable@FreeBSD.ORG In-Reply-To: <200507181435.j6IEZVWG000889@drjekyll.mkbuelow.net> X-Newsgroups: list.freebsd-stable User-Agent: tin/1.5.4-20000523 ("1959") (UNIX) (FreeBSD/4.11-RELEASE (i386)) Cc: Subject: Re: dangerous situation with shutdown process X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-stable@FreeBSD.ORG List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2005 15:26:58 -0000 Matthias Buelow wrote: > Oliver Fromme writes: > > buffers to disk. While it is doing that, it displays the > > number of remaining buffers, with increasing time intervals > > between them. If there are still buffers left after a > > certain number of intervals without change, the kernel > > gives up. > > Why is it doing this? Can't it just enumerate the buffers and write > them, one by one? I don't think that the boot() function in kern_shutdown.c can do that. It has got nothing to do with the syncing business itself. It can only trigger the syncing (similar to the sync(8) tool), which basically means performing a vfs_sync with flag MNT_NOWAIT for every mounted filesystem. Then it has to wait for the appropriate kernel process to do its job. See the source. I don't think there's an easy way to change that. If you see such a way, I'd suggest you code it up and use send-pr. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co KG, Marktplatz 29, 85567 Grafing Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "Python tricks" is a tough one, cuz the language is so clean. E.g., C makes an art of confusing pointers with arrays and strings, which leads to lotsa neat pointer tricks; APL mistakes everything for an array, leading to neat one-liners; and Perl confuses everything period, making each line a joyous adventure . -- Tim Peters