malahal@xxxxxxxxxx [malahal@xxxxxxxxxx] wrote: > Jens Axboe [jens.axboe@xxxxxxxxxx] wrote: > > Current code is below, btw. Not a lot of changes, iirc it's just the > > delete-always, a missing export, delete timer on empty list. > > > > +void blk_add_timer(struct request *req) > > +{ > > + struct request_queue *q = req->q; > > + unsigned long expiry; > > + > > + BUG_ON(!list_empty(&req->timeout_list)); > > + > > + if (req->timeout) > > + req->timeout += jiffies; > > + else > > + req->timeout = jiffies + q->rq_timeout; > > + > > The meaning of req->timeout is changed here. It was a timeout value, now > it became an expiry time. If we happen to requeue the request, its > timeout would be incorrect. Found using scsi_debug! Maybe, make it a > bitfield to avoid another field... Sorry, bitfield won't work! - 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