diff --git a/internal/rbd/nodeserver.go b/internal/rbd/nodeserver.go index b1eae7245..5549616c5 100644 --- a/internal/rbd/nodeserver.go +++ b/internal/rbd/nodeserver.go @@ -611,14 +611,8 @@ func (ns *NodeServer) NodeUnpublishVolume( } targetPath := req.GetTargetPath() - volID := req.GetVolumeId() - - 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) - + // 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. notMnt, err := mount.IsNotMountPoint(ns.mounter, targetPath) if err != nil { if os.IsNotExist(err) {