summaryrefslogtreecommitdiff
path: root/make-bcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'make-bcache.c')
-rw-r--r--make-bcache.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/make-bcache.c b/make-bcache.c
index 27d49eb9..9e55fac1 100644
--- a/make-bcache.c
+++ b/make-bcache.c
@@ -171,7 +171,8 @@ static void write_sb(char *dev, unsigned block_size, unsigned bucket_size,
bool writeback, bool discard, bool wipe_bcache,
unsigned cache_replacement_policy,
uint64_t data_offset,
- uuid_t set_uuid, bool bdev)
+ uuid_t set_uuid, bool bdev,
+ uint16_t nr_in_set, uint16_t nr_this_dev)
{
int fd;
char uuid_str[40], set_uuid_str[40], zeroes[SB_START] = {0};
@@ -243,7 +244,8 @@ static void write_sb(char *dev, unsigned block_size, unsigned bucket_size,
data_offset);
} else {
sb.nbuckets = getblocks(fd) / sb.bucket_size;
- sb.nr_in_set = 1;
+ sb.nr_in_set = nr_in_set;
+ sb.nr_this_dev = nr_this_dev;
sb.first_bucket = (23 / sb.bucket_size) + 1;
if (sb.nbuckets < 1 << 7) {
@@ -446,14 +448,14 @@ int main(int argc, char **argv)
for (i = 0; i < ncache_devices; i++)
write_sb(cache_devices[i], block_size, bucket_size,
writeback, discard, wipe_bcache,
- cache_replacement_policy,
- data_offset, set_uuid, false);
+ cache_replacement_policy, data_offset,
+ set_uuid, false, ncache_devices, i);
for (i = 0; i < nbacking_devices; i++)
write_sb(backing_devices[i], block_size, bucket_size,
writeback, discard, wipe_bcache,
- cache_replacement_policy,
- data_offset, set_uuid, true);
+ cache_replacement_policy, data_offset,
+ set_uuid, true, nbacking_devices, i);
return 0;
}