diff options
| author | Jeffle Xu <jefflexu@linux.alibaba.com> | 2020-11-13 10:05:51 +0800 |
|---|---|---|
| committer | Mike Snitzer <snitzer@redhat.com> | 2020-11-18 10:29:01 -0500 |
| commit | 373ce365b756bf6fec237461a0bbe65f33f201f6 (patch) | |
| tree | 30aea248a04985249a6c93c6152615acd090d6ee | |
| parent | e54a1d7a7a12cb0d0b7671446a179754bcf668fa (diff) | |
| download | linux-dm-373ce365b756bf6fec237461a0bbe65f33f201f6.tar.gz | |
dm: add support for REQ_NOWAIT to various targets
Notice: this object is not reachable from any branch.
commit 021a24460dc2 ("block: add QUEUE_FLAG_NOWAIT") added a new queue
flag QUEUE_FLAG_NOWAIT to advertise if the bdev supports handling of
REQ_NOWAIT or not. DM core supports stacking QUEUE_FLAG_NOWAIT since
commit 6abc49468eea ("dm: add support for REQ_NOWAIT and enable it for
linear target"), in which only dm-linear enabled it.
Update others DM targets, which just do simple remapping, to enable
support for REQ_NOWAIT.
Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Notice: this object is not reachable from any branch.
| -rw-r--r-- | drivers/md/dm-stripe.c | 2 | ||||
| -rw-r--r-- | drivers/md/dm-switch.c | 1 | ||||
| -rw-r--r-- | drivers/md/dm-unstripe.c | 1 | ||||
| -rw-r--r-- | drivers/md/dm-zero.c | 1 |
4 files changed, 4 insertions, 1 deletions
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index 151d022b032d4..df359d33cda89 100644 --- a/drivers/md/dm-stripe.c +++ b/drivers/md/dm-stripe.c @@ -496,7 +496,7 @@ static void stripe_io_hints(struct dm_target *ti, static struct target_type stripe_target = { .name = "striped", .version = {1, 6, 0}, - .features = DM_TARGET_PASSES_INTEGRITY, + .features = DM_TARGET_PASSES_INTEGRITY | DM_TARGET_NOWAIT, .module = THIS_MODULE, .ctr = stripe_ctr, .dtr = stripe_dtr, diff --git a/drivers/md/dm-switch.c b/drivers/md/dm-switch.c index bff4c7fa1cd21..262e2b0fd9750 100644 --- a/drivers/md/dm-switch.c +++ b/drivers/md/dm-switch.c @@ -550,6 +550,7 @@ static int switch_iterate_devices(struct dm_target *ti, static struct target_type switch_target = { .name = "switch", .version = {1, 1, 0}, + .features = DM_TARGET_NOWAIT, .module = THIS_MODULE, .ctr = switch_ctr, .dtr = switch_dtr, diff --git a/drivers/md/dm-unstripe.c b/drivers/md/dm-unstripe.c index e673dacf64181..7357c1bd58631 100644 --- a/drivers/md/dm-unstripe.c +++ b/drivers/md/dm-unstripe.c @@ -178,6 +178,7 @@ static void unstripe_io_hints(struct dm_target *ti, static struct target_type unstripe_target = { .name = "unstriped", .version = {1, 1, 0}, + .features = DM_TARGET_NOWAIT, .module = THIS_MODULE, .ctr = unstripe_ctr, .dtr = unstripe_dtr, diff --git a/drivers/md/dm-zero.c b/drivers/md/dm-zero.c index b65ca8dcfbdc7..faa1dbffc8b4a 100644 --- a/drivers/md/dm-zero.c +++ b/drivers/md/dm-zero.c @@ -59,6 +59,7 @@ static int zero_map(struct dm_target *ti, struct bio *bio) static struct target_type zero_target = { .name = "zero", .version = {1, 1, 0}, + .features = DM_TARGET_NOWAIT, .module = THIS_MODULE, .ctr = zero_ctr, .map = zero_map, |
