Bug 60272
| Summary: | Опция stop пытается отключить исходные устройства вместо сопоставленных карт | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Elena Mishina <lepata> |
| Component: | dm-secdel | Assignee: | Vitaly Chikunov <vt> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | vt |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||

Description
Elena Mishina 2026-08-25 14:39:38 MSKВ справке написано: -D|--detach-all|--stop detach all devices Первые две опции отключают все устройства: # secdelsetup -D detach /dev/mapper/secdel0 detach /dev/mapper/secdel1 Опция --stop — нет: # secdelsetup --stop detach UUID=7e8dcb6d-de71-46ab-9a98-38bdff347872 device-mapper: remove ioctl on UUID=7e8dcb6d-de71-46ab-9a98-38bdff347872 failed: Нет такого устройства или адреса Command failed. На самом деле опция --stop предназначена для отключения устройств, перечисленных в файле /etc/secdeltab. Однако при выполнении функции secdeltab_stop() в detach передается значение переменной $src, содержащей исходное устройство, вместо $tgt, содержащей имя сопоставленной карты. Исправление: в функции secdeltab_stop() передавать в detach переменную $tgt вместо $src: secdeltab_stop() { while read tgt src opts; do [ $(expr $tgt : ^# ) = 1 ] && continue detach $src || : done < $secdeltab } Также у опции не верное описание. Опция --stop отключает не все устройства, а только устройства, перечисленные в файле /etc/secdeltab. Пример: Содержимое файла: /dev/mapper/secdel1 UUID=7e8dcb6d-de71-46ab-9a98-38bdff347872 R # secdelsetup -a /dev/mapper/secdel0 /dev/sdb R /dev/mapper/secdel1 /dev/sdc1 R # secdelsetup --stop detach /dev/mapper/secdel1 Удалилось только второе устройство. Описание --stop нужно вынести в отдельную строку: -D|--detach-all detach all active devices --stop detach devices listed in secdeltab