aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filer/filer_conf.go16
-rw-r--r--weed/filer/filer_on_meta_event.go2
2 files changed, 10 insertions, 8 deletions
diff --git a/weed/filer/filer_conf.go b/weed/filer/filer_conf.go
index b4f0e5890..8e549f5ad 100644
--- a/weed/filer/filer_conf.go
+++ b/weed/filer/filer_conf.go
@@ -46,17 +46,19 @@ func (fc *FilerConf) loadFromFiler(filer *Filer) (err error) {
return fc.LoadFromBytes(entry.Content)
}
- return fc.loadFromChunks(filer, entry.Chunks)
+ return fc.loadFromChunks(filer, entry.Content, entry.Chunks)
}
-func (fc *FilerConf) loadFromChunks(filer *Filer, chunks []*filer_pb.FileChunk) (err error) {
- data, err := filer.readEntry(chunks)
- if err != nil {
- glog.Errorf("read filer conf content: %v", err)
- return
+func (fc *FilerConf) loadFromChunks(filer *Filer, content []byte, chunks []*filer_pb.FileChunk) (err error) {
+ if len(content) == 0 {
+ content, err = filer.readEntry(chunks)
+ if err != nil {
+ glog.Errorf("read filer conf content: %v", err)
+ return
+ }
}
- return fc.LoadFromBytes(data)
+ return fc.LoadFromBytes(content)
}
func (fc *FilerConf) LoadFromBytes(data []byte) (err error) {
diff --git a/weed/filer/filer_on_meta_event.go b/weed/filer/filer_on_meta_event.go
index d93a7e9e3..295a5039e 100644
--- a/weed/filer/filer_on_meta_event.go
+++ b/weed/filer/filer_on_meta_event.go
@@ -40,7 +40,7 @@ func (f *Filer) readEntry(chunks []*filer_pb.FileChunk) ([]byte, error) {
func (f *Filer) reloadFilerConfiguration(entry *filer_pb.Entry) {
fc := NewFilerConf()
- err := fc.loadFromChunks(f, entry.Chunks)
+ err := fc.loadFromChunks(f, entry.Content, entry.Chunks)
if err != nil {
glog.Errorf("read filer conf chunks: %v", err)
return