Skip to content

Commit e68f04e

Browse files
committed
fix(upload): 修复分片上传时hash值验证逻辑,确保完整hash列表不被覆盖
1 parent bba51f4 commit e68f04e

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

internal/fs/sliceup.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ func (m *SliceUploadManager) UploadSlice(ctx context.Context, storage driver.Dri
246246
if req.SliceHash != "" {
247247
session.mutex.Lock()
248248

249-
//验证分片hash值
250-
if req.SliceNum == 0 { //第一个分片,slicehash是所有的分片hash
249+
// 验证分片hash值
250+
if req.SliceNum == 0 { // 第一个分片,slicehash是所有的分片hash
251251
hs := strings.Split(req.SliceHash, ",")
252252
if len(hs) != int(session.SliceCnt) {
253253
session.mutex.Unlock()
@@ -257,7 +257,8 @@ func (m *SliceUploadManager) UploadSlice(ctx context.Context, storage driver.Dri
257257
}
258258
session.SliceHash = req.SliceHash // 存储完整的hash字符串
259259
} else {
260-
session.SliceHash = req.SliceHash // 存储单个分片hash
260+
// 非第0个分片,不覆盖 SliceHash,保持完整的hash列表
261+
log.Debugf("Slice %d hash: %s (keeping complete hash list)", req.SliceNum, req.SliceHash)
261262
}
262263
session.mutex.Unlock()
263264
}

0 commit comments

Comments
 (0)