diff --git a/staging/src/k8s.io/mount-utils/mount_linux.go b/staging/src/k8s.io/mount-utils/mount_linux.go index 8b8857bdbd1..aaa592161d4 100644 --- a/staging/src/k8s.io/mount-utils/mount_linux.go +++ b/staging/src/k8s.io/mount-utils/mount_linux.go @@ -439,6 +439,11 @@ func (mounter *SafeFormatAndMount) formatAndMountSensitive(source string, target "-m0", // Zero blocks reserved for super-user source, } + } else if fstype == "xfs" { + args = []string{ + "-f", // force flag + source, + } } klog.Infof("Disk %q appears to be unformatted, attempting to format as type: %q with options: %v", source, fstype, args) diff --git a/staging/src/k8s.io/mount-utils/safe_format_and_mount_test.go b/staging/src/k8s.io/mount-utils/safe_format_and_mount_test.go index 38c2c8f5b9f..4ea39c13845 100644 --- a/staging/src/k8s.io/mount-utils/safe_format_and_mount_test.go +++ b/staging/src/k8s.io/mount-utils/safe_format_and_mount_test.go @@ -181,7 +181,7 @@ func TestSafeFormatAndMount(t *testing.T) { fstype: "xfs", execScripts: []ExecArgs{ {"blkid", []string{"-p", "-s", "TYPE", "-s", "PTTYPE", "-o", "export", "/dev/foo"}, "", &testingexec.FakeExitError{Status: 2}}, - {"mkfs.xfs", []string{"/dev/foo"}, "", nil}, + {"mkfs.xfs", []string{"-f", "/dev/foo"}, "", nil}, }, }, { @@ -198,7 +198,7 @@ func TestSafeFormatAndMount(t *testing.T) { mountErrs: []error{fmt.Errorf("unknown filesystem type '(null)'"), nil}, execScripts: []ExecArgs{ {"blkid", []string{"-p", "-s", "TYPE", "-s", "PTTYPE", "-o", "export", "/dev/foo"}, "", &testingexec.FakeExitError{Status: 4}}, - {"mkfs.xfs", []string{"/dev/foo"}, "", nil}, + {"mkfs.xfs", []string{"-f", "/dev/foo"}, "", nil}, }, expErrorType: GetDiskFormatFailed, },