diff options
Diffstat (limited to 'drivers/dax/super.c')
| -rw-r--r-- | drivers/dax/super.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/dax/super.c b/drivers/dax/super.c index 903d9c473749..45276abf03aa 100644 --- a/drivers/dax/super.c +++ b/drivers/dax/super.c @@ -86,6 +86,7 @@ bool __bdev_dax_supported(struct block_device *bdev, int blocksize)  {  	struct dax_device *dax_dev;  	bool dax_enabled = false; +	struct request_queue *q;  	pgoff_t pgoff;  	int err, id;  	void *kaddr; @@ -99,6 +100,13 @@ bool __bdev_dax_supported(struct block_device *bdev, int blocksize)  		return false;  	} +	q = bdev_get_queue(bdev); +	if (!q || !blk_queue_dax(q)) { +		pr_debug("%s: error: request queue doesn't support dax\n", +				bdevname(bdev, buf)); +		return false; +	} +  	err = bdev_dax_pgoff(bdev, 0, PAGE_SIZE, &pgoff);  	if (err) {  		pr_debug("%s: error: unaligned partition for dax\n",  | 
