Switch to github.com/golang/dep for vendoring

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
This commit is contained in:
Mrunal Patel 2017-01-31 16:45:59 -08:00
parent d6ab91be27
commit 8e5b17cf13
15431 changed files with 3971413 additions and 8881 deletions

View file

@ -2,16 +2,12 @@ package zfs
import (
"bytes"
"errors"
"fmt"
"io"
"os/exec"
"regexp"
"runtime"
"strconv"
"strings"
"github.com/pborman/uuid"
)
type command struct {
@ -38,17 +34,16 @@ func (c *command) Run(arg ...string) ([][]string, error) {
}
cmd.Stderr = &stderr
id := uuid.New()
joinedArgs := strings.Join(cmd.Args, " ")
logger.Log([]string{"ID:" + id, "START", joinedArgs})
debug := strings.Join([]string{cmd.Path, strings.Join(cmd.Args, " ")}, " ")
if logger != nil {
logger.Log(cmd.Args)
}
err := cmd.Run()
logger.Log([]string{"ID:" + id, "FINISH"})
if err != nil {
return nil, &Error{
Err: err,
Debug: strings.Join([]string{cmd.Path, joinedArgs}, " "),
Debug: debug,
Stderr: stderr.String(),
}
}
@ -93,46 +88,34 @@ func setUint(field *uint64, value string) error {
}
func (ds *Dataset) parseLine(line []string) error {
prop := line[1]
val := line[2]
var err error
if len(line) != len(dsPropList) {
return errors.New("Output does not match what is expected on this platform")
switch prop {
case "available":
err = setUint(&ds.Avail, val)
case "compression":
setString(&ds.Compression, val)
case "mountpoint":
setString(&ds.Mountpoint, val)
case "quota":
err = setUint(&ds.Quota, val)
case "type":
setString(&ds.Type, val)
case "origin":
setString(&ds.Origin, val)
case "used":
err = setUint(&ds.Used, val)
case "volsize":
err = setUint(&ds.Volsize, val)
case "written":
err = setUint(&ds.Written, val)
case "logicalused":
err = setUint(&ds.Logicalused, val)
}
setString(&ds.Name, line[0])
setString(&ds.Origin, line[1])
if err = setUint(&ds.Used, line[2]); err != nil {
return err
}
if err = setUint(&ds.Avail, line[3]); err != nil {
return err
}
setString(&ds.Mountpoint, line[4])
setString(&ds.Compression, line[5])
setString(&ds.Type, line[6])
if err = setUint(&ds.Volsize, line[7]); err != nil {
return err
}
if err = setUint(&ds.Quota, line[8]); err != nil {
return err
}
if runtime.GOOS == "solaris" {
return nil
}
if err = setUint(&ds.Written, line[9]); err != nil {
return err
}
if err = setUint(&ds.Logicalused, line[10]); err != nil {
return err
}
if err = setUint(&ds.Usedbydataset, line[11]); err != nil {
return err
}
return nil
return err
}
/*
@ -281,8 +264,7 @@ func parseInodeChanges(lines [][]string) ([]*InodeChange, error) {
}
func listByType(t, filter string) ([]*Dataset, error) {
args := []string{"list", "-rHp", "-t", t, "-o", dsPropListOptions}
args := []string{"get", "-rHp", "-t", t, "all"}
if filter != "" {
args = append(args, filter)
}
@ -325,8 +307,6 @@ func (z *Zpool) parseLine(line []string) error {
var err error
switch prop {
case "name":
setString(&z.Name, val)
case "health":
setString(&z.Health, val)
case "allocated":
@ -335,18 +315,6 @@ func (z *Zpool) parseLine(line []string) error {
err = setUint(&z.Size, val)
case "free":
err = setUint(&z.Free, val)
case "fragmentation":
// Trim trailing "%" before parsing uint
err = setUint(&z.Fragmentation, val[:len(val)-1])
case "readonly":
z.ReadOnly = val == "on"
case "freeing":
err = setUint(&z.Freeing, val)
case "leaked":
err = setUint(&z.Leaked, val)
case "dedupratio":
// Trim trailing "x" before parsing float64
z.DedupRatio, err = strconv.ParseFloat(val[:len(val)-1], 64)
}
return err
}