Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 99-enable-transient-ro.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ spec:
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/mkdir -p /var/Users
ExecStart=-/bin/bash -c 'unshare -m -- /bin/sh -c "mount -o remount,rw / && ln -sf var/Users /Users"'
ExecStart=-/bin/bash -c 'unshare -m -- /bin/sh -c "mount --options-source=disable -o remount,rw / && ln -sf var/Users /Users"'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if --options-source is documented in the mount man page on RHCOS
# or search for util-linux version references in the repo
rg -n 'options-source' --type yaml --type sh

Repository: crc-org/snc

Length of output: 149


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- target file context ---'
git ls-files '99-enable-transient-ro.yaml' && {
  nl -ba 99-enable-transient-ro.yaml | sed -n '1,120p'
}

echo '--- repo search: options-source / mount invocations / util-linux references ---'
rg -n --hidden --no-messages -S 'options-source|mount --|util-linux|RHCOS|rhcos' .

Repository: crc-org/snc

Length of output: 245


🏁 Script executed:

#!/bin/bash
set -euo pipefail

if git ls-files --error-unmatch '99-enable-transient-ro.yaml' >/dev/null 2>&1; then
  nl -ba 99-enable-transient-ro.yaml | sed -n '1,120p'
fi

Repository: crc-org/snc

Length of output: 189


🌐 Web query:

util-linux mount --options-source introduced version documentation

💡 Result:

The --options-source command-line option for the mount command in the util-linux package was introduced in version 2.39 [1][2]. This option allows users to specify the source of default mount options. The source parameter accepts a comma-separated list of values: fstab, mtab, and disable [3][4]. Setting it to disable will disable reading from fstab and mtab and enables the --options-source-force behavior [3][5]. The default value for this setting is fstab,mtab [4][6]. This feature was part of a major rewrite of libmount and the mount command to support the new file descriptor-based mount kernel API, which was a primary focus of the 2.39 release [1][2].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '--- target file context ---'
sed -n '35,55p' 99-enable-transient-ro.yaml

echo '--- repo search: rhcos / util-linux version references ---'
rg -n --hidden --no-messages -S 'util-linux|RHCOS|rhcos|version|osVersion|release' . \
  | sed -n '1,200p'

Repository: crc-org/snc

Length of output: 16117


🌐 Web query:

OpenShift 4.22 RHCOS util-linux version RHEL 9

💡 Result:

In OpenShift Container Platform 4.22, Red Hat Enterprise Linux CoreOS (RHCOS) is based on Red Hat Enterprise Linux (RHEL) 9.8 [1][2][3]. The util-linux package version utilized in RHEL 9 (including RHEL 9.8) is 2.37.4 [4][5][6]. As of July 8, 2026, the specific release version of this package commonly associated with current RHEL 9 updates is 2.37.4-25.el9 [5][6].

Citations:


🌐 Web query:

OpenShift 4.22 RHCOS based on RHEL version util-linux

💡 Result:

Red Hat OpenShift Container Platform (OCP) 4.22 uses Red Hat Enterprise Linux CoreOS (RHCOS), which is based on Red Hat Enterprise Linux (RHEL) 9.8 [1][2][3]. As part of this RHEL 9.8 base, it includes the util-linux package versions provided by the RHEL 9.8 repositories [4].

Citations:


mount --options-source=disable is too new for this RHCOS base. OCP 4.22 ships RHCOS 9.8 with util-linux 2.37.4, so this remount will fail and the leading - will hide it; /Users won’t be created.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@99-enable-transient-ro.yaml` at line 44, The ExecStart command in the
transient root override uses a mount option unsupported by this RHCOS/util-linux
base, so the remount step will fail and the symlink setup in the same shell will
never happen. Update the command in the systemd unit to use a remount approach
compatible with RHCOS 9.8 and keep the `/Users` symlink creation tied to the
successful remount path. Make sure the fix is applied in the override that
defines ExecStart so the startup behavior is reliable even when the shell prefix
ignores nonzero exit codes.


[Install]
WantedBy=local-fs.target
2 changes: 1 addition & 1 deletion snc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ INSTALL_DIR=crc-tmp-install-data
SNC_PRODUCT_NAME=${SNC_PRODUCT_NAME:-crc}
SNC_CLUSTER_MEMORY=${SNC_CLUSTER_MEMORY:-14336}
SNC_CLUSTER_CPUS=${SNC_CLUSTER_CPUS:-6}
CRC_VM_DISK_SIZE=${CRC_VM_DISK_SIZE:-43}
CRC_VM_DISK_SIZE=${CRC_VM_DISK_SIZE:-31}
BASE_DOMAIN=${CRC_BASE_DOMAIN:-testing}
CRC_PV_DIR="/mnt/pv-data"
SSH="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i id_ecdsa_crc"
Expand Down