Skip to content

Commit adcaa53

Browse files
author
Hantao (Will) Wang
committed
add godoc and change attribute name to be more descriptive
1 parent e9dbd30 commit adcaa53

File tree

3 files changed

+24
-22
lines changed

3 files changed

+24
-22
lines changed

pkg/common/volume_lock.go

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ const (
2626
VolumeOperationAlreadyExistsFmt = "An operation with the given Volume ID %s already exists"
2727
)
2828

29+
// VolumeLocks implements a map with atomic operations. It stores a set of all volume IDs
30+
// with an ongoing operation.
2931
type VolumeLocks struct {
3032
locks sets.String
3133
mux sync.Mutex

pkg/gce-pd-csi-driver/controller.go

+13-13
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ type GCEControllerServer struct {
4545

4646
// A map storing all volumes with ongoing operations so that additional operations
4747
// for that same volume (as defined by Volume Key) return an Aborted error
48-
volumes *common.VolumeLocks
48+
volumeLocks *common.VolumeLocks
4949
}
5050

5151
var _ csi.ControllerServer = &GCEControllerServer{}
@@ -147,10 +147,10 @@ func (gceCS *GCEControllerServer) CreateVolume(ctx context.Context, req *csi.Cre
147147
if err != nil {
148148
return nil, status.Errorf(codes.Internal, "Failed to convert volume key to volume ID: %v", err)
149149
}
150-
if acquired := gceCS.volumes.TryAcquire(volumeID); !acquired {
150+
if acquired := gceCS.volumeLocks.TryAcquire(volumeID); !acquired {
151151
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
152152
}
153-
defer gceCS.volumes.Release(volumeID)
153+
defer gceCS.volumeLocks.Release(volumeID)
154154

155155
// Validate if disk already exists
156156
existingDisk, err := gceCS.CloudProvider.GetDisk(ctx, volKey)
@@ -235,10 +235,10 @@ func (gceCS *GCEControllerServer) DeleteVolume(ctx context.Context, req *csi.Del
235235
return nil, status.Errorf(codes.NotFound, "Could not find volume with ID %v: %v", volumeID, err)
236236
}
237237

238-
if acquired := gceCS.volumes.TryAcquire(volumeID); !acquired {
238+
if acquired := gceCS.volumeLocks.TryAcquire(volumeID); !acquired {
239239
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
240240
}
241-
defer gceCS.volumes.Release(volumeID)
241+
defer gceCS.volumeLocks.Release(volumeID)
242242

243243
err = gceCS.CloudProvider.DeleteDisk(ctx, volKey)
244244
if err != nil {
@@ -277,10 +277,10 @@ func (gceCS *GCEControllerServer) ControllerPublishVolume(ctx context.Context, r
277277
}
278278

279279
lockingVolumeID := fmt.Sprintf("%s/%s", nodeID, volumeID)
280-
if acquired := gceCS.volumes.TryAcquire(lockingVolumeID); !acquired {
280+
if acquired := gceCS.volumeLocks.TryAcquire(lockingVolumeID); !acquired {
281281
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, lockingVolumeID)
282282
}
283-
defer gceCS.volumes.Release(lockingVolumeID)
283+
defer gceCS.volumeLocks.Release(lockingVolumeID)
284284

285285
// TODO(#253): Check volume capability matches for ALREADY_EXISTS
286286
if err = validateVolumeCapability(volumeCapability); err != nil {
@@ -368,10 +368,10 @@ func (gceCS *GCEControllerServer) ControllerUnpublishVolume(ctx context.Context,
368368
}
369369

370370
lockingVolumeID := fmt.Sprintf("%s/%s", nodeID, volumeID)
371-
if acquired := gceCS.volumes.TryAcquire(lockingVolumeID); !acquired {
371+
if acquired := gceCS.volumeLocks.TryAcquire(lockingVolumeID); !acquired {
372372
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, lockingVolumeID)
373373
}
374-
defer gceCS.volumes.Release(lockingVolumeID)
374+
defer gceCS.volumeLocks.Release(lockingVolumeID)
375375

376376
instanceZone, instanceName, err := common.NodeIDToZoneAndName(nodeID)
377377
if err != nil {
@@ -420,10 +420,10 @@ func (gceCS *GCEControllerServer) ValidateVolumeCapabilities(ctx context.Context
420420
return nil, status.Errorf(codes.NotFound, "Volume ID is of improper format, got %v", volumeID)
421421
}
422422

423-
if acquired := gceCS.volumes.TryAcquire(volumeID); !acquired {
423+
if acquired := gceCS.volumeLocks.TryAcquire(volumeID); !acquired {
424424
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
425425
}
426-
defer gceCS.volumes.Release(volumeID)
426+
defer gceCS.volumeLocks.Release(volumeID)
427427

428428
_, err = gceCS.CloudProvider.GetDisk(ctx, volKey)
429429
if err != nil {
@@ -532,10 +532,10 @@ func (gceCS *GCEControllerServer) CreateSnapshot(ctx context.Context, req *csi.C
532532
return nil, status.Errorf(codes.NotFound, "Could not find volume with ID %v: %v", volumeID, err)
533533
}
534534

535-
if acquired := gceCS.volumes.TryAcquire(volumeID); !acquired {
535+
if acquired := gceCS.volumeLocks.TryAcquire(volumeID); !acquired {
536536
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
537537
}
538-
defer gceCS.volumes.Release(volumeID)
538+
defer gceCS.volumeLocks.Release(volumeID)
539539

540540
// Check if snapshot already exists
541541
var snapshot *compute.Snapshot

pkg/gce-pd-csi-driver/node.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type GCENodeServer struct {
3838

3939
// A map storing all volumes with ongoing operations so that additional operations
4040
// for that same volume (as defined by VolumeID) return an Aborted error
41-
volumes *common.VolumeLocks
41+
volumeLocks *common.VolumeLocks
4242
}
4343

4444
var _ csi.NodeServer = &GCENodeServer{}
@@ -73,10 +73,10 @@ func (ns *GCENodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePub
7373
return nil, status.Error(codes.InvalidArgument, "NodePublishVolume Volume Capability must be provided")
7474
}
7575

76-
if acquired := ns.volumes.TryAcquire(volumeID); !acquired {
76+
if acquired := ns.volumeLocks.TryAcquire(volumeID); !acquired {
7777
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
7878
}
79-
defer ns.volumes.Release(volumeID)
79+
defer ns.volumeLocks.Release(volumeID)
8080

8181
if err := validateVolumeCapability(volumeCapability); err != nil {
8282
return nil, status.Errorf(codes.InvalidArgument, "VolumeCapability is invalid: %v", err)
@@ -196,10 +196,10 @@ func (ns *GCENodeServer) NodeUnpublishVolume(ctx context.Context, req *csi.NodeU
196196
return nil, status.Error(codes.InvalidArgument, "NodeUnpublishVolume Target Path must be provided")
197197
}
198198

199-
if acquired := ns.volumes.TryAcquire(volumeID); !acquired {
199+
if acquired := ns.volumeLocks.TryAcquire(volumeID); !acquired {
200200
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
201201
}
202-
defer ns.volumes.Release(volumeID)
202+
defer ns.volumeLocks.Release(volumeID)
203203

204204
err := mount.CleanupMountPoint(targetPath, ns.Mounter.Interface, false /* bind mount */)
205205
if err != nil {
@@ -226,10 +226,10 @@ func (ns *GCENodeServer) NodeStageVolume(ctx context.Context, req *csi.NodeStage
226226
return nil, status.Error(codes.InvalidArgument, "NodeStageVolume Volume Capability must be provided")
227227
}
228228

229-
if acquired := ns.volumes.TryAcquire(volumeID); !acquired {
229+
if acquired := ns.volumeLocks.TryAcquire(volumeID); !acquired {
230230
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
231231
}
232-
defer ns.volumes.Release(volumeID)
232+
defer ns.volumeLocks.Release(volumeID)
233233

234234
if err := validateVolumeCapability(volumeCapability); err != nil {
235235
return nil, status.Errorf(codes.InvalidArgument, "VolumeCapability is invalid: %v", err)
@@ -320,10 +320,10 @@ func (ns *GCENodeServer) NodeUnstageVolume(ctx context.Context, req *csi.NodeUns
320320
return nil, status.Error(codes.InvalidArgument, "NodeUnstageVolume Staging Target Path must be provided")
321321
}
322322

323-
if acquired := ns.volumes.TryAcquire(volumeID); !acquired {
323+
if acquired := ns.volumeLocks.TryAcquire(volumeID); !acquired {
324324
return nil, status.Errorf(codes.Aborted, common.VolumeOperationAlreadyExistsFmt, volumeID)
325325
}
326-
defer ns.volumes.Release(volumeID)
326+
defer ns.volumeLocks.Release(volumeID)
327327

328328
err := mount.CleanupMountPoint(stagingTargetPath, ns.Mounter.Interface, false /* bind mount */)
329329
if err != nil {

0 commit comments

Comments
 (0)