diff options
author | Toshi Kani <toshi.kani@hpe.com> | 2016-06-23 17:05:50 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-07-20 21:01:01 -0600 |
commit | 163d4baaebe39c0e56d9c08597eab7b3ae0bf334 (patch) | |
tree | a2874ed41e21f5163e45e6fbb177d94b13cb38ff /drivers/block | |
parent | df5c82a8dcca1a5f23fefebae973d2dd0bf5aa11 (diff) | |
download | linux-163d4baaebe39c0e56d9c08597eab7b3ae0bf334.tar.gz linux-163d4baaebe39c0e56d9c08597eab7b3ae0bf334.tar.bz2 linux-163d4baaebe39c0e56d9c08597eab7b3ae0bf334.zip |
block: add QUEUE_FLAG_DAX for devices to advertise their DAX support
Currently, presence of direct_access() in block_device_operations
indicates support of DAX on its block device. Because
block_device_operations is instantiated with 'const', this DAX
capablity may not be enabled conditinally.
In preparation for supporting DAX to device-mapper devices, add
QUEUE_FLAG_DAX to request_queue flags to advertise their DAX
support. This will allow to set the DAX capability based on how
mapped device is composed.
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: <linux-s390@vger.kernel.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/brd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/brd.c b/drivers/block/brd.c index f5b0d6f4e09f..dd96a935fba0 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c @@ -509,7 +509,9 @@ static struct brd_device *brd_alloc(int i) blk_queue_max_discard_sectors(brd->brd_queue, UINT_MAX); brd->brd_queue->limits.discard_zeroes_data = 1; queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, brd->brd_queue); - +#ifdef CONFIG_BLK_DEV_RAM_DAX + queue_flag_set_unlocked(QUEUE_FLAG_DAX, brd->brd_queue); +#endif disk = brd->brd_disk = alloc_disk(max_part); if (!disk) goto out_free_queue; |