@@ -73,10 +73,18 @@ func (driver linodeVolumeDriver) Get(req *volume.GetRequest) (*volume.GetRespons
7373func (driver linodeVolumeDriver ) List () (* volume.ListResponse , error ) {
7474 log .Info ("List()" )
7575
76+ var jsonFilter []byte
77+ var err error
78+
7679 //
7780 var volumes []* volume.Volume
7881
79- linVols , err := driver .linodeAPI .ListInstanceVolumes (context .Background (), * driver .instanceID , nil )
82+ // filters
83+ if jsonFilter , err = json .Marshal (map [string ]string {"region" : driver .region }); err != nil {
84+ return nil , err
85+ }
86+ listOpts := linodego .NewListOptions (0 , string (jsonFilter ))
87+ linVols , err := driver .linodeAPI .ListVolumes (context .Background (), listOpts )
8088 if err != nil {
8189 return nil , log .Err ("%s" , err )
8290 }
@@ -93,6 +101,7 @@ func (driver linodeVolumeDriver) List() (*volume.ListResponse, error) {
93101// Create implementation
94102func (driver linodeVolumeDriver ) Create (req * volume.CreateRequest ) error {
95103 log .Info ("Create(%s)" , req .Name )
104+
96105 driver .mutex .Lock ()
97106 defer driver .mutex .Unlock ()
98107
@@ -119,6 +128,10 @@ func (driver linodeVolumeDriver) Create(req *volume.CreateRequest) error {
119128
120129// Remove implementation
121130func (driver linodeVolumeDriver ) Remove (req * volume.RemoveRequest ) error {
131+
132+ driver .mutex .Lock ()
133+ defer driver .mutex .Unlock ()
134+
122135 //
123136 linVol , err := driver .findVolumeByLabel (req .Name )
124137 if err != nil {
@@ -146,9 +159,6 @@ func (driver linodeVolumeDriver) Remove(req *volume.RemoveRequest) error {
146159func (driver linodeVolumeDriver ) Mount (req * volume.MountRequest ) (* volume.MountResponse , error ) {
147160 log .Info ("Called Mount %s" , req .Name )
148161
149- driver .mutex .Lock ()
150- defer driver .mutex .Unlock ()
151-
152162 linVol , err := driver .findVolumeByLabel (req .Name )
153163 if err != nil {
154164 return nil , err
@@ -216,9 +226,6 @@ func (driver linodeVolumeDriver) Path(req *volume.PathRequest) (*volume.PathResp
216226func (driver linodeVolumeDriver ) Unmount (req * volume.UnmountRequest ) error {
217227 log .Info ("Unmount(%s)" , req .Name )
218228
219- driver .mutex .Lock ()
220- defer driver .mutex .Unlock ()
221-
222229 linVol , err := driver .findVolumeByLabel (req .Name )
223230 if err != nil {
224231 return err
@@ -244,13 +251,12 @@ func (driver linodeVolumeDriver) findVolumeByLabel(volumeLabel string) (*linodeg
244251 var err error
245252 var linVols []* linodego.Volume
246253
247- //if jsonFilter, err = json.Marshal(map[string]string{"label": volumeLabel, "region": driver.region}); err != nil {
248- if jsonFilter , err = json .Marshal (map [string ]string {"label" : volumeLabel }); err != nil {
254+ if jsonFilter , err = json .Marshal (map [string ]string {"label" : volumeLabel , "region" : driver .region }); err != nil {
249255 return nil , err
250256 }
251257
252258 listOpts := linodego .NewListOptions (0 , string (jsonFilter ))
253- if linVols , err = driver .linodeAPI .ListInstanceVolumes (context .Background (), * driver . instanceID , listOpts ); err != nil {
259+ if linVols , err = driver .linodeAPI .ListVolumes (context .Background (), listOpts ); err != nil {
254260 return nil , err
255261 }
256262
0 commit comments