From: Goldwyn Rodrigues <rgold...@suse.com>

I/O should bail out if any value for delay is set.

Signed-off-by: Goldwyn Rodrigues <rgold...@suse.com>
---
 drivers/md/dm-delay.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c
index ae3158795d26..97da97c3c039 100644
--- a/drivers/md/dm-delay.c
+++ b/drivers/md/dm-delay.c
@@ -240,6 +240,10 @@ static int delay_bio(struct delay_c *dc, int delay, struct 
bio *bio)
        if (!delay || !atomic_read(&dc->may_delay))
                return DM_MAPIO_REMAPPED;
 
+       if (bio->bi_opf & REQ_NOWAIT) {
+               bio_wouldblock_error(bio);
+               return DM_MAPIO_SUBMITTED;
+       }
        delayed = dm_per_bio_data(bio, sizeof(struct dm_delay_info));
 
        delayed->context = dc;
-- 
2.12.3

Reply via email to