diff options
Diffstat (limited to 'go/storage')
| -rw-r--r-- | go/storage/needle.go | 7 | ||||
| -rw-r--r-- | go/storage/store.go | 10 |
2 files changed, 9 insertions, 8 deletions
diff --git a/go/storage/needle.go b/go/storage/needle.go index 31e8a267c..353ca6dd5 100644 --- a/go/storage/needle.go +++ b/go/storage/needle.go @@ -15,9 +15,10 @@ import ( ) const ( - NeedleHeaderSize = 16 //should never change this - NeedlePaddingSize = 8 - NeedleChecksumSize = 4 + NeedleHeaderSize = 16 //should never change this + NeedlePaddingSize = 8 + NeedleChecksumSize = 4 + MaxPossibleVolumeSize = 4 * 1024 * 1024 * 1024 * 8 ) /* diff --git a/go/storage/store.go b/go/storage/store.go index cc9fef7d0..0f10331ca 100644 --- a/go/storage/store.go +++ b/go/storage/store.go @@ -262,15 +262,15 @@ func (s *Store) Write(i VolumeId, n *Needle) (size uint32, err error) { err = fmt.Errorf("Volume %s is read only!", i) return } else { - if s.volumeSizeLimit >= v.ContentSize()+uint64(size) { + if MaxPossibleVolumeSize >= v.ContentSize()+uint64(size) { size, err = v.write(n) } else { err = fmt.Errorf("Volume Size Limit %d Exceeded! Current size is %d", s.volumeSizeLimit, v.ContentSize()) } - if err != nil && s.volumeSizeLimit < v.ContentSize()+uint64(size) && s.volumeSizeLimit >= v.ContentSize() { - glog.V(0).Infoln("volume", i, "size is", v.ContentSize(), "close to", s.volumeSizeLimit) - if err = s.Join(); err != nil { - glog.V(0).Infoln("error with Join:", err) + if s.volumeSizeLimit < v.ContentSize()+uint64(size) { + glog.V(0).Infoln("volume", i, "size", v.ContentSize(), "will exceed limit", s.volumeSizeLimit) + if e = s.Join(); e != nil { + glog.V(0).Infoln("error when reporting size:", e) } } } |
