diff --git a/CHANGES-3.3 b/CHANGES-3.3 index b1ff0a199c147be9001f510229ec6f42ad3c5210..6378c7be678827dad61218dafadc6ac92903774e 100644 --- a/CHANGES-3.3 +++ b/CHANGES-3.3 @@ -11,6 +11,7 @@ the history of the 3.2 series (2018-05 - 2022-08). This release contains contributions from (alphabetically by given name): - Adriaan de Groot + - TNE - vincent PENVERN ## Core ## @@ -23,6 +24,8 @@ This release contains contributions from (alphabetically by given name): - *partition* module stores a global storage value in luksPassphrase, for later modules that need to manipulate the encrypted partition. (thanks vincent, #2424) + - *partition* module no longer clear (unmounts) a Ventoy device. + (thanks TNE, #2427) # 3.3.13 (2024-12-31) @@ -41,7 +44,7 @@ This release contains contributions from (alphabetically by given name): - Fewer compile warnings with most-recent Qt versions. - Support systemd and consolekit block-suspend, not just KDE Plasma block-suspend, during installation. (thanks Jakob, #2404) - + ## Modules ## - *dracut* module has more freedom to specify program options. (thanks Simon, #2401) - *partition* module improved some user-visible messages. (thanks Masato, #2412) diff --git a/src/modules/partition/jobs/ClearMountsJob.cpp b/src/modules/partition/jobs/ClearMountsJob.cpp index a1e544f9c90a48cc13b5e29f001d17fe0a28417c..2fbafb5dc754d40dccbb18aa512c67d6a3712287 100644 --- a/src/modules/partition/jobs/ClearMountsJob.cpp +++ b/src/modules/partition/jobs/ClearMountsJob.cpp @@ -110,15 +110,17 @@ isSpecial( const QString& baseName ) // Fedora live images use /dev/mapper/live-* internally. We must not // unmount those devices, because they are used by the live image and // because we need /dev/mapper/live-base in the unpackfs module. - if (baseName.startsWith( "live-" )) - return true; + const bool specialForFedora = baseName.startsWith( "live-" ); + // Exclude /dev/mapper/control - if (baseName == "control") - return true; + const bool specialMapperControl = baseName == "control"; + // When ventoy is used, ventoy uses the /dev/mapper/ventoy device. We // must not unmount this device, because it is used by the live image // and because we need /dev/mapper/ventoy in the unpackfs module. - return baseName == "ventoy"; + const bool specialVentoy = baseName == "ventoy"; + + return specialForFedora || specialMapperControl || specialVentoy; } /** @brief Returns a list of unneeded crypto devices diff --git a/src/modules/partition/jobs/ClearMountsJob.h b/src/modules/partition/jobs/ClearMountsJob.h index fb3aca1e440ff15a59ecf02331c4ba70bd0407e7..44fc81590db402cc0035d25558f9177c0543355f 100644 --- a/src/modules/partition/jobs/ClearMountsJob.h +++ b/src/modules/partition/jobs/ClearMountsJob.h @@ -30,7 +30,8 @@ class Device; * files that should not be closed (e.g. "myvg-mylv"). * * (*) Some exceptions always exist: /dev/mapper/control is never - * closed. /dev/mapper/live-* is never closed. + * closed. /dev/mapper/live-* is never closed. /dev/mapper/ventoy + * is never closed. * */ class ClearMountsJob : public Calamares::Job