aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislusf <chris.lu@gmail.com>2014-12-26 01:29:30 -0800
committerchrislusf <chris.lu@gmail.com>2014-12-26 01:29:30 -0800
commit763f5e16c7238b8e4b30ea60560212fb927a8873 (patch)
treeec86ea79cb296d838a5d8eaa71ec7a30705e6d90
parent8651f7c7276042332fb3edf545f7a7a3af3e0dec (diff)
parent5b7628cf08b246bb8dd075a28f29e1bd3401eb2d (diff)
downloadseaweedfs-763f5e16c7238b8e4b30ea60560212fb927a8873.tar.xz
seaweedfs-763f5e16c7238b8e4b30ea60560212fb927a8873.zip
Merge pull request #38 from aszxqw/master
fix
-rw-r--r--go/operation/system_message.pb.go2
-rw-r--r--go/operation/system_message_test.go2
-rw-r--r--go/storage/needle.go7
-rw-r--r--go/storage/store.go14
-rw-r--r--go/storage/volume.go8
-rw-r--r--go/weed/weed_server/master_server_handlers_admin.go2
6 files changed, 29 insertions, 6 deletions
diff --git a/go/operation/system_message.pb.go b/go/operation/system_message.pb.go
index 9f00dd74d..6f0f974c5 100644
--- a/go/operation/system_message.pb.go
+++ b/go/operation/system_message.pb.go
@@ -14,7 +14,7 @@ It has these top-level messages:
*/
package operation
-import proto "code.google.com/p/goprotobuf/proto"
+import "github.com/golang/protobuf/proto"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/go/operation/system_message_test.go b/go/operation/system_message_test.go
index b5624c258..d18ca49a4 100644
--- a/go/operation/system_message_test.go
+++ b/go/operation/system_message_test.go
@@ -5,7 +5,7 @@ import (
"log"
"testing"
- proto "code.google.com/p/goprotobuf/proto"
+ "github.com/golang/protobuf/proto"
)
func TestSerialDeserial(t *testing.T) {
diff --git a/go/storage/needle.go b/go/storage/needle.go
index aa3206920..11610dd80 100644
--- a/go/storage/needle.go
+++ b/go/storage/needle.go
@@ -3,6 +3,7 @@ package storage
import (
"encoding/hex"
"errors"
+ "fmt"
"io/ioutil"
"mime"
"net/http"
@@ -24,6 +25,7 @@ const (
)
/*
+* A Needle means a uploaded and stored file.
* Needle file size is limited to 4GB for now.
*/
type Needle struct {
@@ -45,6 +47,11 @@ type Needle struct {
Padding []byte `comment:"Aligned to 8 bytes"`
}
+func (n *Needle) String() (str string) {
+ str = fmt.Sprintf("Cookie:%d, Id:%d, Size:%d, DataSize:%d, Name: %s, Mime: %s", n.Cookie, n.Id, n.Size, n.DataSize, n.Name, n.Mime)
+ return
+}
+
func ParseUpload(r *http.Request) (fileName string, data []byte, mimeType string, isGzipped bool, modifiedTime uint64, ttl *TTL, e error) {
form, fe := r.MultipartReader()
if fe != nil {
diff --git a/go/storage/store.go b/go/storage/store.go
index 80d8a30b8..65eed1d0e 100644
--- a/go/storage/store.go
+++ b/go/storage/store.go
@@ -9,10 +9,10 @@ import (
"strconv"
"strings"
- proto "code.google.com/p/goprotobuf/proto"
"github.com/chrislusf/weed-fs/go/glog"
"github.com/chrislusf/weed-fs/go/operation"
"github.com/chrislusf/weed-fs/go/util"
+ "github.com/golang/protobuf/proto"
)
const (
@@ -33,6 +33,10 @@ type MasterNodes struct {
lastNode int
}
+func (mn *MasterNodes) String() string {
+ return fmt.Sprintf("nodes:%v, lastNode:%d", mn.nodes, mn.lastNode)
+}
+
func NewMasterNodes(bootstrapNode string) (mn *MasterNodes) {
mn = &MasterNodes{nodes: []string{bootstrapNode}, lastNode: -1}
return
@@ -65,6 +69,9 @@ func (mn *MasterNodes) findMaster() (string, error) {
return mn.nodes[mn.lastNode], nil
}
+/*
+ * A VolumeServer contains one Store
+ */
type Store struct {
Port int
Ip string
@@ -77,6 +84,11 @@ type Store struct {
masterNodes *MasterNodes
}
+func (s *Store) String() (str string) {
+ str = fmt.Sprintf("Ip:%s, Port:%d, PublicUrl:%s, dataCenter:%s, rack:%s, connected:%v, volumeSizeLimit:%d, masterNodes:%s", s.Ip, s.Port, s.PublicUrl, s.dataCenter, s.rack, s.connected, s.volumeSizeLimit, s.masterNodes)
+ return
+}
+
func NewStore(port int, ip, publicUrl string, dirnames []string, maxVolumeCounts []int) (s *Store) {
s = &Store{Port: port, Ip: ip, PublicUrl: publicUrl}
s.Locations = make([]*DiskLocation, 0)
diff --git a/go/storage/volume.go b/go/storage/volume.go
index 5b0a83605..a1eccd62c 100644
--- a/go/storage/volume.go
+++ b/go/storage/volume.go
@@ -33,6 +33,10 @@ func NewVolume(dirname string, collection string, id VolumeId, replicaPlacement
e = v.load(true, true)
return
}
+func (v *Volume) String() string {
+ return fmt.Sprintf("Id:%v, dir:%s, Collection:%s, dataFile:%v, nm:%v, readOnly:%v", v.Id, v.dir, v.Collection, v.dataFile, v.nm, v.readOnly)
+}
+
func loadVolumeWithoutIndex(dirname string, collection string, id VolumeId) (v *Volume, e error) {
v = &Volume{dir: dirname, Collection: collection, Id: id}
v.SuperBlock = SuperBlock{}
@@ -135,7 +139,7 @@ func (v *Volume) isFileUnchanged(n *Needle) bool {
oldNeedle := new(Needle)
oldNeedle.Read(v.dataFile, int64(nv.Offset)*NeedlePaddingSize, nv.Size, v.Version())
if oldNeedle.Checksum == n.Checksum && bytes.Equal(oldNeedle.Data, n.Data) {
- n.Size = oldNeedle.Size
+ n.DataSize = oldNeedle.DataSize
return true
}
}
@@ -165,7 +169,7 @@ func (v *Volume) write(n *Needle) (size uint32, err error) {
v.accessLock.Lock()
defer v.accessLock.Unlock()
if v.isFileUnchanged(n) {
- size = n.Size
+ size = n.DataSize
glog.V(4).Infof("needle is unchanged!")
return
}
diff --git a/go/weed/weed_server/master_server_handlers_admin.go b/go/weed/weed_server/master_server_handlers_admin.go
index d7124e567..75e059365 100644
--- a/go/weed/weed_server/master_server_handlers_admin.go
+++ b/go/weed/weed_server/master_server_handlers_admin.go
@@ -8,12 +8,12 @@ import (
"strconv"
"strings"
- proto "code.google.com/p/goprotobuf/proto"
"github.com/chrislusf/weed-fs/go/glog"
"github.com/chrislusf/weed-fs/go/operation"
"github.com/chrislusf/weed-fs/go/storage"
"github.com/chrislusf/weed-fs/go/topology"
"github.com/chrislusf/weed-fs/go/util"
+ "github.com/golang/protobuf/proto"
)
func (ms *MasterServer) collectionDeleteHandler(w http.ResponseWriter, r *http.Request) {