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

If the I/O would block because the devices are syncing, bail.

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

diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index a4fbd911d566..446ac581627f 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -1219,6 +1219,11 @@ static int mirror_map(struct dm_target *ti, struct bio 
*bio)
                if (bio->bi_opf & REQ_RAHEAD)
                        return DM_MAPIO_KILL;
 
+               if (bio->bi_opf & REQ_NOWAIT) {
+                       bio_wouldblock_error(bio);
+                       return DM_MAPIO_SUBMITTED;
+               }
+
                queue_bio(ms, bio, rw);
                return DM_MAPIO_SUBMITTED;
        }
-- 
2.12.3

Reply via email to