mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-23 00:00:02 +03:00
Add --durability to format
This commit is contained in:
parent
35d3f92ad5
commit
6aabc97dc9
@ -57,6 +57,7 @@ x(0, bucket_size, "size", "Bucket size") \
|
|||||||
x('g', group, "label", "Disk group")\
|
x('g', group, "label", "Disk group")\
|
||||||
x(0, discard, NULL, NULL) \
|
x(0, discard, NULL, NULL) \
|
||||||
x(0, data_allowed, "journal,btree,data", "Allowed types of data on this device")\
|
x(0, data_allowed, "journal,btree,data", "Allowed types of data on this device")\
|
||||||
|
x(0, durability, "#", "Number of times data written to this device will have been considered replicated")\
|
||||||
t("Device specific options must come before corresponding devices, e.g.") \
|
t("Device specific options must come before corresponding devices, e.g.") \
|
||||||
t(" bcachefs format --group cache /dev/sdb --tier 1 /dev/sdc") \
|
t(" bcachefs format --group cache /dev/sdb --tier 1 /dev/sdc") \
|
||||||
t("") \
|
t("") \
|
||||||
@ -96,6 +97,7 @@ static void usage(void)
|
|||||||
" --fs_size=size Size of filesystem on device\n"
|
" --fs_size=size Size of filesystem on device\n"
|
||||||
" --bucket=size Bucket size\n"
|
" --bucket=size Bucket size\n"
|
||||||
" --discard Enable discards\n"
|
" --discard Enable discards\n"
|
||||||
|
" --durability=# Device durability (0-4)\n"
|
||||||
" -g, --group=label Disk group\n"
|
" -g, --group=label Disk group\n"
|
||||||
"\n"
|
"\n"
|
||||||
" -q, --quiet Only print errors\n"
|
" -q, --quiet Only print errors\n"
|
||||||
@ -261,6 +263,11 @@ int cmd_format(int argc, char *argv[])
|
|||||||
read_flag_list_or_die(optarg,
|
read_flag_list_or_die(optarg,
|
||||||
bch2_data_types, "data type");
|
bch2_data_types, "data type");
|
||||||
break;
|
break;
|
||||||
|
case O_durability:
|
||||||
|
if (kstrtouint(optarg, 10, &dev_opts.durability) ||
|
||||||
|
dev_opts.durability > BCH_REPLICAS_MAX)
|
||||||
|
die("invalid durability");
|
||||||
|
break;
|
||||||
case O_no_opt:
|
case O_no_opt:
|
||||||
dev_opts.path = strdup(optarg);
|
dev_opts.path = strdup(optarg);
|
||||||
darray_append(devices, dev_opts);
|
darray_append(devices, dev_opts);
|
||||||
|
@ -247,6 +247,7 @@ struct bch_sb *bch2_format(struct format_opts opts,
|
|||||||
SET_BCH_MEMBER_REPLACEMENT(m, CACHE_REPLACEMENT_LRU);
|
SET_BCH_MEMBER_REPLACEMENT(m, CACHE_REPLACEMENT_LRU);
|
||||||
SET_BCH_MEMBER_DISCARD(m, i->discard);
|
SET_BCH_MEMBER_DISCARD(m, i->discard);
|
||||||
SET_BCH_MEMBER_DATA_ALLOWED(m, i->data_allowed);
|
SET_BCH_MEMBER_DATA_ALLOWED(m, i->data_allowed);
|
||||||
|
SET_BCH_MEMBER_DURABILITY(m, i->durability + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Disk groups */
|
/* Disk groups */
|
||||||
|
@ -59,6 +59,7 @@ struct dev_opts {
|
|||||||
unsigned bucket_size;
|
unsigned bucket_size;
|
||||||
const char *group;
|
const char *group;
|
||||||
unsigned data_allowed;
|
unsigned data_allowed;
|
||||||
|
unsigned durability;
|
||||||
bool discard;
|
bool discard;
|
||||||
|
|
||||||
u64 nbuckets;
|
u64 nbuckets;
|
||||||
@ -71,6 +72,7 @@ static inline struct dev_opts dev_opts_default()
|
|||||||
{
|
{
|
||||||
return (struct dev_opts) {
|
return (struct dev_opts) {
|
||||||
.data_allowed = ~0U << 2,
|
.data_allowed = ~0U << 2,
|
||||||
|
.durability = 1,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user