Date: Mon, 11 Oct 1999 12:44:30 +1000 From: Peter Jeremy <jeremyp@gsmx07.alcatel.com.au> To: freebsd-arch@freebsd.org Subject: Re: The eventual fate of BLOCK devices. Message-ID: <99Oct11.124046est.40329@border.alcanet.com.au> In-Reply-To: <199910110121.SAA18665@apollo.backplane.com> References: <Pine.BSF.4.10.9910101323201.12493-100000@current1.whistle.com> <199910110121.SAA18665@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1999-Oct-11 11:21:04 +1000, Matthew Dillon wrote: > There are several trivial ways to solve the write-error problem. Unless I've missed something along the way, it's not that simple. Traditionally, a write to a block device sits in the buffer cache until the sync daemon flushes it to disk. I thought that unifying VM and the buffer cache, together with softupdates, would have relatively little impact on this - there's still a write-back cache with the cache flushing occurring asynchronously and independent of the writer. > First, > implement writes as write-through so a synchronous error can be returned. I would have thought that switching from the current write-back to a write-through policy would, in general, entail a significant performance hit. Even if filesystem I/O is excluded (which I believe is the intent), you still lose the I/O clustering benefits. > Second, implement an error code on close. This would seem to be preferable (and even POLA for direct I/O to block devices). The problem I can see is firstly, the delays in syncer and secondly, getting I/O errors from syncer to to process (or processes, since several different processes could have written to the block(s) in question) issuing the close. > There are also situations where > errors can be assumed to not occur, such as when using buffered VN > partition which is backed by a file or swap. The device underlying the filesystem or swap could still suffer errors. At some point, a decision needs to be made that the error is not reported back to the caller, but notified to `the operator' as a `system' error. Peter -- Peter Jeremy (VK2PJ) peter.jeremy@alcatel.com.au Alcatel Australia Limited 41 Mandible St Phone: +61 2 9690 5019 ALEXANDRIA NSW 2015 Fax: +61 2 9690 5982 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?99Oct11.124046est.40329>
