mirror of
https://github.com/torvalds/linux
synced 2024-11-03 01:56:01 +00:00
btrfs: introduce mount option rescue=all
Now that we have the building blocks for some better recovery options with corrupted file systems, add a rescue=all option to enable all of the relevant rescue options. This will allow distros to simply default to rescue=all for the "oh dear lord the world's on fire" recovery without needing to know all the different options that we have and may add in the future. Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
882dbe0cec
commit
9037d3cbcb
2 changed files with 12 additions and 0 deletions
|
@ -362,6 +362,7 @@ enum {
|
|||
Opt_nologreplay,
|
||||
Opt_ignorebadroots,
|
||||
Opt_ignoredatacsums,
|
||||
Opt_rescue_all,
|
||||
|
||||
/* Deprecated options */
|
||||
Opt_recovery,
|
||||
|
@ -461,6 +462,7 @@ static const match_table_t rescue_tokens = {
|
|||
{Opt_ignorebadroots, "ibadroots"},
|
||||
{Opt_ignoredatacsums, "ignoredatacsums"},
|
||||
{Opt_ignoredatacsums, "idatacsums"},
|
||||
{Opt_rescue_all, "all"},
|
||||
{Opt_err, NULL},
|
||||
};
|
||||
|
||||
|
@ -512,6 +514,15 @@ static int parse_rescue_options(struct btrfs_fs_info *info, const char *options)
|
|||
btrfs_set_and_info(info, IGNOREDATACSUMS,
|
||||
"ignoring data csums");
|
||||
break;
|
||||
case Opt_rescue_all:
|
||||
btrfs_info(info, "enabling all of the rescue options");
|
||||
btrfs_set_and_info(info, IGNOREDATACSUMS,
|
||||
"ignoring data csums");
|
||||
btrfs_set_and_info(info, IGNOREBADROOTS,
|
||||
"ignoring bad roots");
|
||||
btrfs_set_and_info(info, NOLOGREPLAY,
|
||||
"disabling log replay at mount time");
|
||||
break;
|
||||
case Opt_err:
|
||||
btrfs_info(info, "unrecognized rescue option '%s'", p);
|
||||
ret = -EINVAL;
|
||||
|
|
|
@ -334,6 +334,7 @@ static const char *rescue_opts[] = {
|
|||
"nologreplay",
|
||||
"ignorebadroots",
|
||||
"ignoredatacsums",
|
||||
"all",
|
||||
};
|
||||
|
||||
static ssize_t supported_rescue_options_show(struct kobject *kobj,
|
||||
|
|
Loading…
Reference in a new issue