diff options
| author | yanyiwu <i@yanyiwu.com> | 2014-12-26 15:36:33 +0800 |
|---|---|---|
| committer | yanyiwu <i@yanyiwu.com> | 2014-12-26 15:36:33 +0800 |
| commit | 5a40f539f23bbc262c3a10f64cc53bba67b3df21 (patch) | |
| tree | 1fc300a9feccd3edc27e1b49daa80f515e52a1a3 /go/storage/volume.go | |
| parent | 12d86a0f1ed3da915c39cdc01b662ee1fb2859d1 (diff) | |
| download | seaweedfs-5a40f539f23bbc262c3a10f64cc53bba67b3df21.tar.xz seaweedfs-5a40f539f23bbc262c3a10f64cc53bba67b3df21.zip | |
fix bug: upload a file which already existed return a wrong file size.
Diffstat (limited to 'go/storage/volume.go')
| -rw-r--r-- | go/storage/volume.go | 8 |
1 files changed, 6 insertions, 2 deletions
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 } |
