From owner-freebsd-stable Thu Feb 21 4:46:31 2002 Delivered-To: freebsd-stable@freebsd.org Received: from chez.McKusick.COM (chez.mckusick.com [209.31.233.177]) by hub.freebsd.org (Postfix) with ESMTP id 1EBB837B402 for ; Thu, 21 Feb 2002 04:46:28 -0800 (PST) Received: from beastie.mckusick.com (localhost [127.0.0.1]) by beastie.mckusick.com (8.11.4/8.9.3) with ESMTP id g1LChpi21455; Thu, 21 Feb 2002 04:43:52 -0800 (PST) (envelope-from mckusick@beastie.mckusick.com) Message-Id: <200202211243.g1LChpi21455@beastie.mckusick.com> To: Matthew Dillon Subject: Re: Softupdates failure during buffer syncing at shutdown (was Re: cvs commit: src/sys/ufs/ffs ffs_softdep.c) Cc: Mike Silbersack , Valentin Nechayev , "David W. Chapman Jr." , stable@FreeBSD.ORG In-Reply-To: Your message of "Wed, 20 Feb 2002 00:13:18 PST." <200202200813.g1K8DIl85685@apollo.backplane.com> Date: Thu, 21 Feb 2002 04:43:51 -0800 From: Kirk McKusick Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I have had an opportunity to log into test1.backplane.com to look at the problem (thanks to the wireless network at the conference here in Helsinki :-) The buffers that are being held locked contain the indirect block pointers for files that are to be removed. The request to remove them is sitting on the soft updates worklist. They are not being processed because the syncer daemon has been stopped. They will be used and freed if the syncer daemon is permitted to run. I am not sure what has changed recently to cause this problem. Was the syncer daemon previously permitted to run and now it is not? Is there a reason that it has to be stopped? If it must be stopped, we will need to duplicate the part of its functionality in the shutdown code that is not being done now: /* * Do soft update processing. */ if (bioops.io_sync) (*bioops.io_sync)(NULL); This call needs to be done after all the other buffers have been written as the writes of some of the other buffers cause the deletes related to these buffers to be put on the soft updates work list. If we can just leave the syncer daemon running, then it will just process these buffers as their work items are added to the list (though note that the syncer runs only once per second, so we have to wait at least one second for it to run before giving up). Kirk McKusick To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message