Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Oct 2002 09:48:44 +0200
From:      Poul-Henning Kamp <phk@critter.freebsd.dk>
To:        David Schultz <dschultz@uclink.Berkeley.EDU>
Cc:        Maxim Sobolev <sobomax@FreeBSD.ORG>, hackers@FreeBSD.ORG, dillon@FreeBSD.ORG
Subject:   Re: Patch to allow a driver to report unrecoverable write errors to the buf layer 
Message-ID:  <46317.1035100124@critter.freebsd.dk>
In-Reply-To: Your message of "Sat, 19 Oct 2002 21:37:06 PDT." <20021020043706.GA23972@HAL9000.homeunix.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20021020043706.GA23972@HAL9000.homeunix.com>, David Schultz writes:

>> Yes, I noticed that appeared at some time.  That misfeature should be
>> removed in toto.
>> 
>> If a retry can solve the issue, it's the drivers responsibility to
>> retry as much as makes sense and then fail if it doesn't work.
>> 
>> Neither the buf nor the bio layer should get involved in those
>> retries.
>
>Yeah, I mentioned this problem back in April when I wrote a (still
>uncommitted) one-line patch to fix an infinite loop in the msdosfs
>code involving write failures.  It seems like you absolutely have
to be able to propagate failures up to higher layers in order to
>solve the retry problem.  Otherwise, transient errors
>(e.g. removing and then reinserting a floppy disk) would cause
>filesystem corruption because the vnode layer would be unaware
>that some buffers had been dropped.  How hard would it be to fix this?

Trivially simple, unless the person who added this wart freaks out.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

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?46317.1035100124>