Date: Wed, 3 Nov 1999 09:44:35 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Zhihui Zhang <zzhang@cs.binghamton.edu> Cc: Greg Lehey <grog@lemis.com>, freebsd-hackers@FreeBSD.ORG Subject: Re: Granularity of disk I/O Message-ID: <199911031744.JAA59898@apollo.backplane.com> References: <Pine.GSO.3.96.991103101211.19385C-100000@sol.cs.binghamton.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
: :Thanks for your reply. I know that directory entries are physically :prevented from crossing device block boundaries in order to ensure atomic :update. If I write a directory file with a buffer (using some kind of :multi-sector transfer) and do not know which sector within the buffer :fails, what will the filesystem do? : :-Zhihui All modern SCSI & IDE disks will remap sectors on write failures, so unless the disk is totally hosed you don't have to worry about this situation occuring. If the disk is totally hosed you will have other problems to worry about. Currently if a write fails the filesystem will retry it. The system will remain internally consistent but if you reboot without the buffer getting successfully written to the disk then the disk will wind up with some corruption and have to be recovered with fsck. From the system's point of view, there is no difference in reliability between doing a single sector transfer and a multi-sector transfer except for the size of the retry. Since retries do not occur very often nobody really cares how big the retry is. Since there is a huge performance gain doing multi-sector transfers, that is what the system does. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911031744.JAA59898>