Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2002 04:43:51 -0800
From:      Kirk McKusick <mckusick@beastie.mckusick.com>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Mike Silbersack <silby@silby.com>, Valentin Nechayev <netch@iv.nn.kiev.ua>, "David W. Chapman Jr." <dwcjr@inethouston.net>, stable@FreeBSD.ORG
Subject:   Re: Softupdates failure during buffer syncing at shutdown (was Re: cvs commit: src/sys/ufs/ffs ffs_softdep.c) 
Message-ID:  <200202211243.g1LChpi21455@beastie.mckusick.com>
In-Reply-To: Your message of "Wed, 20 Feb 2002 00:13:18 PST." <200202200813.g1K8DIl85685@apollo.backplane.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202211243.g1LChpi21455>