]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/blkdev.h
block: integrity flags can't use bit ops on unsigned short
[linux-2.6-omap-h63xx.git] / include / linux / blkdev.h
index d3ae9ad972133e08d5725ed60daaac89ee78545c..7ab8acad5b6e7980c0a721458dc5d773598cca34 100644 (file)
@@ -671,7 +671,6 @@ extern int blk_execute_rq(struct request_queue *, struct gendisk *,
                          struct request *, int);
 extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *,
                                  struct request *, int, rq_end_io_fn *);
-extern int blk_verify_command(unsigned char *, int);
 extern void blk_unplug(struct request_queue *q);
 
 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,
 
 extern int blkdev_issue_flush(struct block_device *, sector_t *);
 
+/*
+* command filter functions
+*/
+extern int blk_verify_command(struct file *file, unsigned char *cmd);
+extern int blk_cmd_filter_verify_command(struct blk_scsi_cmd_filter *filter,
+                                        unsigned char *cmd, mode_t *f_mode);
+extern int blk_register_filter(struct gendisk *disk);
+extern void blk_unregister_filter(struct gendisk *disk);
+
 #define MAX_PHYS_SEGMENTS 128
 #define MAX_HW_SEGMENTS 128
 #define SAFE_MAX_SECTORS 255
@@ -862,8 +870,8 @@ void kblockd_flush_work(struct work_struct *work);
 
 #if defined(CONFIG_BLK_DEV_INTEGRITY)
 
-#define INTEGRITY_FLAG_READ    1       /* verify data integrity on read */
-#define INTEGRITY_FLAG_WRITE   2       /* generate data integrity on write */
+#define INTEGRITY_FLAG_READ    2       /* verify data integrity on read */
+#define INTEGRITY_FLAG_WRITE   4       /* generate data integrity on write */
 
 struct blk_integrity_exchg {
        void                    *prot_buf;
@@ -932,11 +940,11 @@ static inline int bdev_integrity_enabled(struct block_device *bdev, int rw)
                return 0;
 
        if (rw == READ && bi->verify_fn != NULL &&
-           test_bit(INTEGRITY_FLAG_READ, &bi->flags))
+           (bi->flags & INTEGRITY_FLAG_READ))
                return 1;
 
        if (rw == WRITE && bi->generate_fn != NULL &&
-           test_bit(INTEGRITY_FLAG_WRITE, &bi->flags))
+           (bi->flags & INTEGRITY_FLAG_WRITE))
                return 1;
 
        return 0;