diff options
| author | Jens Axboe <axboe@suse.de> | 2006-07-28 03:32:07 -0400 |
|---|---|---|
| committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-09-30 14:29:23 -0400 |
| commit | cdd6026217c0e4cda2efce1bdc318661bef1f66f (patch) | |
| tree | e26bb9c40b603b9cc321aa4217fecf34e1bc5f24 /include | |
| parent | 49171e5c6f414d49a061b5c1c84967c2eb569822 (diff) | |
[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>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/blkdev.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index d4c1dd046e27..8a3e309e0842 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -243,8 +243,6 @@ struct request { | |||
| 243 | 243 | ||
| 244 | void *completion_data; | 244 | void *completion_data; |
| 245 | 245 | ||
| 246 | int rq_status; /* should split this into a few status bits */ | ||
| 247 | int errors; | ||
| 248 | struct gendisk *rq_disk; | 246 | struct gendisk *rq_disk; |
| 249 | unsigned long start_time; | 247 | unsigned long start_time; |
| 250 | 248 | ||
| @@ -262,14 +260,16 @@ struct request { | |||
| 262 | 260 | ||
| 263 | unsigned short ioprio; | 261 | unsigned short ioprio; |
| 264 | 262 | ||
| 265 | int tag; | ||
| 266 | |||
| 267 | int ref_count; | ||
| 268 | request_queue_t *q; | 263 | request_queue_t *q; |
| 269 | 264 | ||
| 270 | void *special; | 265 | void *special; |
| 271 | char *buffer; | 266 | char *buffer; |
| 272 | 267 | ||
| 268 | int tag; | ||
| 269 | int errors; | ||
| 270 | |||
| 271 | int ref_count; | ||
| 272 | |||
| 273 | /* | 273 | /* |
| 274 | * when request is used as a packet command carrier | 274 | * when request is used as a packet command carrier |
| 275 | */ | 275 | */ |
| @@ -456,9 +456,6 @@ struct request_queue | |||
| 456 | struct mutex sysfs_lock; | 456 | struct mutex sysfs_lock; |
| 457 | }; | 457 | }; |
| 458 | 458 | ||
| 459 | #define RQ_INACTIVE (-1) | ||
| 460 | #define RQ_ACTIVE 1 | ||
| 461 | |||
| 462 | #define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */ | 459 | #define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */ |
| 463 | #define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */ | 460 | #define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */ |
| 464 | #define QUEUE_FLAG_STOPPED 2 /* queue is stopped */ | 461 | #define QUEUE_FLAG_STOPPED 2 /* queue is stopped */ |
