Created attachment 13221 [details] scr Воспроизводится на образах линейки 10.1 Например, Workstation K 10.1, Workstation 10.1, Server V 10.1 alterator-vm-0.4.31-alt1 Конфигурация системы: подключено 2 диска. 1) Система установлена на /dev/sda : на этапе 4/12 Подготовка диска выбрать "Установка рабочей станции (совместима с Timeshift)". /dev/sdb не трогать. 2) После установки войти в систему и сделать рейд командами: # btrfs device add /dev/sdb /home -f Performing full device TRIM /dev/sdb (32.00GiB) ... # btrfs balance start -dconvert=raid1 -mconvert=raid1 /home Done, had to relocate 18 out of 18 chunks В результате получилась конфигурация # lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda btrfs 36016dcb-ffd0-4b79-a585-8c3daa44b5cc sdb ├─sdb1 swap 1 8d8b8899-eb54-4d68-b960-704f27728516 [SWAP] └─sdb2 btrfs 36016dcb-ffd0-4b79-a585-8c3daa44b5cc 10G 46% /home sr0 iso9660 Joliet Extension ALT Workstation K 10.1 x86_64 2022-10-11-12-26-21-00 # btrfs filesystem show Label: none uuid: 36016dcb-ffd0-4b79-a585-8c3daa44b5cc Total devices 2 FS bytes used 13.11GiB devid 1 size 24.87GiB used 15.03GiB path /dev/sdb2 devid 2 size 32.00GiB used 15.03GiB path /dev/sda Шаги воспроизведения: 1) Начать установку системы, дойти до шага 4/12 Подготовка диска, выбрать "Вручную". 2) На следующем экране пытаемся удалить все. Результат: Не удается удалить том, соответствующий /home. Он помечен как ФС Unknown. См. скриншот. Что-либо сделать с ним нельзя, попытки пройти по инсталлятору дальше приводят к ошибке "Операция невозможна". Также как UNKNOWN помечен раздел, соответствующий [SWAP]. Ожидаемый результат: Успешное удаление всех ранее созданных сущностей. Дополнительно: Аналогично воспроизводится, если рейд создан на несистемных дисках.
Про некорректность определения ФС создан отдельный баг https://bugzilla.altlinux.org/46188
Результат проверки актуальности Состояние: p10 alterator-vm-0.4.45-alt1, Sisyphus 0.4.53-alt1. Probe btrfs raid по-прежнему даёт Unknown, без FSIM том нельзя удалить. Changelog 46187 не закрывает. Рекомендация: выполнить ретест удаления тома с заранее созданным btrfs raid на актуальном установщике Sisyphus.
Воспроизводится на regular-mate-latest (Sisyphus, alterator-vm-0.4.53-alt1, libevms-2.5.5-alt94, btrfs-progs-7.1). Стенд: swap + btrfs на sda2, второй диск целиком добавлен в raid1 (btrfs device add + balance -dconvert=raid1 -mconvert=raid1); перезагрузка в установщик -> 4/13 «Вручную». У одного из членов raid (с зелёной иконкой vm/mounted.png) нет кнопок «Удалить»/«Удалить файловую систему», только «Изменить точку монтирования»/«Создать подтом». Второй член удалить можно, но при применении — «Критическая ошибка: Device or resource busy»; /var/log/evms-engine.log: Engine: engine_open_volume: Open of /dev/sdc failed with error code 16: Device or resource busy Engine: get_volume_sizes_and_limits: FSIM BtrFS returned error code 22 from call to get_fs_limits() for volume /dev/evms/sda2 Причина в evms, plugins/btrfs/fsimbtrfs.c: во время discovery btrfs_probe -> btrfs_get_subvols (стр. 234–245) монтирует каждый btrfs-том на /mnt/destination (char *path = "/mnt/destination", стр. 240), чтобы перечислить подтомы, а btrfs_umount (стр. 202–232) делает umount <devname тома>. Для multi-device btrfs ядро показывает источник монтирования под именем другого члена, umount по имени устройства не находит монтирования, а volume->mount_point = NULL (стр. 224) выставляется независимо от результата — raid остаётся смонтированным: # grep destination /proc/mounts /dev/sdc /mnt/destination btrfs rw,relatime,discard=async,space_cache=v2,subvolid=5,subvol=/ 0 0 Том, совпавший с источником монтирования, получает статус mounted (нет «Удалить»), а второму члену при commit не удаётся эксклюзивно открыть устройство -> EBUSY. После «Назад» с отказом от изменений повторное discovery монтирует raid ещё раз поверх. Контроль: одиночный btrfs с подтомами удаляется нормально; raid1 на двух несистемных дисках (sdb+sdc) даёт ту же ошибку; если raid не трогать и ставить на другой диск — commit проходит. Примерный фикс: в btrfs_umount отмонтировать по точке монтирования (cmd[1] = mount point, т.е. umount /mnt/destination) и сбрасывать mount_point только при rc == 0; а для пробы подтомов в btrfs_get_subvols использовать временный каталог (mkdtemp), а не /mnt/destination — заодно уйдёт лишнее монтирование в /mnt/destination перед установкой. Перевешиваю на evms (fsimbtrfs.c), alterator-vm тут ни при чём.
evms-2.5.5-alt95 -> sisyphus: Thu Sep 24 2026 Oleg Solovyov <mcpain@altlinux> 2.5.5-alt95 - btrfs: handle deleting btrfs raid (Closes: #46187) - lvm: fix removing one and only removable PV from VG (Closes: #47022) - gpt: re-read device maj:min after re-creating partitons (Closes: #60510) - raid: retry stopping array on EBUSY