Browse Source

avoid using empty fileId to delete

fix https://github.com/chrislusf/seaweedfs/issues/183
pull/187/head
chrislusf 10 years ago
parent
commit
91db227b27
  1. 3
      go/filer/embedded_filer/files_in_leveldb.go
  2. 2
      go/weed/weed_server/filer_server_handlers.go

3
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) { func (fl *FileListInLevelDb) DeleteFile(dirId filer.DirectoryId, fileName string) (fid string, err error) {
if fid, err = fl.FindFile(dirId, fileName); err != nil { if fid, err = fl.FindFile(dirId, fileName); err != nil {
if err == leveldb.ErrNotFound {
return "", nil
}
return return
} }
err = fl.db.Delete(genKey(dirId, fileName), nil) err = fl.db.Delete(genKey(dirId, fileName), nil)

2
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) err = fs.filer.DeleteDirectory(r.URL.Path, isRecursive)
} else { } else {
fid, err = fs.filer.DeleteFile(r.URL.Path) fid, err = fs.filer.DeleteFile(r.URL.Path)
if err == nil {
if err == nil && fid != "" {
err = operation.DeleteFile(fs.master, fid, fs.jwt(fid)) err = operation.DeleteFile(fs.master, fid, fs.jwt(fid))
} }
} }

Loading…
Cancel
Save