Date: Mon, 29 Jan 2001 00:19:28 -0800 (PST) From: Matt Dillon <dillon@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/miscfs/specfs spec_vnops.c Message-ID: <200101290819.f0T8JSn16767@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101290819.f0T8JSn16767>