diff options
| -rw-r--r-- | drivers/md/dm-cache-metadata.c | 4 | ||||
| -rw-r--r-- | drivers/md/dm-cache-metadata.h | 8 | ||||
| -rw-r--r-- | drivers/md/dm-cache-target.c | 2 |
3 files changed, 6 insertions, 8 deletions
diff --git a/drivers/md/dm-cache-metadata.c b/drivers/md/dm-cache-metadata.c index d2899e7eb3aa..06709257adde 100644 --- a/drivers/md/dm-cache-metadata.c +++ b/drivers/md/dm-cache-metadata.c | |||
| @@ -330,7 +330,7 @@ static int __write_initial_superblock(struct dm_cache_metadata *cmd) | |||
| 330 | disk_super->discard_root = cpu_to_le64(cmd->discard_root); | 330 | disk_super->discard_root = cpu_to_le64(cmd->discard_root); |
| 331 | disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); | 331 | disk_super->discard_block_size = cpu_to_le64(cmd->discard_block_size); |
| 332 | disk_super->discard_nr_blocks = cpu_to_le64(from_oblock(cmd->discard_nr_blocks)); | 332 | disk_super->discard_nr_blocks = cpu_to_le64(from_oblock(cmd->discard_nr_blocks)); |
| 333 | disk_super->metadata_block_size = cpu_to_le32(DM_CACHE_METADATA_BLOCK_SIZE >> SECTOR_SHIFT); | 333 | disk_super->metadata_block_size = cpu_to_le32(DM_CACHE_METADATA_BLOCK_SIZE); |
| 334 | disk_super->data_block_size = cpu_to_le32(cmd->data_block_size); | 334 | disk_super->data_block_size = cpu_to_le32(cmd->data_block_size); |
| 335 | disk_super->cache_blocks = cpu_to_le32(0); | 335 | disk_super->cache_blocks = cpu_to_le32(0); |
| 336 | 336 | ||
| @@ -478,7 +478,7 @@ static int __create_persistent_data_objects(struct dm_cache_metadata *cmd, | |||
| 478 | bool may_format_device) | 478 | bool may_format_device) |
| 479 | { | 479 | { |
| 480 | int r; | 480 | int r; |
| 481 | cmd->bm = dm_block_manager_create(cmd->bdev, DM_CACHE_METADATA_BLOCK_SIZE, | 481 | cmd->bm = dm_block_manager_create(cmd->bdev, DM_CACHE_METADATA_BLOCK_SIZE << SECTOR_SHIFT, |
| 482 | CACHE_METADATA_CACHE_SIZE, | 482 | CACHE_METADATA_CACHE_SIZE, |
| 483 | CACHE_MAX_CONCURRENT_LOCKS); | 483 | CACHE_MAX_CONCURRENT_LOCKS); |
| 484 | if (IS_ERR(cmd->bm)) { | 484 | if (IS_ERR(cmd->bm)) { |
diff --git a/drivers/md/dm-cache-metadata.h b/drivers/md/dm-cache-metadata.h index cd70a78623a3..7383c90ccdb8 100644 --- a/drivers/md/dm-cache-metadata.h +++ b/drivers/md/dm-cache-metadata.h | |||
| @@ -9,19 +9,17 @@ | |||
| 9 | 9 | ||
| 10 | #include "dm-cache-block-types.h" | 10 | #include "dm-cache-block-types.h" |
| 11 | #include "dm-cache-policy-internal.h" | 11 | #include "dm-cache-policy-internal.h" |
| 12 | #include "persistent-data/dm-space-map-metadata.h" | ||
| 12 | 13 | ||
| 13 | /*----------------------------------------------------------------*/ | 14 | /*----------------------------------------------------------------*/ |
| 14 | 15 | ||
| 15 | #define DM_CACHE_METADATA_BLOCK_SIZE 4096 | 16 | #define DM_CACHE_METADATA_BLOCK_SIZE DM_SM_METADATA_BLOCK_SIZE |
| 16 | 17 | ||
| 17 | /* FIXME: remove this restriction */ | 18 | /* FIXME: remove this restriction */ |
| 18 | /* | 19 | /* |
| 19 | * The metadata device is currently limited in size. | 20 | * The metadata device is currently limited in size. |
| 20 | * | ||
| 21 | * We have one block of index, which can hold 255 index entries. Each | ||
| 22 | * index entry contains allocation info about 16k metadata blocks. | ||
| 23 | */ | 21 | */ |
| 24 | #define DM_CACHE_METADATA_MAX_SECTORS (255 * (1 << 14) * (DM_CACHE_METADATA_BLOCK_SIZE / (1 << SECTOR_SHIFT))) | 22 | #define DM_CACHE_METADATA_MAX_SECTORS DM_SM_METADATA_MAX_SECTORS |
| 25 | 23 | ||
| 26 | /* | 24 | /* |
| 27 | * A metadata device larger than 16GB triggers a warning. | 25 | * A metadata device larger than 16GB triggers a warning. |
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c index 75073c83a4b5..a54108e1e233 100644 --- a/drivers/md/dm-cache-target.c +++ b/drivers/md/dm-cache-target.c | |||
| @@ -2840,7 +2840,7 @@ static void cache_status(struct dm_target *ti, status_type_t type, | |||
| 2840 | residency = policy_residency(cache->policy); | 2840 | residency = policy_residency(cache->policy); |
| 2841 | 2841 | ||
| 2842 | DMEMIT("%u %llu/%llu %u %llu/%llu %u %u %u %u %u %u %lu ", | 2842 | DMEMIT("%u %llu/%llu %u %llu/%llu %u %u %u %u %u %u %lu ", |
| 2843 | (unsigned)(DM_CACHE_METADATA_BLOCK_SIZE >> SECTOR_SHIFT), | 2843 | (unsigned)DM_CACHE_METADATA_BLOCK_SIZE, |
| 2844 | (unsigned long long)(nr_blocks_metadata - nr_free_blocks_metadata), | 2844 | (unsigned long long)(nr_blocks_metadata - nr_free_blocks_metadata), |
| 2845 | (unsigned long long)nr_blocks_metadata, | 2845 | (unsigned long long)nr_blocks_metadata, |
| 2846 | cache->sectors_per_block, | 2846 | cache->sectors_per_block, |
