Enhancement. This makes the free block counts more accurate. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> --- drivers/md/dm-thin.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index a3a66af..63f8adf 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c @@ -2305,6 +2305,15 @@ static int pool_status(struct dm_target *ti, status_type_t type, if (r) return r; + /* + * If we're in the middle of a transaction the free block + * counts can be quite out of date, so we do a quick + * commit. + */ + r = dm_pool_commit_metadata(pool->pmd); + if (r) + return r; + r = dm_pool_get_free_metadata_block_count(pool->pmd, &nr_free_blocks_metadata); if (r) -- 1.7.9.1 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel