* [PATCH v2 0/3] btrfs: small changes to "usebackuproot" mount
@ 2026-07-03 8:41 Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options Qu Wenruo
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Qu Wenruo @ 2026-07-03 8:41 UTC (permalink / raw)
To: linux-btrfs
[CHANGELOG]
v2:
- Also include "rescue=usebackroot" into "rescue=all" shortcut
"rescue=usebackuproot" mount option is not requiring a read-only mount,
which is different from all the other options in the "rescue=" group.
Address that in the first patch.
Standalone "usebackuproot" mount option is already marked deprecated
since v5.9, I see no practical reason to keep supporting it in 2026.
Just remove it in the second patch.
Qu Wenruo (3):
btrfs: add "rescue=usebackuproot" into forced read-only options
btrfs: add "rescue=usebackuproot" into "rescue=all" shortcut
btrfs: remove "usebackuproot" mount option
fs/btrfs/super.c | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
--
2.54.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options
2026-07-03 8:41 [PATCH v2 0/3] btrfs: small changes to "usebackuproot" mount Qu Wenruo
@ 2026-07-03 8:41 ` Qu Wenruo
2026-07-03 9:21 ` Dongjiang Zhu
2026-07-03 8:41 ` [PATCH v2 2/3] btrfs: add "rescue=usebackuproot" into "rescue=all" shortcut Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 3/3] btrfs: remove "usebackuproot" mount option Qu Wenruo
2 siblings, 1 reply; 6+ messages in thread
From: Qu Wenruo @ 2026-07-03 8:41 UTC (permalink / raw)
To: linux-btrfs
According to btrfs(5) man page, all rescue options should require an
read-only mount.
But that read-only check is only introduced for newer rescue options,
not for the pre-existing "usebackuproot" one.
Unify the behavior to match the document.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
fs/btrfs/super.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 0a6ce6c19d8c..fef9025a2f76 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -692,7 +692,8 @@ bool btrfs_check_options(const struct btrfs_fs_info *info,
bool ret = true;
if (!(flags & SB_RDONLY) &&
- (check_ro_option(info, *mount_opt, BTRFS_MOUNT_NOLOGREPLAY, "nologreplay") ||
+ (check_ro_option(info, *mount_opt, BTRFS_MOUNT_USEBACKUPROOT, "usebackuproot") ||
+ check_ro_option(info, *mount_opt, BTRFS_MOUNT_NOLOGREPLAY, "nologreplay") ||
check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREBADROOTS, "ignorebadroots") ||
check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREDATACSUMS, "ignoredatacsums") ||
check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREMETACSUMS, "ignoremetacsums") ||
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/3] btrfs: add "rescue=usebackuproot" into "rescue=all" shortcut
2026-07-03 8:41 [PATCH v2 0/3] btrfs: small changes to "usebackuproot" mount Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options Qu Wenruo
@ 2026-07-03 8:41 ` Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 3/3] btrfs: remove "usebackuproot" mount option Qu Wenruo
2 siblings, 0 replies; 6+ messages in thread
From: Qu Wenruo @ 2026-07-03 8:41 UTC (permalink / raw)
To: linux-btrfs
The mount option "rescue=all" should be a shortcut to include all
"rescue=" mount options. but unfortunately "rescue=usebackuproot" is not
include.
Include that option so "rescue=all" have a better chance to mount a
corrupted fs.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
fs/btrfs/super.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index fef9025a2f76..742f646ec12c 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -620,6 +620,7 @@ static int btrfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
btrfs_set_opt(ctx->mount_opt, IGNORESUPERFLAGS);
btrfs_set_opt(ctx->mount_opt, IGNOREBADROOTS);
btrfs_set_opt(ctx->mount_opt, NOLOGREPLAY);
+ btrfs_set_opt(ctx->mount_opt, USEBACKUPROOT);
break;
default:
btrfs_info(NULL, "unrecognized rescue option '%s'",
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 3/3] btrfs: remove "usebackuproot" mount option
2026-07-03 8:41 [PATCH v2 0/3] btrfs: small changes to "usebackuproot" mount Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 2/3] btrfs: add "rescue=usebackuproot" into "rescue=all" shortcut Qu Wenruo
@ 2026-07-03 8:41 ` Qu Wenruo
2 siblings, 0 replies; 6+ messages in thread
From: Qu Wenruo @ 2026-07-03 8:41 UTC (permalink / raw)
To: linux-btrfs
This mount option is marked deprecated since the introduction of
"rescue=" mount option group, in v5.9.
That's already a long long time ago, and it should be safe to completely
remove the old "usebackuproot" mount option now.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
fs/btrfs/super.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 742f646ec12c..2558801f483c 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -128,7 +128,6 @@ enum {
/* Rescue options */
Opt_rescue,
- Opt_usebackuproot,
/* Debugging options */
Opt_enospc_debug,
@@ -248,8 +247,6 @@ static const struct fs_parameter_spec btrfs_fs_parameters[] = {
/* Rescue options. */
fsparam_enum("rescue", Opt_rescue, btrfs_parameter_rescue),
- /* Deprecated, with alias rescue=usebackuproot */
- __fsparam(NULL, "usebackuproot", Opt_usebackuproot, fs_param_deprecated, NULL),
/* For compatibility only, alias for "rescue=nologreplay". */
fsparam_flag("norecovery", Opt_norecovery),
@@ -560,14 +557,6 @@ static int btrfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
else
btrfs_set_opt(ctx->mount_opt, AUTO_DEFRAG);
break;
- case Opt_usebackuproot:
- btrfs_warn(NULL,
- "'usebackuproot' is deprecated, use 'rescue=usebackuproot' instead");
- btrfs_set_opt(ctx->mount_opt, USEBACKUPROOT);
-
- /* If we're loading the backup roots we can't trust the space cache. */
- btrfs_set_opt(ctx->mount_opt, CLEAR_CACHE);
- break;
case Opt_skip_balance:
btrfs_set_opt(ctx->mount_opt, SKIP_BALANCE);
break;
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options
2026-07-03 8:41 ` [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options Qu Wenruo
@ 2026-07-03 9:21 ` Dongjiang Zhu
2026-07-03 9:28 ` Qu Wenruo
0 siblings, 1 reply; 6+ messages in thread
From: Dongjiang Zhu @ 2026-07-03 9:21 UTC (permalink / raw)
To: Qu Wenruo, linux-btrfs
在 2026/7/3 16:41, Qu Wenruo 写道:
> According to btrfs(5) man page, all rescue options should require an
> read-only mount.
>
> But that read-only check is only introduced for newer rescue options,
> not for the pre-existing "usebackuproot" one.
>
> Unify the behavior to match the document.
>
> Signed-off-by: Qu Wenruo <wqu@suse.com>
> ---
> fs/btrfs/super.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
> index 0a6ce6c19d8c..fef9025a2f76 100644
> --- a/fs/btrfs/super.c
> +++ b/fs/btrfs/super.c
> @@ -692,7 +692,8 @@ bool btrfs_check_options(const struct btrfs_fs_info *info,
> bool ret = true;
>
> if (!(flags & SB_RDONLY) &&
> - (check_ro_option(info, *mount_opt, BTRFS_MOUNT_NOLOGREPLAY, "nologreplay") ||
> + (check_ro_option(info, *mount_opt, BTRFS_MOUNT_USEBACKUPROOT, "usebackuproot") ||
> + check_ro_option(info, *mount_opt, BTRFS_MOUNT_NOLOGREPLAY, "nologreplay") ||
> check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREBADROOTS, "ignorebadroots") ||
> check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREDATACSUMS, "ignoredatacsums") ||
> check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREMETACSUMS, "ignoremetacsums") ||
Hi Qu,
One more thing I noticed: should BTRFS_MOUNT_USEBACKUPROOT also be added
to BTRFS_MOUNT_FULL_RO_MASK?
Thanks,
Dongjiang
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options
2026-07-03 9:21 ` Dongjiang Zhu
@ 2026-07-03 9:28 ` Qu Wenruo
0 siblings, 0 replies; 6+ messages in thread
From: Qu Wenruo @ 2026-07-03 9:28 UTC (permalink / raw)
To: Dongjiang Zhu, Qu Wenruo, linux-btrfs
在 2026/7/3 18:51, Dongjiang Zhu 写道:
> 在 2026/7/3 16:41, Qu Wenruo 写道:
>> According to btrfs(5) man page, all rescue options should require an
>> read-only mount.
>>
>> But that read-only check is only introduced for newer rescue options,
>> not for the pre-existing "usebackuproot" one.
>>
>> Unify the behavior to match the document.
>>
>> Signed-off-by: Qu Wenruo <wqu@suse.com>
>> ---
>> fs/btrfs/super.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
>> index 0a6ce6c19d8c..fef9025a2f76 100644
>> --- a/fs/btrfs/super.c
>> +++ b/fs/btrfs/super.c
>> @@ -692,7 +692,8 @@ bool btrfs_check_options(const struct btrfs_fs_info *info,
>> bool ret = true;
>>
>> if (!(flags & SB_RDONLY) &&
>> - (check_ro_option(info, *mount_opt, BTRFS_MOUNT_NOLOGREPLAY, "nologreplay") ||
>> + (check_ro_option(info, *mount_opt, BTRFS_MOUNT_USEBACKUPROOT, "usebackuproot") ||
>> + check_ro_option(info, *mount_opt, BTRFS_MOUNT_NOLOGREPLAY, "nologreplay") ||
>> check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREBADROOTS, "ignorebadroots") ||
>> check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREDATACSUMS, "ignoredatacsums") ||
>> check_ro_option(info, *mount_opt, BTRFS_MOUNT_IGNOREMETACSUMS, "ignoremetacsums") ||
>
> Hi Qu,
>
> One more thing I noticed: should BTRFS_MOUNT_USEBACKUPROOT also be added
> to BTRFS_MOUNT_FULL_RO_MASK?
Thanks for pointing this out, you're completely right.
>
> Thanks,
> Dongjiang
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-07-03 9:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03 8:41 [PATCH v2 0/3] btrfs: small changes to "usebackuproot" mount Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 1/3] btrfs: add "rescue=usebackuproot" into forced read-only options Qu Wenruo
2026-07-03 9:21 ` Dongjiang Zhu
2026-07-03 9:28 ` Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 2/3] btrfs: add "rescue=usebackuproot" into "rescue=all" shortcut Qu Wenruo
2026-07-03 8:41 ` [PATCH v2 3/3] btrfs: remove "usebackuproot" mount option Qu Wenruo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.