mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-23 00:00:02 +03:00
bcache: writes correct superblock for multiple cache devs
Signed-off-by: Nicholas Swenson <nks@daterainc.com>
This commit is contained in:
parent
fe921e118b
commit
f5cf644def
@ -169,7 +169,8 @@ static void write_sb(char *dev, unsigned block_size, unsigned bucket_size,
|
|||||||
bool writeback, bool discard,
|
bool writeback, bool discard,
|
||||||
unsigned cache_replacement_policy,
|
unsigned cache_replacement_policy,
|
||||||
uint64_t data_offset,
|
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;
|
int fd;
|
||||||
char uuid_str[40], set_uuid_str[40];
|
char uuid_str[40], set_uuid_str[40];
|
||||||
@ -217,7 +218,8 @@ static void write_sb(char *dev, unsigned block_size, unsigned bucket_size,
|
|||||||
data_offset);
|
data_offset);
|
||||||
} else {
|
} else {
|
||||||
sb.nbuckets = getblocks(fd) / sb.bucket_size;
|
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;
|
sb.first_bucket = (23 / sb.bucket_size) + 1;
|
||||||
|
|
||||||
if (sb.nbuckets < 1 << 7) {
|
if (sb.nbuckets < 1 << 7) {
|
||||||
@ -413,12 +415,14 @@ int main(int argc, char **argv)
|
|||||||
for (i = 0; i < ncache_devices; i++)
|
for (i = 0; i < ncache_devices; i++)
|
||||||
write_sb(cache_devices[i], block_size, bucket_size,
|
write_sb(cache_devices[i], block_size, bucket_size,
|
||||||
writeback, discard, cache_replacement_policy,
|
writeback, discard, cache_replacement_policy,
|
||||||
data_offset, set_uuid, false);
|
data_offset, set_uuid, false,
|
||||||
|
ncache_devices, i);
|
||||||
|
|
||||||
for (i = 0; i < nbacking_devices; i++)
|
for (i = 0; i < nbacking_devices; i++)
|
||||||
write_sb(backing_devices[i], block_size, bucket_size,
|
write_sb(backing_devices[i], block_size, bucket_size,
|
||||||
writeback, discard, cache_replacement_policy,
|
writeback, discard, cache_replacement_policy,
|
||||||
data_offset, set_uuid, true);
|
data_offset, set_uuid, true,
|
||||||
|
nbacking_devices, i);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user