dm thin: fix missing out-of-data-space to write mode transition if blocks are released
authorJoe Thornber <ejt@redhat.com>
Thu, 11 Dec 2014 11:12:19 +0000 (11:12 +0000)
committerMike Snitzer <snitzer@redhat.com>
Wed, 17 Dec 2014 16:59:36 +0000 (11:59 -0500)
commit2c43fd26e46734430122b8d2ad3024bb532df3ef
treed0166f1fe97d83eef8f51a633201b817e309734b
parent45ec9bd0fd7abf8705e7cf12205ff69fe9d51181
dm thin: fix missing out-of-data-space to write mode transition if blocks are released

Discard bios and thin device deletion have the potential to release data
blocks.  If the thin-pool is in out-of-data-space mode, and blocks were
released, transition the thin-pool back to full write mode.

The correct time to do this is just after the thin-pool metadata commit.
It cannot be done before the commit because the space maps will not
allow immediate reuse of the data blocks in case there's a rollback
following power failure.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org
drivers/md/dm-thin.c