Looking at REQ_TYPE_*, I see that REQ_TYPE_SENSE is only used once in an
assignment, and appears to never be tested anywhere.
Furthermore, the use of REQ_TYPE_SENSE immediately follows a previous
assignment rq->cmd_type assignment:
cdrom_queue_request_sense():
[...]
/* stuff the sense request in front of our current request */
blk_rq_init(NULL, rq);
rq->cmd_type = REQ_TYPE_ATA_PC;
rq->rq_disk = info->disk;
rq->data = sense;
rq->cmd[0] = GPCMD_REQUEST_SENSE;
rq->cmd[4] = 18;
rq->data_len = 18;
rq->cmd_type = REQ_TYPE_SENSE;
rq->cmd_flags |= REQ_PREEMPT;
[...]
First, the code assigns REQ_TYPE_ATA_PC, then without any intervening
tests or branches, it assigns REQ_TYPE_SENSE.
So, some questions...
Is REQ_TYPE_ATA_PC sufficient (i.e. the first assignment)?
Can we get rid of REQ_TYPE_SENSE?
What are the differences between REQ_TYPE_ATA_PC and REQ_TYPE_BLOCK_PC?
Would it be possible to eliminate REQ_TYPE_ATA_PC after some work, as
well?
Jeff
--
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