diff options
| author | chrislusf <chris.lu@gmail.com> | 2015-08-21 14:09:33 -0700 |
|---|---|---|
| committer | chrislusf <chris.lu@gmail.com> | 2015-08-21 14:09:36 -0700 |
| commit | 91db227b27d45389e982a945d947bffa6e21812f (patch) | |
| tree | 1de0d4cd0edf90b54a6e288b4a9e3d4785d5e220 /go | |
| parent | 1c6729d4c12560111a0e503e004ffa01aa3add62 (diff) | |
| download | seaweedfs-91db227b27d45389e982a945d947bffa6e21812f.tar.xz seaweedfs-91db227b27d45389e982a945d947bffa6e21812f.zip | |
avoid using empty fileId to delete
fix https://github.com/chrislusf/seaweedfs/issues/183
Diffstat (limited to 'go')
| -rw-r--r-- | go/filer/embedded_filer/files_in_leveldb.go | 3 | ||||
| -rw-r--r-- | go/weed/weed_server/filer_server_handlers.go | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/go/filer/embedded_filer/files_in_leveldb.go b/go/filer/embedded_filer/files_in_leveldb.go index 6d141a395..b0b410a26 100644 --- a/go/filer/embedded_filer/files_in_leveldb.go +++ b/go/filer/embedded_filer/files_in_leveldb.go @@ -43,6 +43,9 @@ func (fl *FileListInLevelDb) CreateFile(dirId filer.DirectoryId, fileName string } func (fl *FileListInLevelDb) DeleteFile(dirId filer.DirectoryId, fileName string) (fid string, err error) { if fid, err = fl.FindFile(dirId, fileName); err != nil { + if err == leveldb.ErrNotFound { + return "", nil + } return } err = fl.db.Delete(genKey(dirId, fileName), nil) diff --git a/go/weed/weed_server/filer_server_handlers.go b/go/weed/weed_server/filer_server_handlers.go index 50a5a9c52..1695296d4 100644 --- a/go/weed/weed_server/filer_server_handlers.go +++ b/go/weed/weed_server/filer_server_handlers.go @@ -209,7 +209,7 @@ func (fs *FilerServer) DeleteHandler(w http.ResponseWriter, r *http.Request) { err = fs.filer.DeleteDirectory(r.URL.Path, isRecursive) } else { fid, err = fs.filer.DeleteFile(r.URL.Path) - if err == nil { + if err == nil && fid != "" { err = operation.DeleteFile(fs.master, fid, fs.jwt(fid)) } } |
