From: Fabio Fantoni via pve-devel <pve-devel@lists.proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Daniel Kral <d.kral@proxmox.com>
Cc: Fabio Fantoni <fabio.fantoni@m2r.biz>
Subject: Re: [pve-devel] [RFC PATCH 1/2] install: btrfs: fix raid level falling back to single mode
Date: Mon, 13 Jan 2025 13:15:23 +0100 [thread overview]
Message-ID: <mailman.251.1736770533.441.pve-devel@lists.proxmox.com> (raw)
In-Reply-To: <20250110170040.201474-1-d.kral@proxmox.com>
[-- Attachment #1: Type: message/rfc822, Size: 9349 bytes --]
From: Fabio Fantoni <fabio.fantoni@m2r.biz>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>, Daniel Kral <d.kral@proxmox.com>
Subject: Re: [pve-devel] [RFC PATCH 1/2] install: btrfs: fix raid level falling back to single mode
Date: Mon, 13 Jan 2025 13:15:23 +0100
Message-ID: <a249f449-e9f8-4e41-b1c5-408e768c41fd@m2r.biz>
Il 10/01/2025 18:00, Daniel Kral ha scritto:
> From a user's perspective, the BTRFS single mode has been removed since
> d85180e ("tui: rename raid levels 0/1 to align with GUI installer"). The
> user can now only select at least the "RAID0" level, but if a user
> selects any raid level with only one disk configured on the system,
> BTRFS will be setup in 'single' mode instead of the chosen raid level.
>
> The TUI installer has a separate check for this, but the GUI installer
> as well as the auto installer will silently fallback to single mode,
> which could be confusing for and unwanted by the user.
>
> Therefore, remove the BTRFS single mode from being selected when
> configuring disks in the GUI installer and during the installation in
> general, which makes the auto installer fail if the wrong amount of
> disks are selected for the specified raid level. This makes btrfs' raid
> disk count validation align with the one from zfs.
>
> Signed-off-by: Daniel Kral <d.kral@proxmox.com>
> ---
>
> Discussion
>
> BTRFS didn't allow a single-disk RAID0 configuration before kernel 5.15
> and AFAIK also silently used the single profile for that case, but this
> has changed since then.
>
> If we want users to still be able to create a BTRFS filesystem in single
> mode (which seems very reasonable), I can do a v2 or followup to add a
> "btrfs (single)" entry to the disk setup.
Hi, I think is better to add also "single" mode
>
> Testing
>
> I have tested this by the usual installer test procedure (debug shell,
> patch files, launch target installer manually) and the GUI installer
> disallows creating a btrfs raid1 or raid10 with only one disk, but
> allows it with at least the correct amount of disks. The same applies to
> the autoinstaller with the same test cases.
>
> Unpatched a single-disk RAID0 install resulted in:
>
> ```
> root@pve:~# btrfs filesystem usage -T .
> [ ... ]
> Data Metadata System
> Id Path single single single Unallocated Total Slack
> -- --------- ------ --------- -------- ----------- -------- -------
> 1 /dev/sda3 4.01GB 520.00MiB 4.00MiB 26.98GiB 31.50GiB 3.50KiB
> [ ... ]
> ```
>
> and patched a single-disk RAID0 install results in:
>
> ```
> ```
> root@pve:~# btrfs filesystem usage -T .
> [ ... ]
> Data Metadata System
> Id Path RAID0 RAID0 RAID0 Unallocated Total Slack
> -- --------- ------ --------- -------- ----------- -------- -------
> 1 /dev/sda3 4.00GB 512.00MiB 8.00MiB 26.99GiB 31.50GiB 3.50KiB
> [ ... ]
> ```
> ```
>
> Proxmox/Install.pm | 22 +++++++++-------------
> 1 file changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/Proxmox/Install.pm b/Proxmox/Install.pm
> index c0a17b2..b72a83e 100644
> --- a/Proxmox/Install.pm
> +++ b/Proxmox/Install.pm
> @@ -359,20 +359,16 @@ sub get_btrfs_raid_setup {
>
> my $mode;
>
> - if ($diskcount == 1) {
> - $mode = 'single';
> + if ($filesys eq 'btrfs (RAID0)') {
> + $mode = 'raid0';
> + } elsif ($filesys eq 'btrfs (RAID1)') {
> + die "btrfs (RAID1) needs at least 2 devices\n" if $diskcount < 2;
> + $mode = 'raid1';
> + } elsif ($filesys eq 'btrfs (RAID10)') {
> + die "btrfs (RAID10) needs at least 4 devices\n" if $diskcount < 4;
> + $mode = 'raid10';
> } else {
> - if ($filesys eq 'btrfs (RAID0)') {
> - $mode = 'raid0';
> - } elsif ($filesys eq 'btrfs (RAID1)') {
> - die "btrfs (RAID1) needs at least 2 devices\n" if $diskcount < 2;
> - $mode = 'raid1';
> - } elsif ($filesys eq 'btrfs (RAID10)') {
> - die "btrfs (RAID10) needs at least 4 devices\n" if $diskcount < 4;
> - $mode = 'raid10';
> - } else {
> - die "unknown btrfs mode '$filesys'\n";
> - }
> + die "unknown btrfs mode '$filesys'\n";
> }
>
> return ($devlist, $mode);
--
Questa email รจ stata esaminata alla ricerca di virus dal software antivirus Avast.
www.avast.com
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-01-13 12:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-10 17:00 Daniel Kral
2025-01-10 17:00 ` [pve-devel] [RFC PATCH 2/2] common: btrfs: lower minimum amount of disks for raid10 to 2 Daniel Kral
2025-01-13 12:24 ` Fabio Fantoni via pve-devel
[not found] ` <0999b2e1-8b8b-4baf-84d6-32251a675338@m2r.biz>
2025-01-15 9:00 ` Daniel Kral
2025-01-15 16:14 ` Fabio Fantoni via pve-devel
2025-04-14 11:57 ` Christoph Heiss
2025-01-13 12:15 ` Fabio Fantoni via pve-devel [this message]
2025-04-14 12:20 ` [pve-devel] [RFC PATCH 1/2] install: btrfs: fix raid level falling back to single mode Christoph Heiss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=mailman.251.1736770533.441.pve-devel@lists.proxmox.com \
--to=pve-devel@lists.proxmox.com \
--cc=d.kral@proxmox.com \
--cc=fabio.fantoni@m2r.biz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal