From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H. Peter Anvin" Subject: Re: RAID-10 keeps aborting Date: Tue, 04 Jun 2013 11:38:57 -0700 Message-ID: <51AE3441.3000208@zytor.com> References: <51AC1440.7020505@zytor.com> <51AC3283.4000403@zytor.com> <51ACBAA0.40604@zytor.com> <51ACD511.4030604@zytor.com> <51AE2A8C.4080508@zytor.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-raid-owner@vger.kernel.org To: Dan Williams Cc: "Martin K. Petersen" , linux-raid List-Id: linux-raid.ids On 06/04/2013 11:32 AM, Dan Williams wrote: > On Tue, Jun 4, 2013 at 11:04 AM, Martin K. Petersen > wrote: >>>>>>> "hpa" == H Peter Anvin writes: >> >> hpa> One subdevice accepts it and the other doesn't, presumably. >> >> Ah. Well fail the command and let the block layer deal with it. This is >> really no different from the discard case. > > Which md also does not handle if the device later returns "illegal > request" to a discard command. My point about one device accepting > the write and another device dropping it is we now have an > inconsistent array and a write command to complete. So I don't see > how md can wait/trust that the upper layer will retry and fix things > up? Translate and retry internally for these command types, return > success to the original request, and disable future requests. > Well, if that is what the block device layer is defined to do then that is what the block layer does. It makes sense from the point of view of a disk, there block layer has to translate and redo, so if the block layer is defined to do that, why not rely on it? -hpa