fix(kernel): hard-gate the device-mapper symbols #196

Merged
binjovi-bot merged 1 commit from chore/kernel-gate-device-mapper into trunk 2026-09-03 11:15:14 +00:00
Owner

Prerequisite for enabling device-mapper in the seanfarm kernel.

The Hetzner CSI driver cannot detach a volume on the current kernel. LinuxMountService.Unpublish calls cryptsetup status on every NodeUnpublishVolume to test for LUKS; with no device-mapper, cryptsetup cannot open /dev/mapper/control, exits 1 instead of 4, and unpublish fails forever. Reproduced on 2026-09-03: a volume attached and wrote fine on one node, then sat in Multi-Attach forever when its pod moved.

CONFIG_BLK_DEV_DM is inside if MD, so it is silently dropped when CONFIG_MD is unset. That is exactly the unmet-dependency drop this gate was written for, and it has already bitten us: arch/arm64/configs/seanfarm_defconfig has carried nine dropped DM symbols for months.

Inert until sean/linux#45 lands, because the gate only fires for symbols the defconfig requests as =y.

https://claude.ai/code/session_01MdSbMhzabSbpG8TtP9Ur3H

Prerequisite for enabling device-mapper in the seanfarm kernel. The Hetzner CSI driver cannot detach a volume on the current kernel. `LinuxMountService.Unpublish` calls `cryptsetup status` on every NodeUnpublishVolume to test for LUKS; with no device-mapper, cryptsetup cannot open `/dev/mapper/control`, exits 1 instead of 4, and unpublish fails forever. Reproduced on 2026-09-03: a volume attached and wrote fine on one node, then sat in Multi-Attach forever when its pod moved. `CONFIG_BLK_DEV_DM` is inside `if MD`, so it is silently dropped when `CONFIG_MD` is unset. That is exactly the unmet-dependency drop this gate was written for, and it has already bitten us: `arch/arm64/configs/seanfarm_defconfig` has carried nine dropped DM symbols for months. Inert until sean/linux#45 lands, because the gate only fires for symbols the defconfig requests as `=y`. https://claude.ai/code/session_01MdSbMhzabSbpG8TtP9Ur3H
fix(kernel): hard-gate the device-mapper symbols
All checks were successful
binjovi/ci Binjovi completed the frozen plan
a79722c8a7
The hcloud CSI node plugin shells out to cryptsetup on every
NodeUnpublishVolume to test whether the volume is LUKS. Without
device-mapper, cryptsetup cannot open /dev/mapper/control, exits 1
instead of 4, and unpublish fails forever. The kubelet then keeps the
volume in node.status.volumesInUse, the VolumeAttachment is never
removed, and the volume can never move to another node.

CONFIG_BLK_DEV_DM sits inside `if MD`, so it is silently dropped when
CONFIG_MD is unset. That is precisely the unmet-dependency failure this
gate exists to catch, and it already happened: arch/arm64 has carried
nine dropped DM symbols for months.

The gate only fires for symbols the defconfig requests as =y, so this
is inert until the matching sean/linux defconfig change lands.

Claude-Session: https://claude.ai/code/session_01MdSbMhzabSbpG8TtP9Ur3H
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/builder-images!196
No description provided.