[PATCH] Remove ->rq_status from struct request
After Christophs SCSI change, the only usage left is RQ_ACTIVE and RQ_INACTIVE. The block layer sets RQ_INACTIVE right before freeing the request, so any check for RQ_INACTIVE in a driver is a bug and indicates use-after-free. So kill/clean the remaining users, straight forward. Signed-off-by: Jens Axboe <axboe@suse.de>
This commit is contained in:
@@ -243,8 +243,6 @@ struct request {
|
||||
|
||||
void *completion_data;
|
||||
|
||||
int rq_status; /* should split this into a few status bits */
|
||||
int errors;
|
||||
struct gendisk *rq_disk;
|
||||
unsigned long start_time;
|
||||
|
||||
@@ -262,14 +260,16 @@ struct request {
|
||||
|
||||
unsigned short ioprio;
|
||||
|
||||
int tag;
|
||||
|
||||
int ref_count;
|
||||
request_queue_t *q;
|
||||
|
||||
void *special;
|
||||
char *buffer;
|
||||
|
||||
int tag;
|
||||
int errors;
|
||||
|
||||
int ref_count;
|
||||
|
||||
/*
|
||||
* when request is used as a packet command carrier
|
||||
*/
|
||||
@@ -456,9 +456,6 @@ struct request_queue
|
||||
struct mutex sysfs_lock;
|
||||
};
|
||||
|
||||
#define RQ_INACTIVE (-1)
|
||||
#define RQ_ACTIVE 1
|
||||
|
||||
#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */
|
||||
#define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */
|
||||
#define QUEUE_FLAG_STOPPED 2 /* queue is stopped */
|
||||
|
Reference in New Issue
Block a user