Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dm thin: fix metadata dev resize detection

Fix detection of the need to resize the dm thin metadata device.

The code incorrectly tried to extend the metadata device when it
didn't need to due to a merging error with patch 24347e9 ("dm thin:
detect metadata device resizing").

device-mapper: transaction manager: couldn't open metadata space map
device-mapper: thin metadata: tm_open_with_sm failed
device-mapper: thin: aborting transaction failed
device-mapper: thin: switching pool to failure mode

Signed-off-by: Alasdair G Kergon <agk@redhat.com>

+2 -2
+2 -2
drivers/md/dm-thin.c
··· 2188 2188 2189 2189 *need_commit = false; 2190 2190 2191 - metadata_dev_size = get_metadata_dev_size(pool->md_dev); 2191 + metadata_dev_size = get_metadata_dev_size_in_blocks(pool->md_dev); 2192 2192 2193 2193 r = dm_pool_get_metadata_dev_size(pool->pmd, &sb_metadata_dev_size); 2194 2194 if (r) { ··· 2197 2197 } 2198 2198 2199 2199 if (metadata_dev_size < sb_metadata_dev_size) { 2200 - DMERR("metadata device (%llu sectors) too small: expected %llu", 2200 + DMERR("metadata device (%llu blocks) too small: expected %llu", 2201 2201 metadata_dev_size, sb_metadata_dev_size); 2202 2202 return -EINVAL; 2203 2203