Correct detection of 'not mounted' behavior -- umount will exit with a non-zero code.

This commit is contained in:
Carter McKinnon 2022-04-26 15:21:12 -07:00
parent 9c151bb31a
commit 6b44c0debb

View File

@ -247,17 +247,15 @@ func detectSafeNotMountedBehavior() bool {
cmd := exec.Command("umount", path) cmd := exec.Command("umount", path)
output, err := cmd.CombinedOutput() output, err := cmd.CombinedOutput()
if err != nil { if err != nil {
klog.V(2).Infof("Cannot run umount to detect safe 'not mounted' behavior: %v", err) if strings.Contains(string(output), errNotMounted) {
klog.V(4).Infof("'umount %s' output: %s, failed with: %v", path, string(output), err)
return false
}
if !strings.Contains(string(output), errNotMounted) {
klog.V(2).Infof("Detected umount with unsafe 'not mounted' behavior")
return false
}
klog.V(2).Infof("Detected umount with safe 'not mounted' behavior") klog.V(2).Infof("Detected umount with safe 'not mounted' behavior")
return true return true
} }
klog.V(4).Infof("'umount %s' failed with: %v, output: %s", path, err, string(output))
}
klog.V(2).Infof("Detected umount with unsafe 'not mounted' behavior")
return false
}
// MakeMountArgs makes the arguments to the mount(8) command. // MakeMountArgs makes the arguments to the mount(8) command.
// options MUST not contain sensitive material (like passwords). // options MUST not contain sensitive material (like passwords).