On Tuesday 04 May 2010, Hannes Reinecke wrote: > sd is using SYNCHRONIZE_CACHE to simulate barrier requests; > however no error recovery is taking place as it's being injected > from the block layer. So we should be enable retries here > to clear any transient error. > > Signed-off-by: Hannes Reinecke <hare@xxxxxxx> > --- > drivers/scsi/sd.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c > index 8b827f3..de6c603 100644 > --- a/drivers/scsi/sd.c > +++ b/drivers/scsi/sd.c > @@ -1040,6 +1040,7 @@ static void sd_prepare_flush(struct request_queue *q, > struct request *rq) { > rq->cmd_type = REQ_TYPE_BLOCK_PC; > rq->timeout = SD_TIMEOUT; > + rq->retries = SD_MAX_RETRIES; > rq->cmd[0] = SYNCHRONIZE_CACHE; > rq->cmd_len = 10; > } > My patch already does that and also does it in sd_sync_cache(). http://kerneltrap.org/mailarchive/linux-scsi/2010/4/20/6884656 Please wait till Friday. I will try to find some time to update it to include another sysfs-device timeout value. Sorry that I didn't manage to that so far, but I'm trying very hard to finish my thesis and the remaining two days per week for DDN, Lustre and Linux are then quickly taken by emergency tasks... Thanks, Bernd -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html