Skip to content

Commit 2eb1410

Browse files
authored
Merge pull request linode#13 from libgolang/issue-12
Fixes linode#12 Using wrong listing api call
2 parents fe8a96c + 2a12323 commit 2eb1410

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

driver.go

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,18 @@ func (driver linodeVolumeDriver) Get(req *volume.GetRequest) (*volume.GetRespons
7373
func (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
94102
func (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
121130
func (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 {
146159
func (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
216226
func (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

Comments
 (0)