aboutsummaryrefslogtreecommitdiff
path: root/weed/operation/chunked_file.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/operation/chunked_file.go')
-rw-r--r--weed/operation/chunked_file.go22
1 files changed, 14 insertions, 8 deletions
diff --git a/weed/operation/chunked_file.go b/weed/operation/chunked_file.go
index 52086514a..69e9b758f 100644
--- a/weed/operation/chunked_file.go
+++ b/weed/operation/chunked_file.go
@@ -10,8 +10,8 @@ import (
"sync"
- "github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/chrislusf/seaweedfs/weed/glog"
)
var (
@@ -70,16 +70,22 @@ func (cm *ChunkManifest) Marshal() ([]byte, error) {
}
func (cm *ChunkManifest) DeleteChunks(master string) error {
- deleteError := 0
+ var fileIds []string
for _, ci := range cm.Chunks {
- if e := DeleteFile(master, ci.Fid, ""); e != nil {
- deleteError++
- glog.V(0).Infof("Delete %s error: %v, master: %s", ci.Fid, e, master)
- }
+ fileIds = append(fileIds, ci.Fid)
}
- if deleteError > 0 {
- return errors.New("Not all chunks deleted.")
+ results, err := DeleteFiles(master, fileIds)
+ if err != nil {
+ glog.V(0).Infof("delete %+v: %v", fileIds, err)
+ return fmt.Errorf("chunk delete: %v", err)
}
+ for _, result := range results {
+ if result.Error != "" {
+ glog.V(0).Infof("delete file %+v: %v", result.FileId, result.Error)
+ return fmt.Errorf("chunk delete %v: %v", result.FileId, result.Error)
+ }
+ }
+
return nil
}