From owner-cvs-all Mon Jan 29 0:19:50 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id B123537B404; Mon, 29 Jan 2001 00:19:30 -0800 (PST) Received: (from dillon@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0T8JSn16767; Mon, 29 Jan 2001 00:19:28 -0800 (PST) (envelope-from dillon) Message-Id: <200101290819.f0T8JSn16767@freefall.freebsd.org> From: Matt Dillon Date: Mon, 29 Jan 2001 00:19:28 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/miscfs/specfs spec_vnops.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG dillon 2001/01/29 00:19:28 PST Modified files: sys/miscfs/specfs spec_vnops.c Log: This patch reestablishes the spec_fsync() guarentee that synchronous fsyncs, which typically occur during unmounting, will drain all dirty buffers even if it takes multiple passes to do so. The guarentee was mangled by the last patch which solved a problem due to -current disabling interrupts while holding giant (which caused an infinite spin loop waiting for I/O to complete). -stable does not have either patch, but has a similar bug in the original spec_fsync() code which is triggered by a bug in the softupdates umount code, a fix for which will be committed to -current as soon as Kirk stamps it. Then both solutions will be MFC'd to -stable. -stable currently suffers from a combination of the softupdates bug and a small window of opportunity in the original spec_fsync() code, and -stable also suffers from the spin-loop bug but since interrupts are enabled the spin resolves itself in a few milliseconds. Revision Changes Path 1.149 +17 -8 src/sys/miscfs/specfs/spec_vnops.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message