feat(volume): add IsRemount to MounterArgs

Thread the reconciler's existing isRemount signal into MounterArgs so
volume plugins can distinguish an initial publish from a republish
(e.g. CSIDriver.spec.requiresRepublish=true). No behavior change.
This commit is contained in:
Anish Ramasekar
2026-05-13 11:49:54 -07:00
parent 811df220eb
commit 58b0072283
2 changed files with 11 additions and 0 deletions

View File

@@ -586,6 +586,7 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
FSGroupChangePolicy: fsGroupChangePolicy,
Recorder: og.recorder,
SELinuxLabel: volumeToMount.SELinuxLabel,
IsRemount: isRemount,
})
// Update actual state of world
markOpts := MarkVolumeOpts{

View File

@@ -138,6 +138,16 @@ type MounterArgs struct {
// Optional interface that will be used to change the ownership of the volume, if specified.
// mainly used by unit tests
VolumeOwnershipApplicator VolumeOwnershipChanger
// IsRemount is true when SetUp is being invoked on a volume that the
// reconciler considers already mounted to the pod, e.g. a periodic
// republish triggered by CSIDriver.spec.requiresRepublish=true. Volume
// plugins should use this to avoid destroying state (e.g. mount
// directories, volume metadata files) that the pod is currently
// observing through an existing bind mount, since teardown on a
// failed remount cannot be repaired by a subsequent successful
// remount and would leave the pod with stale contents.
IsRemount bool
}
type VolumeOwnershipChanger interface {