Hi, I came across this piece of code in the above mentioned function: /* need the lock to fetch a request * this may fetch the same reqeust as the previous pass */ req = blk_fetch_request(q); /* save requests in use and starved */ counts = q->rq.count[0] + q->rq.count[1] + q->rq.starved[0] + q->rq.starved[1]; WTF? First of all, each request is ended if non-NULL. So why would it be returning the same request as the previous pass? Secondly, what is the below sum hoping to accomplish? It's a gross layering violation. -- Jens Axboe -- 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