diff options
Diffstat (limited to 'drivers/md/dm-thin.c')
-rw-r--r-- | drivers/md/dm-thin.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index b94e4648c19..d633a3921b3 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c | |||
@@ -1619,6 +1619,7 @@ static void set_pool_mode(struct pool *pool, enum pool_mode new_mode) | |||
1619 | case PM_WRITE: | 1619 | case PM_WRITE: |
1620 | if (old_mode != new_mode) | 1620 | if (old_mode != new_mode) |
1621 | notify_of_pool_mode_change(pool, "write"); | 1621 | notify_of_pool_mode_change(pool, "write"); |
1622 | pool->pf.error_if_no_space = pt->requested_pf.error_if_no_space; | ||
1622 | dm_pool_metadata_read_write(pool->pmd); | 1623 | dm_pool_metadata_read_write(pool->pmd); |
1623 | pool->process_bio = process_bio; | 1624 | pool->process_bio = process_bio; |
1624 | pool->process_discard = process_discard; | 1625 | pool->process_discard = process_discard; |
@@ -2567,8 +2568,8 @@ static void pool_postsuspend(struct dm_target *ti) | |||
2567 | struct pool_c *pt = ti->private; | 2568 | struct pool_c *pt = ti->private; |
2568 | struct pool *pool = pt->pool; | 2569 | struct pool *pool = pt->pool; |
2569 | 2570 | ||
2570 | cancel_delayed_work(&pool->waker); | 2571 | cancel_delayed_work_sync(&pool->waker); |
2571 | cancel_delayed_work(&pool->no_space_timeout); | 2572 | cancel_delayed_work_sync(&pool->no_space_timeout); |
2572 | flush_workqueue(pool->wq); | 2573 | flush_workqueue(pool->wq); |
2573 | (void) commit(pool); | 2574 | (void) commit(pool); |
2574 | } | 2575 | } |