aboutsummaryrefslogtreecommitdiff
path: root/weed/shell
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2022-03-08 00:41:04 -0800
committerGitHub <noreply@github.com>2022-03-08 00:41:04 -0800
commit23d024708d9a22aa0f7e645294c4997cd8dcdb13 (patch)
tree702ab945382f806fd370324d49d7869703873bb2 /weed/shell
parent3aeee3d748712d4c1afa5eacd4f12939f8173afa (diff)
parentf7f2a597dd8f56683f8acd3254a37fca5518eae5 (diff)
downloadseaweedfs-23d024708d9a22aa0f7e645294c4997cd8dcdb13.tar.xz
seaweedfs-23d024708d9a22aa0f7e645294c4997cd8dcdb13.zip
Merge pull request #2730 from banjiaojuhao/filer-bugfix_mis-delete-chunks-when-append
[bugfix] filer: chunk mis-deletion
Diffstat (limited to 'weed/shell')
-rw-r--r--weed/shell/command_volume_fsck.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/weed/shell/command_volume_fsck.go b/weed/shell/command_volume_fsck.go
index 28f2d6753..1b3d7bf0d 100644
--- a/weed/shell/command_volume_fsck.go
+++ b/weed/shell/command_volume_fsck.go
@@ -153,12 +153,12 @@ func (c *commandVolumeFsck) collectFilerFileIdAndPaths(volumeIdToServer map[uint
if verbose && entry.Entry.IsDirectory {
fmt.Fprintf(writer, "checking directory %s\n", util.NewFullPath(entry.Dir, entry.Entry.Name))
}
- dChunks, mChunks, resolveErr := filer.ResolveChunkManifest(filer.LookupFn(c.env), entry.Entry.Chunks, 0, math.MaxInt64)
+ dataChunks, manifestChunks, resolveErr := filer.ResolveChunkManifest(filer.LookupFn(c.env), entry.Entry.Chunks, 0, math.MaxInt64)
if resolveErr != nil {
return nil
}
- dChunks = append(dChunks, mChunks...)
- for _, chunk := range dChunks {
+ dataChunks = append(dataChunks, manifestChunks...)
+ for _, chunk := range dataChunks {
outputChan <- &Item{
vid: chunk.Fid.VolumeId,
fileKey: chunk.Fid.FileKey,
@@ -332,15 +332,15 @@ func (c *commandVolumeFsck) collectFilerFileIds(volumeIdToServer map[uint32]VInf
fileKey uint64
}
return doTraverseBfsAndSaving(c.env, nil, "/", false, func(entry *filer_pb.FullEntry, outputChan chan interface{}) (err error) {
- dChunks, mChunks, resolveErr := filer.ResolveChunkManifest(filer.LookupFn(c.env), entry.Entry.Chunks, 0, math.MaxInt64)
+ dataChunks, manifestChunks, resolveErr := filer.ResolveChunkManifest(filer.LookupFn(c.env), entry.Entry.Chunks, 0, math.MaxInt64)
if resolveErr != nil {
if verbose {
fmt.Fprintf(writer, "resolving manifest chunks in %s: %v\n", util.NewFullPath(entry.Dir, entry.Entry.Name), resolveErr)
}
return nil
}
- dChunks = append(dChunks, mChunks...)
- for _, chunk := range dChunks {
+ dataChunks = append(dataChunks, manifestChunks...)
+ for _, chunk := range dataChunks {
outputChan <- &Item{
vid: chunk.Fid.VolumeId,
fileKey: chunk.Fid.FileKey,