Skip to content

Commit cfe6117

Browse files
Merge pull request #70 from ashald/feature/no-grep
Replace grep with strings.Contains in lvdisplayGrep
2 parents bd6867c + 4ef754f commit cfe6117

File tree

1 file changed

+11
-31
lines changed

1 file changed

+11
-31
lines changed

utils.go

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@ package main
22

33
import (
44
"bufio"
5-
"bytes"
65
"encoding/json"
76
"fmt"
8-
"io"
97
"os"
108
"os/exec"
119
"path"
1210
"strings"
1311
"time"
14-
15-
icmd "github.com/docker/docker/pkg/system"
1612
)
1713

1814
var allowedConfKeys = map[string]bool{
@@ -109,39 +105,23 @@ func loadFromDisk(l *lvmDriver) error {
109105
}
110106

111107
func lvdisplayGrep(vgName, lvName, keyword string) (bool, string, error) {
112-
var b2 bytes.Buffer
113-
114-
cmd1 := exec.Command("lvdisplay", fmt.Sprintf("/dev/%s/%s", vgName, lvName))
115-
cmd2 := exec.Command("grep", keyword)
116-
117-
r, w := io.Pipe()
118-
cmd1.Stdout = w
119-
cmd2.Stdin = r
120-
cmd2.Stdout = &b2
121-
122-
if err := cmd1.Start(); err != nil {
123-
return false, "", err
124-
}
125-
if err := cmd2.Start(); err != nil {
126-
return false, "", err
127-
}
128-
if err := cmd1.Wait(); err != nil {
108+
outByttes, err := exec.Command("lvdisplay", fmt.Sprintf("/dev/%s/%s", vgName, lvName)).Output()
109+
if err != nil {
129110
return false, "", err
130111
}
131-
w.Close()
132-
if err := cmd2.Wait(); err != nil {
133-
exitCode, inErr := icmd.GetExitCode(err)
134-
if inErr != nil {
135-
return false, "", inErr
136-
}
137-
if exitCode != 1 {
138-
return false, "", err
112+
var result []string
113+
outStr := strings.TrimSpace(string(outByttes[:]))
114+
115+
for _, line := range strings.Split(outStr, "\n") {
116+
if strings.Contains(line, keyword) {
117+
result = append(result, line)
139118
}
140119
}
141120

142-
if b2.Len() != 0 {
143-
return true, b2.String(), nil
121+
if len(result) > 0 {
122+
return true, strings.Join(result, "\n"), nil
144123
}
124+
145125
return false, "", nil
146126
}
147127

0 commit comments

Comments
 (0)