diff options
Diffstat (limited to 'drivers/md/dm-cache-target.c')
| -rw-r--r-- | drivers/md/dm-cache-target.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c index 1af40ee209e2..7130505c2425 100644 --- a/drivers/md/dm-cache-target.c +++ b/drivers/md/dm-cache-target.c | |||
| @@ -895,8 +895,8 @@ static void migration_success_pre_commit(struct dm_cache_migration *mg) | |||
| 895 | struct cache *cache = mg->cache; | 895 | struct cache *cache = mg->cache; |
| 896 | 896 | ||
| 897 | if (mg->writeback) { | 897 | if (mg->writeback) { |
| 898 | cell_defer(cache, mg->old_ocell, false); | ||
| 899 | clear_dirty(cache, mg->old_oblock, mg->cblock); | 898 | clear_dirty(cache, mg->old_oblock, mg->cblock); |
| 899 | cell_defer(cache, mg->old_ocell, false); | ||
| 900 | cleanup_migration(mg); | 900 | cleanup_migration(mg); |
| 901 | return; | 901 | return; |
| 902 | 902 | ||
| @@ -951,13 +951,13 @@ static void migration_success_post_commit(struct dm_cache_migration *mg) | |||
| 951 | } | 951 | } |
| 952 | 952 | ||
| 953 | } else { | 953 | } else { |
| 954 | clear_dirty(cache, mg->new_oblock, mg->cblock); | ||
| 954 | if (mg->requeue_holder) | 955 | if (mg->requeue_holder) |
| 955 | cell_defer(cache, mg->new_ocell, true); | 956 | cell_defer(cache, mg->new_ocell, true); |
| 956 | else { | 957 | else { |
| 957 | bio_endio(mg->new_ocell->holder, 0); | 958 | bio_endio(mg->new_ocell->holder, 0); |
| 958 | cell_defer(cache, mg->new_ocell, false); | 959 | cell_defer(cache, mg->new_ocell, false); |
| 959 | } | 960 | } |
| 960 | clear_dirty(cache, mg->new_oblock, mg->cblock); | ||
| 961 | cleanup_migration(mg); | 961 | cleanup_migration(mg); |
| 962 | } | 962 | } |
| 963 | } | 963 | } |
