aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/dm-cache-metadata.c4
-rw-r--r--drivers/md/dm-cache-metadata.h8
-rw-r--r--drivers/md/dm-cache-target.c2
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,