summaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-06-27 09:12:09 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-07-03 13:21:15 +0200
commitb24498d477a14680fc3bb3ad884fa9fa76a2d237 (patch)
tree1ba2c9f24b3f22f45fa424ad904fb6dcc5d67790 /include/linux/blkdev.h
parent06a452e5b95eb669b7ad414ccf587dfc2d91b217 (diff)
block: integrity flags can't use bit ops on unsigned short
Just use normal open coded bit operations instead, they need not be atomic. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index a842b776d09..7ab8acad5b6 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -870,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;
@@ -940,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;