diff options
| author | Keith Busch <[email protected]> | 2014-11-04 13:18:10 -0700 |
|---|---|---|
| committer | Jens Axboe <[email protected]> | 2014-11-04 13:18:10 -0700 |
| commit | 5940c8578fe720afbf4ef041bad0d72a101f1d88 (patch) | |
| tree | 283ee9fb0326a9fb83115ce149e39c3d14467a6d | |
| parent | 387caa5a2b11ecb1abbbec8ef9d798f757ba3e5f (diff) | |
NVMe: Clear QUEUE_FLAG_STACKABLE
The nvme namespace request_queue's flags are initialized to
QUEUE_FLAG_DEFAULT, which currently sets QUEUE_FLAG_STACKABLE. The
device-mapper indicates this flag means the block driver is requset
based, though this driver is bio-based and problems will occur if an nvme
namespace is used with a request based dm device. This patch clears the
stackable flag.
Signed-off-by: Keith Busch <[email protected]>
Signed-off-by: Matthew Wilcox <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
| -rw-r--r-- | drivers/block/nvme-core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index 0196fce0ddf5..8fffc68c74eb 100644 --- a/drivers/block/nvme-core.c +++ b/drivers/block/nvme-core.c @@ -2030,6 +2030,7 @@ static struct nvme_ns *nvme_alloc_ns(struct nvme_dev *dev, unsigned nsid, if (!ns->queue) goto out_free_ns; ns->queue->queue_flags = QUEUE_FLAG_DEFAULT; + queue_flag_clear_unlocked(QUEUE_FLAG_STACKABLE, ns->queue); queue_flag_set_unlocked(QUEUE_FLAG_NOMERGES, ns->queue); queue_flag_set_unlocked(QUEUE_FLAG_NONROT, ns->queue); queue_flag_clear_unlocked(QUEUE_FLAG_ADD_RANDOM, ns->queue); |