Skip to content

Commit adbf513

Browse files
derekbitmergify[bot]
authored andcommitted
fix: fix validation errors
Signed-off-by: Derek Su <[email protected]>
1 parent f0fb753 commit adbf513

32 files changed

+620
-153
lines changed

app/cmd/backup.go

+15-5
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,11 @@ func checkBackupStatus(c *cli.Context) error {
132132
if err != nil {
133133
return err
134134
}
135-
defer controllerClient.Close()
135+
defer func() {
136+
if errClose := controllerClient.Close(); errClose != nil {
137+
logrus.WithError(errClose).Error("Failed to close controller client")
138+
}
139+
}()
136140

137141
replicas, err := controllerClient.ReplicaList()
138142
if err != nil {
@@ -156,12 +160,14 @@ func checkBackupStatus(c *cli.Context) error {
156160
// We don't know the replica's instanceName, so create a client without it.
157161
repClient, err := replicaClient.NewReplicaClient(replica.Address, volumeName, "")
158162
if err != nil {
159-
logrus.WithError(err).Errorf("Cannot create a replica client for IP[%v]", replicaAddress)
163+
logrus.WithError(err).Errorf("Cannot create a replica client for replica address %s", replica.Address)
160164
return err
161165
}
162166

163167
_, err = sync.FetchBackupStatus(repClient, backupID, replica.Address)
164-
repClient.Close()
168+
if errClose := repClient.Close(); errClose != nil {
169+
logrus.WithError(errClose).Errorf("Failed to close replica client for replica address %s", replica.Address)
170+
}
165171
if err == nil {
166172
replicaAddress = replica.Address
167173
break
@@ -180,10 +186,14 @@ func checkBackupStatus(c *cli.Context) error {
180186

181187
repClient, err := replicaClient.NewReplicaClient(replicaAddress, volumeName, replicaInstanceName)
182188
if err != nil {
183-
logrus.WithError(err).Errorf("Cannot create a replica client for IP[%v]", replicaAddress)
189+
logrus.WithError(err).Errorf("Cannot create a replica client for replica address %s", replicaAddress)
184190
return err
185191
}
186-
defer repClient.Close()
192+
defer func() {
193+
if errClose := repClient.Close(); errClose != nil {
194+
logrus.WithError(errClose).Errorf("Failed to close replica client for replica address %s", replicaAddress)
195+
}
196+
}()
187197

188198
status, err := sync.FetchBackupStatus(repClient, backupID, replicaAddress)
189199
if err != nil {

app/cmd/ls_replica.go

+17-6
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,12 @@ func lsReplica(c *cli.Context) error {
2929
if err != nil {
3030
return err
3131
}
32-
defer controllerClient.Close()
32+
defer func() {
33+
if errClose := controllerClient.Close(); errClose != nil {
34+
logrus.WithError(errClose).Error("Failed to close controller client")
35+
}
36+
}()
37+
3338
volumeName := c.GlobalString("volume-name")
3439

3540
reps, err := controllerClient.ReplicaList()
@@ -39,20 +44,22 @@ func lsReplica(c *cli.Context) error {
3944

4045
format := "%s\t%s\t%v\n"
4146
tw := tabwriter.NewWriter(os.Stdout, 0, 20, 1, ' ', 0)
42-
fmt.Fprintf(tw, format, "ADDRESS", "MODE", "CHAIN")
47+
_, _ = fmt.Fprintf(tw, format, "ADDRESS", "MODE", "CHAIN")
4348
for _, r := range reps {
4449
if r.Mode == types.ERR {
45-
fmt.Fprintf(tw, format, r.Address, r.Mode, "")
50+
_, _ = fmt.Fprintf(tw, format, r.Address, r.Mode, "")
4651
continue
4752
}
4853
chain := interface{}("")
4954
chainList, err := getChain(r.Address, volumeName)
5055
if err == nil {
5156
chain = chainList
5257
}
53-
fmt.Fprintf(tw, format, r.Address, r.Mode, chain)
58+
_, _ = fmt.Fprintf(tw, format, r.Address, r.Mode, chain)
59+
}
60+
if errFlush := tw.Flush(); errFlush != nil {
61+
logrus.WithError(errFlush).Error("Failed to flush")
5462
}
55-
tw.Flush()
5663

5764
return nil
5865
}
@@ -63,7 +70,11 @@ func getChain(address, volumeName string) ([]string, error) {
6370
if err != nil {
6471
return nil, err
6572
}
66-
defer repClient.Close()
73+
defer func() {
74+
if errClose := repClient.Close(); errClose != nil {
75+
logrus.WithError(errClose).Errorf("Failed to close replica client for replica address %s", address)
76+
}
77+
}()
6778

6879
r, err := repClient.GetReplica()
6980
if err != nil {

app/cmd/profiler.go

+15-3
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,11 @@ func showProfiler(c *cli.Context) error {
9090
if err != nil {
9191
return err
9292
}
93-
defer client.Close()
93+
defer func() {
94+
if errClose := client.Close(); errClose != nil {
95+
logrus.WithError(errClose).Error("Failed to close profiler client")
96+
}
97+
}()
9498

9599
profilerAddr, err := client.ProfilerOP(opShow, 0)
96100
if err != nil {
@@ -126,7 +130,11 @@ func enableProfiler(c *cli.Context) error {
126130
if err != nil {
127131
return err
128132
}
129-
defer client.Close()
133+
defer func() {
134+
if errClose := client.Close(); errClose != nil {
135+
logrus.WithError(errClose).Error("Failed to close profiler client")
136+
}
137+
}()
130138

131139
profilerAddr, err := client.ProfilerOP(opEnable, portNumber)
132140
if err != nil {
@@ -142,7 +150,11 @@ func disableProfiler(c *cli.Context) error {
142150
if err != nil {
143151
return err
144152
}
145-
defer client.Close()
153+
defer func() {
154+
if errClose := client.Close(); errClose != nil {
155+
logrus.WithError(errClose).Error("Failed to close profiler client")
156+
}
157+
}()
146158

147159
_, err = client.ProfilerOP(opDisable, 0)
148160
if err != nil {

app/cmd/rm_replica.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ func rmReplica(c *cli.Context) error {
2929
if err != nil {
3030
return err
3131
}
32-
defer controllerClient.Close()
32+
defer func() {
33+
if errClose := controllerClient.Close(); errClose != nil {
34+
logrus.WithError(errClose).Error("Failed to close controller client")
35+
}
36+
}()
3337

3438
return controllerClient.ReplicaDelete(replica)
3539
}

app/cmd/snapshot.go

+41-10
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,11 @@ func createSnapshot(c *cli.Context) error {
261261
if err != nil {
262262
return err
263263
}
264-
defer controllerClient.Close()
264+
defer func() {
265+
if errClose := controllerClient.Close(); errClose != nil {
266+
logrus.WithError(errClose).Error("Failed to close controller client")
267+
}
268+
}()
265269

266270
id, err := controllerClient.VolumeSnapshot(name, labelMap, freezeFilesystem)
267271
if err != nil {
@@ -282,7 +286,11 @@ func revertSnapshot(c *cli.Context) error {
282286
if err != nil {
283287
return err
284288
}
285-
defer controllerClient.Close()
289+
defer func() {
290+
if errClose := controllerClient.Close(); errClose != nil {
291+
logrus.WithError(errClose).Error("Failed to close controller client")
292+
}
293+
}()
286294

287295
if err = controllerClient.VolumeRevert(name); err != nil {
288296
return err
@@ -362,7 +370,12 @@ func lsSnapshot(c *cli.Context) error {
362370
if err != nil {
363371
return err
364372
}
365-
defer controllerClient.Close()
373+
defer func() {
374+
if errClose := controllerClient.Close(); errClose != nil {
375+
logrus.WithError(errClose).Error("Failed to close controller client")
376+
}
377+
}()
378+
366379
volumeName := c.GlobalString("volume-name")
367380

368381
replicas, err := controllerClient.ReplicaList()
@@ -404,12 +417,14 @@ func lsSnapshot(c *cli.Context) error {
404417

405418
format := "%s\n"
406419
tw := tabwriter.NewWriter(os.Stdout, 0, 20, 1, ' ', 0)
407-
fmt.Fprintf(tw, format, "ID")
420+
_, _ = fmt.Fprintf(tw, format, "ID")
408421
for _, s := range snapshots {
409422
s = strings.TrimSuffix(strings.TrimPrefix(s, "volume-snap-"), ".img")
410-
fmt.Fprintf(tw, format, s)
423+
_, _ = fmt.Fprintf(tw, format, s)
424+
}
425+
if errFlush := tw.Flush(); errFlush != nil {
426+
logrus.WithError(errFlush).Error("Failed to flush")
411427
}
412-
tw.Flush()
413428

414429
return nil
415430
}
@@ -421,7 +436,11 @@ func infoSnapshot(c *cli.Context) error {
421436
if err != nil {
422437
return err
423438
}
424-
defer controllerClient.Close()
439+
defer func() {
440+
if errClose := controllerClient.Close(); errClose != nil {
441+
logrus.WithError(errClose).Error("Failed to close controller client")
442+
}
443+
}()
425444

426445
replicas, err := controllerClient.ReplicaList()
427446
if err != nil {
@@ -463,7 +482,11 @@ func cloneSnapshot(c *cli.Context) error {
463482
if err != nil {
464483
return err
465484
}
466-
defer controllerClient.Close()
485+
defer func() {
486+
if errClose := controllerClient.Close(); errClose != nil {
487+
logrus.WithError(errClose).Error("Failed to close controller client")
488+
}
489+
}()
467490

468491
volumeName := c.GlobalString("volume-name")
469492
fromVolumeName := c.String("from-volume-name")
@@ -473,7 +496,11 @@ func cloneSnapshot(c *cli.Context) error {
473496
if err != nil {
474497
return err
475498
}
476-
defer fromControllerClient.Close()
499+
defer func() {
500+
if errClose := fromControllerClient.Close(); errClose != nil {
501+
logrus.WithError(errClose).Error("Failed to close from controller client")
502+
}
503+
}()
477504

478505
if err := sync.CloneSnapshot(controllerClient, fromControllerClient, volumeName, fromVolumeName,
479506
snapshotName, exportBackingImageIfExist, fileSyncHTTPClientTimeout, grpcTimeoutSeconds); err != nil {
@@ -487,7 +514,11 @@ func cloneSnapshotStatus(c *cli.Context) error {
487514
if err != nil {
488515
return err
489516
}
490-
defer controllerClient.Close()
517+
defer func() {
518+
if errClose := controllerClient.Close(); errClose != nil {
519+
logrus.WithError(errClose).Error("Failed to close controller client")
520+
}
521+
}()
491522

492523
volumeName := c.GlobalString("volume-name")
493524
statusMap, err := sync.CloneStatus(controllerClient, volumeName)

app/cmd/stats.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ func Journal() cli.Command {
2020
if err != nil {
2121
logrus.Fatalln("Error running journal command:", err)
2222
}
23-
defer controllerClient.Close()
23+
defer func() {
24+
if errClose := controllerClient.Close(); errClose != nil {
25+
logrus.WithError(errClose).Error("Failed to close controller client")
26+
}
27+
}()
2428

2529
if err = controllerClient.JournalList(c.Int("limit")); err != nil {
2630
logrus.Fatalln("Error running journal command:", err)

app/cmd/update_replica.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ func updateReplica(c *cli.Context) (*types.ControllerReplicaInfo, error) {
4444
if err != nil {
4545
return nil, err
4646
}
47-
defer controllerClient.Close()
47+
defer func() {
48+
if errClose := controllerClient.Close(); errClose != nil {
49+
logrus.WithError(errClose).Error("Failed to close controller client")
50+
}
51+
}()
4852

4953
return controllerClient.ReplicaUpdate(replica, mode)
5054
}

app/cmd/volume.go

+25-5
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,11 @@ func info(c *cli.Context) error {
9696
if err != nil {
9797
return err
9898
}
99-
defer controllerClient.Close()
99+
defer func() {
100+
if errClose := controllerClient.Close(); errClose != nil {
101+
logrus.WithError(errClose).Error("Failed to close controller client")
102+
}
103+
}()
100104

101105
volumeInfo, err := controllerClient.VolumeGet()
102106
if err != nil {
@@ -118,7 +122,11 @@ func expand(c *cli.Context) error {
118122
if err != nil {
119123
return err
120124
}
121-
defer controllerClient.Close()
125+
defer func() {
126+
if errClose := controllerClient.Close(); errClose != nil {
127+
logrus.WithError(errClose).Error("Failed to close controller client")
128+
}
129+
}()
122130

123131
return controllerClient.VolumeExpand(size)
124132
}
@@ -133,7 +141,11 @@ func startFrontend(c *cli.Context) error {
133141
if err != nil {
134142
return err
135143
}
136-
defer controllerClient.Close()
144+
defer func() {
145+
if errClose := controllerClient.Close(); errClose != nil {
146+
logrus.WithError(errClose).Error("Failed to close controller client")
147+
}
148+
}()
137149

138150
return controllerClient.VolumeFrontendStart(frontendName)
139151
}
@@ -143,7 +155,11 @@ func shutdownFrontend(c *cli.Context) error {
143155
if err != nil {
144156
return err
145157
}
146-
defer controllerClient.Close()
158+
defer func() {
159+
if errClose := controllerClient.Close(); errClose != nil {
160+
logrus.WithError(errClose).Error("Failed to close controller client")
161+
}
162+
}()
147163

148164
return controllerClient.VolumeFrontendShutdown()
149165
}
@@ -162,7 +178,11 @@ func unmapMarkSnapChainRemoved(c *cli.Context) error {
162178
if err != nil {
163179
return err
164180
}
165-
defer controllerClient.Close()
181+
defer func() {
182+
if errClose := controllerClient.Close(); errClose != nil {
183+
logrus.WithError(errClose).Error("Failed to close controller client")
184+
}
185+
}()
166186

167187
return controllerClient.VolumeUnmapMarkSnapChainRemovedSet(enabled)
168188
}

app/cmd/volume_export.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ func exportVolume(c *cli.Context) error {
7171
if err != nil {
7272
return err
7373
}
74-
defer controllerClient.Close()
74+
defer func() {
75+
if errClose := controllerClient.Close(); errClose != nil {
76+
logrus.WithError(errClose).Error("Failed to close controller client")
77+
}
78+
}()
7579
volume, err := controllerClient.VolumeGet()
7680
if err != nil {
7781
return err
@@ -98,7 +102,11 @@ func exportVolume(c *cli.Context) error {
98102
if err != nil {
99103
return err
100104
}
101-
defer rClient.Close()
105+
defer func() {
106+
if errClose := rClient.Close(); errClose != nil {
107+
logrus.WithError(errClose).Errorf("Failed to close replica client for replica address %s", r.Address)
108+
}
109+
}()
102110

103111
rInfo, err := rClient.GetReplica()
104112
if err != nil {

0 commit comments

Comments
 (0)