aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filer/embedded_filer/filer_embedded.go5
-rw-r--r--weed/server/volume_server_handlers_read.go2
2 files changed, 6 insertions, 1 deletions
diff --git a/weed/filer/embedded_filer/filer_embedded.go b/weed/filer/embedded_filer/filer_embedded.go
index 27299eb40..4a335058b 100644
--- a/weed/filer/embedded_filer/filer_embedded.go
+++ b/weed/filer/embedded_filer/filer_embedded.go
@@ -5,6 +5,7 @@ import (
"fmt"
"path/filepath"
"strings"
+ "sync"
"github.com/chrislusf/seaweedfs/weed/filer"
"github.com/chrislusf/seaweedfs/weed/operation"
@@ -14,6 +15,7 @@ type FilerEmbedded struct {
master string
directories *DirectoryManagerInMap
files *FileListInLevelDb
+ mvMutex sync.Mutex
}
func NewFilerEmbedded(master string, dir string) (filer *FilerEmbedded, err error) {
@@ -121,6 +123,9 @@ mv fromFile toDir
mv fromFile toFile
*/
func (filer *FilerEmbedded) Move(fromPath string, toPath string) error {
+ filer.mvMutex.Lock()
+ defer filer.mvMutex.Unlock()
+
if _, dir_err := filer.FindDirectory(fromPath); dir_err == nil {
if _, err := filer.FindDirectory(toPath); err == nil {
// move folder under an existing folder
diff --git a/weed/server/volume_server_handlers_read.go b/weed/server/volume_server_handlers_read.go
index b111fb1af..2e33b415c 100644
--- a/weed/server/volume_server_handlers_read.go
+++ b/weed/server/volume_server_handlers_read.go
@@ -165,7 +165,7 @@ func (vs *VolumeServer) FaviconHandler(w http.ResponseWriter, r *http.Request) {
}
func (vs *VolumeServer) tryHandleChunkedFile(n *storage.Needle, fileName string, w http.ResponseWriter, r *http.Request) (processed bool) {
- if !n.IsChunkedManifest() {
+ if !n.IsChunkedManifest() || r.URL.Query().Get("cm") == "false" {
return false
}