mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 14:20:19 +00:00
rbd: Get rid of locking at nodeUnpublish call
Considering kubelet make sure the unstage and unpublish operations are serialized, we dont need any extra locking in nodeUnpublish Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
This commit is contained in:
parent
276918db10
commit
ef852cc93d
@ -611,14 +611,8 @@ func (ns *NodeServer) NodeUnpublishVolume(
|
|||||||
}
|
}
|
||||||
|
|
||||||
targetPath := req.GetTargetPath()
|
targetPath := req.GetTargetPath()
|
||||||
volID := req.GetVolumeId()
|
// considering kubelet make sure node operations like unpublish/unstage...etc can not be called
|
||||||
|
// at same time, an explicit locking at time of nodeunpublish is not required.
|
||||||
if acquired := ns.VolumeLocks.TryAcquire(volID); !acquired {
|
|
||||||
util.ErrorLog(ctx, util.VolumeOperationAlreadyExistsFmt, volID)
|
|
||||||
return nil, status.Errorf(codes.Aborted, util.VolumeOperationAlreadyExistsFmt, volID)
|
|
||||||
}
|
|
||||||
defer ns.VolumeLocks.Release(volID)
|
|
||||||
|
|
||||||
notMnt, err := mount.IsNotMountPoint(ns.mounter, targetPath)
|
notMnt, err := mount.IsNotMountPoint(ns.mounter, targetPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
|
Loading…
Reference in New Issue
Block a user