On 05/12/2009 06:20 PM, Tejun Heo wrote: > Boaz Harrosh wrote: > >> The solution to this, I think, is that the bouncing layer should >> receive a residual count, and not bounce anything beyond what's >> transferred. (On reads, writes does nothing), and zero-out the >> rest. This of course means that all block drivers make sure residual >> is properly set, the way it should as explained in this >> thread. (SCSI does the right thing where it can, for example see >> scsi_execute()) > > Umm... shouldn't the request just be successfully finished with > positive residue count and with sense data if necessary? Block layer > request failure means, and has always meant, complete failure. > I see, however if so then bouncing must take into consideration the residual count in the successful case, so not to copy garbage bytes. And drivers audited to make sure residual is set accordingly. I wish we would set resid_len to data_len at begining and let drivers reset that on success properly, like SCSI does. I'll look at it farther when I have a bit of time. Finally I see a distinct separate usage for the request->error member? > Thanks. > Thanks Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html