summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorMaged Mokhtar <mmokhtar@petasan.org>2019-10-23 23:41:17 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-17 22:34:52 +0300
commit10b9bf59bab1018940e8949c6861d1a7fb0393a1 (patch)
treeb1247d232d17fd1aa9f832cdf7f9c0beb62063df /drivers/md
parent7c07d0267364194aae9786ec0b3d70a65c83329b (diff)
downloadlinux-10b9bf59bab1018940e8949c6861d1a7fb0393a1.tar.xz
dm writecache: handle REQ_FUA
commit c1005322ff02110a4df7f0033368ea015062b583 upstream. Call writecache_flush() on REQ_FUA in writecache_map(). Cc: stable@vger.kernel.org # 4.18+ Signed-off-by: Maged Mokhtar <mmokhtar@petasan.org> Acked-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-writecache.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 5f1f80d424dd..503c4265ecbe 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -1223,7 +1223,8 @@ bio_copy:
}
} while (bio->bi_iter.bi_size);
- if (unlikely(wc->uncommitted_blocks >= wc->autocommit_blocks))
+ if (unlikely(bio->bi_opf & REQ_FUA ||
+ wc->uncommitted_blocks >= wc->autocommit_blocks))
writecache_flush(wc);
else
writecache_schedule_autocommit(wc);