Skip to content

Commit b25e560

Browse files
authored
Merge pull request #432 from andyzhangx/remove-lock
fix: remove unnecessary lock in NodePublish
2 parents 77f431d + 3734dbb commit b25e560

File tree

2 files changed

+0
-36
lines changed

2 files changed

+0
-36
lines changed

pkg/blob/nodeserver.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,6 @@ func (d *Driver) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolu
7272
return nil, status.Error(codes.InvalidArgument, "Target path not provided")
7373
}
7474

75-
if acquired := d.volumeLocks.TryAcquire(volumeID); !acquired {
76-
return nil, status.Errorf(codes.Aborted, volumeOperationAlreadyExistsFmt, volumeID)
77-
}
78-
defer d.volumeLocks.Release(volumeID)
79-
8075
mountOptions := []string{"bind"}
8176
if req.GetReadonly() {
8277
mountOptions = append(mountOptions, "ro")
@@ -155,11 +150,6 @@ func (d *Driver) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublish
155150
targetPath := req.GetTargetPath()
156151
volumeID := req.GetVolumeId()
157152

158-
if acquired := d.volumeLocks.TryAcquire(volumeID); !acquired {
159-
return nil, status.Errorf(codes.Aborted, volumeOperationAlreadyExistsFmt, volumeID)
160-
}
161-
defer d.volumeLocks.Release(volumeID)
162-
163153
klog.V(2).Infof("NodeUnpublishVolume: unmounting volume %s on %s", volumeID, targetPath)
164154
err := mount.CleanupMountPoint(targetPath, d.mounter, false)
165155
if err != nil {

pkg/blob/nodeserver_test.go

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -182,21 +182,6 @@ func TestNodePublishVolume(t *testing.T) {
182182
StagingTargetPath: sourceTest},
183183
expectedErr: status.Error(codes.InvalidArgument, "Target path not provided"),
184184
},
185-
{
186-
desc: "[Error] Volume operation in progress",
187-
setup: func(d *Driver) {
188-
d.volumeLocks.TryAcquire("vol_1")
189-
},
190-
req: csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
191-
VolumeId: "vol_1",
192-
TargetPath: targetTest,
193-
StagingTargetPath: sourceTest,
194-
Readonly: true},
195-
expectedErr: status.Error(codes.Aborted, fmt.Sprintf(volumeOperationAlreadyExistsFmt, "vol_1")),
196-
cleanup: func(d *Driver) {
197-
d.volumeLocks.Release("vol_1")
198-
},
199-
},
200185
{
201186
desc: "Valid request read only",
202187
req: csi.NodePublishVolumeRequest{VolumeCapability: &csi.VolumeCapability{AccessMode: &volumeCap},
@@ -279,17 +264,6 @@ func TestNodeUnpublishVolume(t *testing.T) {
279264
req: csi.NodeUnpublishVolumeRequest{VolumeId: "vol_1"},
280265
expectedErr: status.Error(codes.InvalidArgument, "Target path missing in request"),
281266
},
282-
{
283-
desc: "[Error] Volume operation in progress",
284-
setup: func(d *Driver) {
285-
d.volumeLocks.TryAcquire("vol_1")
286-
},
287-
req: csi.NodeUnpublishVolumeRequest{TargetPath: targetTest, VolumeId: "vol_1"},
288-
expectedErr: status.Error(codes.Aborted, fmt.Sprintf(volumeOperationAlreadyExistsFmt, "vol_1")),
289-
cleanup: func(d *Driver) {
290-
d.volumeLocks.Release("vol_1")
291-
},
292-
},
293267
{
294268
desc: "Valid request",
295269
req: csi.NodeUnpublishVolumeRequest{TargetPath: "./abc.go", VolumeId: "vol_1"},

0 commit comments

Comments
 (0)