1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

mapped-devices/luks: Support extra options.

Allow passing extra options to the 'cryptsetup open' command.

* gnu/system/mapped-devices.scm (luks-device-mapping-with-options):
[#:extra-options]: New argument.
(open-luks-device): Use it.
(check-luks-device): Validate it.
* doc/guix.texi (Mapped Devices): Document it.
* gnu/tests/install.scm (%test-encrypted-root-extra-options-os): New
test for it, as well as the previously untested #:allow-discards?
option.
(%encrypted-root-extra-options-os): New os declaration for the test.

Change-Id: I265a431efb0c81ed7cfc984344c6b8a4cc2f1624
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
45mg
2025-09-22 18:42:04 +05:30
committed by Ludovic Courtès
parent e9aa1e9459
commit 73cbb94d1d
3 changed files with 112 additions and 6 deletions

View File

@@ -18783,6 +18783,27 @@ this option can have a negative security impact because it can make
file system level operations visible on the physical device. For more
information, refer to the description of the @code{--allow-discards}
option in the @code{cryptsetup-open(8)} man page.
@item #:extra-options
List of additional command-line options for the @code{cryptsetup open}
command. See the @code{cryptsetup-open(8)} man page for a list of
supported options.
For example, here is how you could specify the
@option{--perf-no_read_workqueue} and @option{--perf-no_write_workqueue}
options, along with @option{--allow-discards}:
@lisp
(mapped-device
(source "/dev/sdb1")
(target "data")
(type luks-device-mapping)
(arguments '(#:allow-discards? #t
#:extra-options
("--perf-no_read_workqueue"
"--perf-no_write_workqueue")))))
@end lisp
@end table
@end defvar