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>
 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,
 
 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,
 
 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,
 
 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,