diff --git a/Gopkg.lock b/Gopkg.lock index d3270adf6..d3cf700d8 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -528,6 +528,7 @@ "k8s.io/apimachinery/pkg/api/errors", "k8s.io/apimachinery/pkg/apis/meta/v1", "k8s.io/apimachinery/pkg/util/sets", + "k8s.io/apimachinery/pkg/util/validation", "k8s.io/apimachinery/pkg/util/wait", "k8s.io/client-go/kubernetes", "k8s.io/client-go/rest", diff --git a/pkg/rbd/controllerserver.go b/pkg/rbd/controllerserver.go index 27c407fdf..84159c078 100644 --- a/pkg/rbd/controllerserver.go +++ b/pkg/rbd/controllerserver.go @@ -50,8 +50,8 @@ type ControllerServer struct { } var ( - rbdVolumes = map[string]*rbdVolume{} - rbdSnapshots = map[string]*rbdSnapshot{} + rbdVolumes = map[string]rbdVolume{} + rbdSnapshots = map[string]rbdSnapshot{} ) // LoadExDataFromMetadataStore loads the rbd volume and snapshot @@ -60,14 +60,14 @@ func (cs *ControllerServer) LoadExDataFromMetadataStore() error { vol := &rbdVolume{} // nolint cs.MetadataStore.ForAll("csi-rbd-vol-", vol, func(identifier string) error { - rbdVolumes[identifier] = vol + rbdVolumes[identifier] = *vol return nil }) snap := &rbdSnapshot{} // nolint cs.MetadataStore.ForAll("csi-rbd-(.*)-snap-", snap, func(identifier string) error { - rbdSnapshots[identifier] = snap + rbdSnapshots[identifier] = *snap return nil }) @@ -194,7 +194,7 @@ func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol // size in bytes) rbdVol.VolSize = rbdVol.VolSize * util.MiB - rbdVolumes[rbdVol.VolID] = rbdVol + rbdVolumes[rbdVol.VolID] = *rbdVol if err = storeVolumeMetadata(rbdVol, cs.MetadataStore); err != nil { return nil, status.Error(codes.Internal, err.Error()) @@ -444,7 +444,7 @@ func (cs *ControllerServer) CreateSnapshot(ctx context.Context, req *csi.CreateS rbdSnap.CreatedAt = ptypes.TimestampNow().GetSeconds() - rbdSnapshots[snapshotID] = rbdSnap + rbdSnapshots[snapshotID] = *rbdSnap if err = storeSnapshotMetadata(rbdSnap, cs.MetadataStore); err != nil { return nil, status.Error(codes.Internal, err.Error()) diff --git a/pkg/rbd/rbd_util.go b/pkg/rbd/rbd_util.go index 14fcc0ebf..0b04d8a7f 100644 --- a/pkg/rbd/rbd_util.go +++ b/pkg/rbd/rbd_util.go @@ -400,7 +400,7 @@ func hasSnapshotFeature(imageFeatures string) bool { func getRBDVolumeByID(volumeID string) (*rbdVolume, error) { if rbdVol, ok := rbdVolumes[volumeID]; ok { - return rbdVol, nil + return &rbdVol, nil } return nil, fmt.Errorf("volume id %s does not exit in the volumes list", volumeID) } @@ -408,7 +408,7 @@ func getRBDVolumeByID(volumeID string) (*rbdVolume, error) { func getRBDVolumeByName(volName string) (*rbdVolume, error) { for _, rbdVol := range rbdVolumes { if rbdVol.VolName == volName { - return rbdVol, nil + return &rbdVol, nil } } return nil, fmt.Errorf("volume name %s does not exit in the volumes list", volName) @@ -417,7 +417,7 @@ func getRBDVolumeByName(volName string) (*rbdVolume, error) { func getRBDSnapshotByName(snapName string) (*rbdSnapshot, error) { for _, rbdSnap := range rbdSnapshots { if rbdSnap.SnapName == snapName { - return rbdSnap, nil + return &rbdSnap, nil } } return nil, fmt.Errorf("snapshot name %s does not exit in the snapshots list", snapName) @@ -467,7 +467,7 @@ func protectSnapshot(pOpts *rbdSnapshot, adminID string, credentials map[string] return nil } -func extractStoredVolOpt(r *rbdVolume) map[string]string { +func extractStoredVolOpt(r rbdVolume) map[string]string { volOptions := make(map[string]string) volOptions["pool"] = r.Pool