Gofmt megacommit.

This commit is contained in:
Christian Schwarz
2017-04-26 20:25:53 +02:00
parent 9750bf3123
commit d9ecfc8eb4
14 changed files with 130 additions and 137 deletions
+19 -20
View File
@@ -1,29 +1,29 @@
package main
import (
yaml "gopkg.in/yaml.v2"
"io/ioutil"
"errors"
"github.com/mitchellh/mapstructure"
"github.com/zrepl/zrepl/zfs"
"errors"
yaml "gopkg.in/yaml.v2"
"io/ioutil"
"strings"
)
type Pool struct {
Name string
Url string
Name string
Url string
}
type Push struct {
To string
To string
Datasets []zfs.DatasetPath
}
type Pull struct {
From string
Mapping zfs.DatasetMapping
From string
Mapping zfs.DatasetMapping
}
type Sink struct {
From string
Mapping zfs.DatasetMapping
From string
Mapping zfs.DatasetMapping
}
type Config struct {
@@ -74,8 +74,8 @@ func parsePools(v interface{}) (p []Pool, err error) {
func parsePushs(v interface{}) (p []Push, err error) {
asList := make([]struct{
To string
asList := make([]struct {
To string
Datasets []string
}, 0)
@@ -87,7 +87,7 @@ func parsePushs(v interface{}) (p []Push, err error) {
for _, e := range asList {
push := Push{
To: e.To,
To: e.To,
Datasets: make([]zfs.DatasetPath, len(e.Datasets)),
}
@@ -105,12 +105,11 @@ func parsePushs(v interface{}) (p []Push, err error) {
func parsePulls(v interface{}) (p []Pull, err error) {
asList := make([]struct{
From string
asList := make([]struct {
From string
Mapping map[string]string
}, 0)
if err = mapstructure.Decode(v, &asList); err != nil {
return
}
@@ -134,7 +133,7 @@ func parseSinks(v interface{}) (s []Sink, err error) {
var asList []interface{}
var ok bool
if asList, ok = v.([]interface{}); !ok {
if asList, ok = v.([]interface{}); !ok {
return nil, errors.New("expected list")
}
@@ -153,7 +152,7 @@ func parseSinks(v interface{}) (s []Sink, err error) {
func parseSink(v interface{}) (s Sink, err error) {
t := struct {
From string
From string
Mapping map[string]string
}{}
if err = mapstructure.Decode(v, &t); err != nil {
@@ -169,7 +168,7 @@ func parseComboMapping(m map[string]string) (c zfs.ComboMapping, err error) {
c.Mappings = make([]zfs.DatasetMapping, len(m))
for lhs,rhs := range m {
for lhs, rhs := range m {
if lhs[0] == '|' {
@@ -178,7 +177,7 @@ func parseComboMapping(m map[string]string) (c zfs.ComboMapping, err error) {
}
m := zfs.DirectMapping{
Source: nil,
Source: nil,
}
if m.Target, err = zfs.NewDatasetPath(rhs); err != nil {
+1 -1
View File
@@ -1,8 +1,8 @@
package main
import (
"testing"
"github.com/stretchr/testify/assert"
"testing"
)
func TestSampleConfigFileIsParsedWithoutErrors(t *testing.T) {
+4 -3
View File
@@ -1,12 +1,13 @@
package main
import (
"io"
"github.com/zrepl/zrepl/zfs"
"github.com/zrepl/zrepl/model"
"github.com/zrepl/zrepl/rpc"
"github.com/zrepl/zrepl/zfs"
"io"
)
type Handler struct {}
type Handler struct{}
func (h Handler) HandleFilesystemRequest(r rpc.FilesystemRequest) (roots []model.Filesystem, err error) {
+20 -20
View File
@@ -1,18 +1,18 @@
package main
import (
"github.com/urfave/cli"
"errors"
"fmt"
"io"
"github.com/zrepl/zrepl/sshbytestream"
"github.com/urfave/cli"
"github.com/zrepl/zrepl/rpc"
"github.com/zrepl/zrepl/sshbytestream"
"io"
)
type Role uint
const (
ROLE_IPC Role = iota
ROLE_IPC Role = iota
ROLE_ACTION Role = iota
)
@@ -29,7 +29,7 @@ func main() {
app.Flags = []cli.Flag{
cli.StringFlag{Name: "config"},
}
app.Before = func (c *cli.Context) (err error) {
app.Before = func(c *cli.Context) (err error) {
if !c.GlobalIsSet("config") {
return errors.New("config flag not set")
}
@@ -40,22 +40,22 @@ func main() {
return
}
app.Commands = []cli.Command{
{
Name: "sink",
Aliases: []string{"s"},
Usage: "start in sink mode",
Flags: []cli.Flag{
cli.StringFlag{Name: "identity"},
{
Name: "sink",
Aliases: []string{"s"},
Usage: "start in sink mode",
Flags: []cli.Flag{
cli.StringFlag{Name: "identity"},
},
Action: doSink,
},
Action: doSink,
},
{
Name: "run",
Aliases: []string{"r"},
Usage: "do replication",
Action: doRun,
},
}
{
Name: "run",
Aliases: []string{"r"},
Usage: "do replication",
Action: doRun,
},
}
app.RunAndExitOnError()
+5 -5
View File
@@ -2,7 +2,7 @@ package model
type Filesystem struct {
Name string
Parent *Filesystem
Parent *Filesystem
Children []Filesystem
Snapshots []Snapshot
}
@@ -21,9 +21,9 @@ type Pool struct {
}
type SSHTransport struct {
Host string
User string
Port uint16
Host string
User string
Port uint16
TransportOpenCommand []string
Options []string
Options []string
}
+8 -9
View File
@@ -2,12 +2,11 @@ package rpc
import (
"encoding/json"
"io"
. "github.com/zrepl/zrepl/model"
. "github.com/zrepl/zrepl/util"
"errors"
"fmt"
. "github.com/zrepl/zrepl/model"
. "github.com/zrepl/zrepl/util"
"io"
"reflect"
)
@@ -157,14 +156,14 @@ func respondWithError(conn io.Writer, id ErrorId, err error) error {
func inferRequestType(v interface{}) (RequestType, error) {
switch v.(type) {
case ByteStreamRPCProtocolVersionRequest:
return RTProtocolVersionRequest, nil
return RTProtocolVersionRequest, nil
case FilesystemRequest:
return RTFilesystemRequest, nil
return RTFilesystemRequest, nil
case InitialTransferRequest:
return RTInitialTransferRequest, nil
return RTInitialTransferRequest, nil
default:
return 0, errors.New(fmt.Sprintf("cannot infer request type for type '%v'",
reflect.TypeOf(v)))
reflect.TypeOf(v)))
}
}
@@ -182,7 +181,7 @@ func (c ByteStreamRPC) sendRequest(v interface{}) (err error) {
h := RequestHeader{
Type: rt,
Id: genUUID(),
Id: genUUID(),
}
if err = c.encoder.Encode(h); err != nil {
+7 -7
View File
@@ -6,10 +6,10 @@ type RequestId [16]byte
type RequestType uint8
const (
RTProtocolVersionRequest RequestType = 1
RTFilesystemRequest = 16
RTInitialTransferRequest = 17
RTIncrementalTransferRequest = 18
RTProtocolVersionRequest RequestType = 1
RTFilesystemRequest = 16
RTInitialTransferRequest = 17
RTIncrementalTransferRequest = 18
)
type RequestHeader struct {
@@ -56,9 +56,9 @@ const (
type ResponseType uint8
const (
ROK ResponseType = 1
RFilesystems = 2
RChunkedStream = 3
ROK ResponseType = 1
RFilesystems = 2
RChunkedStream = 3
)
type ResponseHeader struct {
+8 -10
View File
@@ -1,17 +1,17 @@
package main
import (
"flag"
"github.com/zrepl/zrepl/model"
"github.com/zrepl/zrepl/sshbytestream"
"github.com/zrepl/zrepl/util"
"flag"
// "bytes"
_ "bufio"
// "strings"
"io"
"fmt"
_ "time"
"io"
"os"
_ "time"
)
func main() {
@@ -45,14 +45,13 @@ func main() {
fmt.Fprintf(os.Stderr, "Chunk Count: %d\n", chunker.ChunkCount)
case *mode == "outgoing":
conn, err := sshbytestream.Outgoing("client", model.SSHTransport{
Host: *outgoingHost,
User: *outgoingUser,
Port: uint16(*outgoingPort),
Options: []string{"Compression=no"},
Host: *outgoingHost,
User: *outgoingUser,
Port: uint16(*outgoingPort),
Options: []string{"Compression=no"},
TransportOpenCommand: []string{"/tmp/sshwrap", "-mode", "incoming", "-incoming.file", "/random.img"},
})
@@ -73,10 +72,9 @@ func main() {
os.Exit(0)
default:
panic("unsupported mode!")
}
}
}
+19 -20
View File
@@ -1,13 +1,13 @@
package sshbytestream
import (
"bytes"
"context"
"fmt"
"github.com/zrepl/zrepl/model"
"io"
"os"
"os/exec"
"github.com/zrepl/zrepl/model"
"context"
"fmt"
"bytes"
"sync"
)
@@ -28,7 +28,7 @@ func (f IncomingReadWriteCloser) Write(p []byte) (n int, err error) {
return os.Stdout.Write(p)
}
func (f IncomingReadWriteCloser) Close() (err error) {
func (f IncomingReadWriteCloser) Close() (err error) {
os.Exit(0)
return nil
}
@@ -37,12 +37,12 @@ func Outgoing(name string, remote model.SSHTransport) (conn io.ReadWriteCloser,
ctx, cancel := context.WithCancel(context.Background())
sshArgs := make([]string, 0, 2 * len(remote.Options) + len(remote.TransportOpenCommand) + 4)
sshArgs := make([]string, 0, 2*len(remote.Options)+len(remote.TransportOpenCommand)+4)
sshArgs = append(sshArgs,
"-p", fmt.Sprintf("%d", remote.Port),
"-o", "BatchMode=yes",
)
for _,option := range remote.Options {
for _, option := range remote.Options {
sshArgs = append(sshArgs, "-o", option)
}
sshArgs = append(sshArgs, fmt.Sprintf("%s@%s", remote.User, remote.Host))
@@ -57,16 +57,15 @@ func Outgoing(name string, remote model.SSHTransport) (conn io.ReadWriteCloser,
return
}
if out,err = cmd.StdoutPipe(); err != nil {
if out, err = cmd.StdoutPipe(); err != nil {
return
}
f := ForkedSSHReadWriteCloser{
RemoteStdin: in,
RemoteStdout: out,
Cancel: cancel,
Command: cmd,
RemoteStdin: in,
RemoteStdout: out,
Cancel: cancel,
Command: cmd,
exitWaitGroup: &sync.WaitGroup{},
}
@@ -87,11 +86,11 @@ func Outgoing(name string, remote model.SSHTransport) (conn io.ReadWriteCloser,
return f, nil
}
type ForkedSSHReadWriteCloser struct {
RemoteStdin io.Writer
RemoteStdout io.Reader
Command *exec.Cmd
Cancel context.CancelFunc
type ForkedSSHReadWriteCloser struct {
RemoteStdin io.Writer
RemoteStdout io.Reader
Command *exec.Cmd
Cancel context.CancelFunc
exitWaitGroup *sync.WaitGroup
}
@@ -103,8 +102,8 @@ func (f ForkedSSHReadWriteCloser) Write(p []byte) (n int, err error) {
return f.RemoteStdin.Write(p)
}
func (f ForkedSSHReadWriteCloser) Close() (err error) {
func (f ForkedSSHReadWriteCloser) Close() (err error) {
f.Cancel()
f.exitWaitGroup.Wait()
return nil
}
}
+18 -19
View File
@@ -1,24 +1,24 @@
package chunking
import (
"io"
"encoding/binary"
"bytes"
"encoding/binary"
"io"
)
var ChunkBufSize uint32 = 32*1024
var ChunkBufSize uint32 = 32 * 1024
var ChunkHeaderByteOrder = binary.LittleEndian
type Unchunker struct {
ChunkCount int
in io.Reader
ChunkCount int
in io.Reader
remainingChunkBytes uint32
}
func NewUnchunker(conn io.Reader) *Unchunker {
return &Unchunker{
in: conn,
remainingChunkBytes: 0,
in: conn,
remainingChunkBytes: 0,
}
}
@@ -51,7 +51,7 @@ func (c *Unchunker) Read(b []byte) (n int, err error) {
}
n, err = c.in.Read(b[0:maxRead])
if err != nil {
if err != nil {
return n, err
}
c.remainingChunkBytes -= uint32(n)
@@ -69,11 +69,11 @@ func min(a, b int) int {
}
type Chunker struct {
ChunkCount int
in io.Reader
ChunkCount int
in io.Reader
remainingChunkBytes int
payloadBuf []byte
headerBuf *bytes.Buffer
payloadBuf []byte
headerBuf *bytes.Buffer
}
func NewChunker(conn io.Reader) Chunker {
@@ -85,11 +85,10 @@ func NewChunkerSized(conn io.Reader, chunkSize uint32) Chunker {
buf := make([]byte, int(chunkSize)-binary.Size(chunkSize))
return Chunker{
in: conn,
in: conn,
remainingChunkBytes: 0,
payloadBuf: buf,
headerBuf: &bytes.Buffer{},
payloadBuf: buf,
headerBuf: &bytes.Buffer{},
}
}
@@ -113,7 +112,7 @@ func (c *Chunker) Read(b []byte) (n int, err error) {
// Write chunk header
c.headerBuf.Reset()
nextChunkLen := uint32(newPayloadLen);
nextChunkLen := uint32(newPayloadLen)
headerLen := binary.Size(nextChunkLen)
err = binary.Write(c.headerBuf, ChunkHeaderByteOrder, nextChunkLen)
if err != nil {
@@ -128,5 +127,5 @@ func (c *Chunker) Read(b []byte) (n int, err error) {
n2 := copy(remainingBuf, c.payloadBuf[:c.remainingChunkBytes])
//fmt.Printf("chunker: written: %d\n", n+int(n2))
c.remainingChunkBytes -= n2
return n+int(n2), err
}
return n + int(n2), err
}
+8 -10
View File
@@ -1,11 +1,11 @@
package zfs
import (
"errors"
"os/exec"
"io"
"bufio"
"errors"
"fmt"
"io"
"os/exec"
)
type DatasetMapping interface {
@@ -26,10 +26,9 @@ func (m GlobMapping) Map(source DatasetPath) (target DatasetPath, err error) {
return
}
target = make([]string, 0, len(source) + len(m.TargetRoot))
target = make([]string, 0, len(source)+len(m.TargetRoot))
target = append(target, m.TargetRoot...)
for si, sc := range source {
target = append(target, sc)
if si < len(m.PrefixPath) {
@@ -87,7 +86,7 @@ type ExecMapping struct {
Args []string
}
func NewExecMapping(name string, args... string) (m *ExecMapping) {
func NewExecMapping(name string, args ...string) (m *ExecMapping) {
m = &ExecMapping{
Name: name,
Args: args,
@@ -100,7 +99,6 @@ func (m ExecMapping) Map(source DatasetPath) (target DatasetPath, err error) {
var stdin io.Writer
var stdout io.Reader
cmd := exec.Command(m.Name, m.Args...)
if stdin, err = cmd.StdinPipe(); err != nil {
@@ -124,7 +122,7 @@ func (m ExecMapping) Map(source DatasetPath) (target DatasetPath, err error) {
}
}()
if _, err = io.WriteString(stdin, source.ToString() + "\n"); err != nil {
if _, err = io.WriteString(stdin, source.ToString()+"\n"); err != nil {
return
}
@@ -136,8 +134,8 @@ func (m ExecMapping) Map(source DatasetPath) (target DatasetPath, err error) {
t := resp.Text()
switch {
case t == "NOMAP":
return nil, NoMatchError
case t == "NOMAP":
return nil, NoMatchError
}
target = toDatasetPath(t) // TODO discover garbage?
+3 -3
View File
@@ -1,8 +1,8 @@
package zfs
import (
"github.com/stretchr/testify/assert"
"testing"
"github.com/stretchr/testify/assert"
)
func TestGlobMapping(t *testing.T) {
@@ -40,7 +40,7 @@ func TestComboMapping(t *testing.T) {
}
c := ComboMapping{
Mappings: []DatasetMapping{m1,m2},
Mappings: []DatasetMapping{m1, m2},
}
var r DatasetPath
@@ -48,7 +48,7 @@ func TestComboMapping(t *testing.T) {
p := toDatasetPath("a/b/q")
r,err = m2.Map(p)
r, err = m2.Map(p)
assert.Equal(t, NoMatchError, err)
r, err = c.Map(p)
+9 -9
View File
@@ -1,14 +1,14 @@
package zfs
import (
"github.com/zrepl/zrepl/model"
"os/exec"
"bufio"
"strings"
"errors"
"io"
"fmt"
"github.com/zrepl/zrepl/model"
"io"
"io/ioutil"
"os/exec"
"strings"
)
func InitialSend(snapshot string) (io.Reader, error) {
@@ -62,9 +62,9 @@ func zfsList(root string, filter DatasetFilter) (datasets []DatasetPath, err err
const ZFS_LIST_FIELD_COUNT = 1
cmd := exec.Command(ZFS_BINARY, "list", "-H", "-r",
"-t", "filesystem,volume",
"-o", "name",
root)
"-t", "filesystem,volume",
"-o", "name",
root)
var stdout io.Reader
var stderr io.Reader
@@ -103,9 +103,9 @@ func zfsList(root string, filter DatasetFilter) (datasets []DatasetPath, err err
stderrOutput, err := ioutil.ReadAll(stderr)
if waitErr:= cmd.Wait(); waitErr != nil {
if waitErr := cmd.Wait(); waitErr != nil {
err := ZFSError{
Stderr: stderrOutput,
Stderr: stderrOutput,
WaitErr: waitErr,
}
return nil, err
+1 -1
View File
@@ -1,8 +1,8 @@
package zfs
import (
"testing"
"github.com/stretchr/testify/assert"
"testing"
)
func TestZFSListHandlesProducesZFSErrorOnNonZeroExit(t *testing.T) {