dm cache: only use overwrite optimisation for promotion when in writeback mode
Overwrite causes the cache block and origin blocks to diverge, which is only allowed in writeback mode. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
2bb812df63
commit
f29a3147e2
|
@ -1142,7 +1142,8 @@ static void issue_copy_or_discard(struct dm_cache_migration *mg)
|
|||
|
||||
avoid = is_discarded_oblock(cache, mg->new_oblock);
|
||||
|
||||
if (!avoid && bio_writes_complete_block(cache, bio)) {
|
||||
if (writeback_mode(&cache->features) &&
|
||||
!avoid && bio_writes_complete_block(cache, bio)) {
|
||||
issue_overwrite(mg, bio);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue