mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-18 02:50:30 +00:00
cleanup: added helper func isNotMountPoint
Added helper func isNotMountPoint to check mountPoint, validate error and reduce complexity of NodeStageVolume. Signed-off-by: Rakshith R <rar@redhat.com>
This commit is contained in:
parent
82a204bfd3
commit
404e011ae9
@ -154,14 +154,11 @@ func (ns *NodeServer) NodeStageVolume(ctx context.Context, req *csi.NodeStageVol
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var isNotMnt bool
|
|
||||||
// check if stagingPath is already mounted
|
// check if stagingPath is already mounted
|
||||||
isNotMnt, err = mount.IsNotMountPoint(ns.mounter, stagingTargetPath)
|
isNotMnt, err := isNotMountPoint(ns.mounter, stagingTargetPath)
|
||||||
if err != nil && !os.IsNotExist(err) {
|
if err != nil {
|
||||||
return nil, status.Error(codes.Internal, err.Error())
|
return nil, status.Error(codes.Internal, err.Error())
|
||||||
}
|
} else if !isNotMnt {
|
||||||
|
|
||||||
if !isNotMnt {
|
|
||||||
util.DebugLog(ctx, "rbd: volume %s is already mounted to %s, skipping", volID, stagingTargetPath)
|
util.DebugLog(ctx, "rbd: volume %s is already mounted to %s, skipping", volID, stagingTargetPath)
|
||||||
return &csi.NodeStageVolumeResponse{}, nil
|
return &csi.NodeStageVolumeResponse{}, nil
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/cloud-provider/volume/helpers"
|
"k8s.io/cloud-provider/volume/helpers"
|
||||||
|
mount "k8s.io/mount-utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -455,6 +456,16 @@ func checkImageFeatures(imageFeatures string, ok, static bool) bool {
|
|||||||
return static && (!ok || imageFeatures == "")
|
return static && (!ok || imageFeatures == "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isNotMountPoint checks whether MountPoint does not exists and
|
||||||
|
// also discards error indicating mountPoint exists.
|
||||||
|
func isNotMountPoint(mounter mount.Interface, stagingTargetPath string) (bool, error) {
|
||||||
|
isNotMnt, err := mount.IsNotMountPoint(mounter, stagingTargetPath)
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
err = nil
|
||||||
|
}
|
||||||
|
return isNotMnt, err
|
||||||
|
}
|
||||||
|
|
||||||
// addRbdManagerTask adds a ceph manager task to execute command
|
// addRbdManagerTask adds a ceph manager task to execute command
|
||||||
// asynchronously. If command is not found returns a bool set to false
|
// asynchronously. If command is not found returns a bool set to false
|
||||||
// example arg ["trash", "remove","pool/image"].
|
// example arg ["trash", "remove","pool/image"].
|
||||||
|
Loading…
Reference in New Issue
Block a user