On Tue, Dec 11 2007 at 18:33 +0200, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > On Mon, 2007-11-26 at 22:15 -0800, Andrew Morton wrote: >> OK, thanks. I'll assume that James and Hannes have this in hand (or will >> have, by mid-week) and I won't do anything here. > > Just to confirm what I think I'm going to be doing: rebasing the > scsi-misc tree to remove this commit: > > commit 8655a546c83fc43f0a73416bbd126d02de7ad6c0 > Author: Hannes Reinecke <hare@xxxxxxx> > Date: Tue Nov 6 09:23:40 2007 +0100 > > [SCSI] Do not requeue requests if REQ_FAILFAST is set > > And its allied fix ups: > > commit 983289045faa96fba8841d3c51b98bb8623d9504 > Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Date: Sat Nov 24 19:47:25 2007 +0200 > > [SCSI] fix up REQ_FASTFAIL not to fail when state is QUIESCE > > commit 9dd15a13b332e9f5c8ee752b1ccd9b84cb5bdf17 > Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Date: Sat Nov 24 19:55:53 2007 +0200 > > [SCSI] fix domain validation to work again > > James > The problems caused by this patch where nagging me at the back of my head from the begging. Why should we fail on a check of FAIL_FAST in all kind of weird places like boots, when the only place that should ever set the flag should be one of the multi-path drivers. finally it struck me: It might be a bug in ll_rw_blk at blk_rq_bio_prep() there is this: static void blk_rq_bio_prep(struct request_queue *q, struct request *rq, struct bio *bio) { /* first two bits are identical in rq->cmd_flags and bio->bi_rw */ rq->cmd_flags |= (bio->bi_rw & 3); ... Now this is no longer true and is a bug. Second bit of bio->bi_rw defined in bio.h is: #define BIO_RW_AHEAD 1 but Second bit of rq->cmd_flags is __REQ_FAILFAST so maybe we are getting FAILFAST in the wrong places? (I will look for an old patch I sent a year ago that fixes this bug) Boaz - 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