diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/blkdev.h | 10 | ||||
-rw-r--r-- | include/linux/genhd.h | 9 |
2 files changed, 18 insertions, 1 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index d3ae9ad97213..a842b776d099 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -671,7 +671,6 @@ extern int blk_execute_rq(struct request_queue *, struct gendisk *, | |||
671 | struct request *, int); | 671 | struct request *, int); |
672 | extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, | 672 | extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, |
673 | struct request *, int, rq_end_io_fn *); | 673 | struct request *, int, rq_end_io_fn *); |
674 | extern int blk_verify_command(unsigned char *, int); | ||
675 | extern void blk_unplug(struct request_queue *q); | 674 | extern void blk_unplug(struct request_queue *q); |
676 | 675 | ||
677 | static inline struct request_queue *bdev_get_queue(struct block_device *bdev) | 676 | static inline struct request_queue *bdev_get_queue(struct block_device *bdev) |
@@ -797,6 +796,15 @@ static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt, | |||
797 | 796 | ||
798 | extern int blkdev_issue_flush(struct block_device *, sector_t *); | 797 | extern int blkdev_issue_flush(struct block_device *, sector_t *); |
799 | 798 | ||
799 | /* | ||
800 | * command filter functions | ||
801 | */ | ||
802 | extern int blk_verify_command(struct file *file, unsigned char *cmd); | ||
803 | extern int blk_cmd_filter_verify_command(struct blk_scsi_cmd_filter *filter, | ||
804 | unsigned char *cmd, mode_t *f_mode); | ||
805 | extern int blk_register_filter(struct gendisk *disk); | ||
806 | extern void blk_unregister_filter(struct gendisk *disk); | ||
807 | |||
800 | #define MAX_PHYS_SEGMENTS 128 | 808 | #define MAX_PHYS_SEGMENTS 128 |
801 | #define MAX_HW_SEGMENTS 128 | 809 | #define MAX_HW_SEGMENTS 128 |
802 | #define SAFE_MAX_SECTORS 255 | 810 | #define SAFE_MAX_SECTORS 255 |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 524ec96f5a23..e8787417f65a 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -110,6 +110,14 @@ struct hd_struct { | |||
110 | #define GENHD_FL_SUPPRESS_PARTITION_INFO 32 | 110 | #define GENHD_FL_SUPPRESS_PARTITION_INFO 32 |
111 | #define GENHD_FL_FAIL 64 | 111 | #define GENHD_FL_FAIL 64 |
112 | 112 | ||
113 | #define BLK_SCSI_MAX_CMDS (256) | ||
114 | #define BLK_SCSI_CMD_PER_LONG (BLK_SCSI_MAX_CMDS / (sizeof(long) * 8)) | ||
115 | |||
116 | struct blk_scsi_cmd_filter { | ||
117 | unsigned long read_ok[BLK_SCSI_CMD_PER_LONG]; | ||
118 | unsigned long write_ok[BLK_SCSI_CMD_PER_LONG]; | ||
119 | struct kobject kobj; | ||
120 | }; | ||
113 | 121 | ||
114 | struct gendisk { | 122 | struct gendisk { |
115 | int major; /* major number of driver */ | 123 | int major; /* major number of driver */ |
@@ -120,6 +128,7 @@ struct gendisk { | |||
120 | struct hd_struct **part; /* [indexed by minor] */ | 128 | struct hd_struct **part; /* [indexed by minor] */ |
121 | struct block_device_operations *fops; | 129 | struct block_device_operations *fops; |
122 | struct request_queue *queue; | 130 | struct request_queue *queue; |
131 | struct blk_scsi_cmd_filter cmd_filter; | ||
123 | void *private_data; | 132 | void *private_data; |
124 | sector_t capacity; | 133 | sector_t capacity; |
125 | 134 | ||