From: Huaisheng Ye <ye...@lenovo.com> The array bio_in_progress[2] only have chance to be increased and decreased with ssd mode. For pmem mode, they are not involved at all. So skip writecache_wait_for_ios in writecache_flush for pmem.
Suggested-by: Doris Yu <t...@lenovo.com> Signed-off-by: Huaisheng Ye <ye...@lenovo.com> --- drivers/md/dm-writecache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c index c481947..d06b8aa 100644 --- a/drivers/md/dm-writecache.c +++ b/drivers/md/dm-writecache.c @@ -726,7 +726,8 @@ static void writecache_flush(struct dm_writecache *wc) } writecache_commit_flushed(wc); - writecache_wait_for_ios(wc, WRITE); + if (!WC_MODE_PMEM(wc)) + writecache_wait_for_ios(wc, WRITE); wc->seq_count++; pmem_assign(sb(wc)->seq_count, cpu_to_le64(wc->seq_count)); -- 1.8.3.1