aboutsummaryrefslogtreecommitdiff
path: root/go/storage
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2015-07-11 01:07:12 -0700
committerChris Lu <chris.lu@gmail.com>2015-07-11 01:07:12 -0700
commit9bf10975bd832759963c0be350bc5a48ddbbae4d (patch)
treefa379ed10e653937fb77af2cb503ee9ffd707f65 /go/storage
parenta6aa79aab2cf4f87ebe38cc7deae751e536d486f (diff)
parent2c595d2d16629f7163587e1a08f2419c3df78ecc (diff)
downloadseaweedfs-9bf10975bd832759963c0be350bc5a48ddbbae4d.tar.xz
seaweedfs-9bf10975bd832759963c0be350bc5a48ddbbae4d.zip
Merge branch 'master' of github.com:chrislusf/weed-fs
Diffstat (limited to 'go/storage')
-rw-r--r--go/storage/needle_read_write.go2
-rw-r--r--go/storage/volume.go3
2 files changed, 4 insertions, 1 deletions
diff --git a/go/storage/needle_read_write.go b/go/storage/needle_read_write.go
index 9a9f63ddb..eb2d8d459 100644
--- a/go/storage/needle_read_write.go
+++ b/go/storage/needle_read_write.go
@@ -120,7 +120,7 @@ func (n *Needle) Append(w io.Writer, version Version) (size uint32, err error) {
return
}
}
- if n.HasTtl() {
+ if n.HasTtl() && n.Ttl != nil {
n.Ttl.ToBytes(header[0:TtlBytesLength])
if _, err = w.Write(header[0:TtlBytesLength]); err != nil {
return
diff --git a/go/storage/volume.go b/go/storage/volume.go
index 0e6cadecc..998b0dd64 100644
--- a/go/storage/volume.go
+++ b/go/storage/volume.go
@@ -152,6 +152,9 @@ func (v *Volume) NeedToReplicate() bool {
// isFileUnchanged checks whether this needle to write is same as last one.
// It requires serialized access in the same volume.
func (v *Volume) isFileUnchanged(n *Needle) bool {
+ if v.Ttl == EMPTY_TTL || v.Ttl.String() == "" {
+ return true
+ }
nv, ok := v.nm.Get(n.Id)
if ok && nv.Offset > 0 {
oldNeedle := new(Needle)