Skip to content

mount_flags: ignore iversion, noiversion, silent and loud - #2384

Merged
giuseppe merged 2 commits into
containers:mainfrom
kolyshkin:ignore-iversion-silent
Oct 19, 2026
Merged

giuseppe merged 2 commits into
containers:mainfrom
kolyshkin:ignore-iversion-silent

Conversation

@kolyshkin

@kolyshkin kolyshkin commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

These options are listed in the runtime spec, but crun passes them to the filesystem as data, so e.g. a tmpfs mount with iversion fails with EINVAL.

Accept and ignore them, as they make no sense on the kernels we support:

  • i_version is unconditionally enabled by btrfs (since v3.5), xfs v5 (v3.11), ext4 (v6.1, also in EL9) and tmpfs (v6.1), so MS_I_VERSION has no effect there, and it can not be set via the new mount API.
  • MS_SILENT only silences fill_super error messages when the kernel probes for the filesystem type, which crun never does. The new mount API stopped parsing silent in v5.8.

The first commit stops tests/test_oci_features.py from duplicating the list of mount options, so adding an option does not require updating the test.

This is a simpler alternative to #2381, which forces the legacy mount(2) path for these flags.

Fixes: #2330

@kolyshkin
kolyshkin force-pushed the ignore-iversion-silent branch from 6a8a504 to 6fb0c57 Compare October 19, 2026 05:44
The test has a full copy of the mount options list from
src/libcrun/mount_flags.perf, which has to be updated every time an
option is added, and only catches the case when it is not.

Check that a few basic options are present instead.

Assisted-by: Claude Code (claude-opus-5-5)
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
These options are listed in the runtime spec, but crun does not know
them and passes them to the filesystem as data, so e.g. a tmpfs mount
with "iversion" fails with EINVAL.

Accept and ignore them, as they make no sense on the kernels we support:

 - i_version is unconditionally enabled by btrfs (since v3.5), xfs v5
   (v3.11), ext4 (v6.1, also in EL9) and tmpfs (v6.1), so MS_I_VERSION
   has no effect there, and it can not be set via the new mount API.

 - MS_SILENT only silences fill_super error messages when the kernel
   probes for the filesystem type, which crun never does. The new mount
   API stopped parsing "silent" in v5.8.

Fixes: containers#2330

Assisted-by: Claude Code (claude-opus-5-5)
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

@giuseppe giuseppe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@giuseppe
giuseppe merged commit 1178122 into containers:main Oct 19, 2026
66 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

crun rejects the OCI mount options iversion, noiversion, silent and loud on tmpfs

2 participants