summaryrefslogtreecommitdiff
path: root/linuxnamespaces
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2025-06-27 21:04:36 +0200
committerHelmut Grohne <helmut@subdivi.de>2025-06-27 21:21:21 +0200
commit7d6895d7ca0fe472c64964793b12f8ea536decde (patch)
treed31834267c8f3ee72c27c1d5acb79ac16c774336 /linuxnamespaces
parent7dbe52bb5cf303f4a51b58c9e2865d3ece3394bf (diff)
downloadpython-linuxnamespaces-7d6895d7ca0fe472c64964793b12f8ea536decde.tar.gz
mount syscall now accepts options as dict
Diffstat (limited to 'linuxnamespaces')
-rw-r--r--linuxnamespaces/syscalls.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/linuxnamespaces/syscalls.py b/linuxnamespaces/syscalls.py
index 108c357..e9b0e44 100644
--- a/linuxnamespaces/syscalls.py
+++ b/linuxnamespaces/syscalls.py
@@ -583,7 +583,7 @@ def mount(
target: PathConvertible,
filesystemtype: str | None,
flags: MountFlags = MountFlags.NONE,
- data: str | list[str] | None = None,
+ data: str | list[str] | dict[str, str | int | None] | None = None,
) -> None:
"""Python wrapper for mount(2)."""
if (flags & MountFlags.PROPAGATION_FLAGS).bit_count() > 1:
@@ -595,6 +595,11 @@ def mount(
)
):
raise ValueError("invalid flags for mount")
+ if isinstance(data, dict):
+ data = [
+ key if value is None else f"{key}={value}"
+ for key, value in data.items()
+ ]
if isinstance(data, list):
if any("," in s for s in data):
raise ValueError("data elements must not contain a comma")