|
|
|
@@ -3,7 +3,6 @@ package ticktock |
|
|
|
import ( |
|
|
|
"context" |
|
|
|
"fmt" |
|
|
|
"strconv" |
|
|
|
|
|
|
|
"github.com/samber/lo" |
|
|
|
"gitlink.org.cn/cloudream/common/pkgs/logger" |
|
|
|
@@ -959,19 +958,15 @@ func (t *ChangeRedundancy) ecToEC(ctx *changeRedundancyContext, obj jcstypes.Obj |
|
|
|
return nil, nil, nil |
|
|
|
} |
|
|
|
|
|
|
|
for k, vs := range ret.Stored { |
|
|
|
idx, err := strconv.ParseInt(k, 10, 64) |
|
|
|
if err != nil { |
|
|
|
return nil, nil, fmt.Errorf("parsing result key %s as index: %w", k, err) |
|
|
|
} |
|
|
|
if len(vs) == 0 { |
|
|
|
for i := range newBlocks { |
|
|
|
v := ret.Get(fmt.Sprintf("%v", i)) |
|
|
|
if v == nil { |
|
|
|
// 有一些块已经存在,所以不会在计划执行结果中 |
|
|
|
continue |
|
|
|
} |
|
|
|
v := vs[0] |
|
|
|
|
|
|
|
r := v.(*ops2.FileInfoValue) |
|
|
|
newBlocks[idx].FileHash = r.Hash |
|
|
|
newBlocks[idx].Size = r.Size |
|
|
|
newBlocks[i].FileHash = r.Hash |
|
|
|
newBlocks[i].Size = r.Size |
|
|
|
} |
|
|
|
|
|
|
|
var evtBlockTrans []datamap.DataTransfer |
|
|
|
@@ -1205,19 +1200,16 @@ func (t *ChangeRedundancy) reconstructLRC(ctx *changeRedundancyContext, obj jcst |
|
|
|
return nil, nil, nil |
|
|
|
} |
|
|
|
|
|
|
|
for k, vs := range ret.Stored { |
|
|
|
idx, err := strconv.ParseInt(k, 10, 64) |
|
|
|
if err != nil { |
|
|
|
return nil, nil, fmt.Errorf("parsing result key %s as index: %w", k, err) |
|
|
|
} |
|
|
|
if len(vs) == 0 { |
|
|
|
for i := range newBlocks { |
|
|
|
v := ret.Get(fmt.Sprintf("%v", i)) |
|
|
|
if v == nil { |
|
|
|
// 有一些块已经存在,所以不会在计划执行结果中 |
|
|
|
continue |
|
|
|
} |
|
|
|
v := vs[0] |
|
|
|
|
|
|
|
r := v.(*ops2.FileInfoValue) |
|
|
|
newBlocks[idx].FileHash = r.Hash |
|
|
|
newBlocks[idx].Size = r.Size |
|
|
|
newBlocks[i].FileHash = r.Hash |
|
|
|
newBlocks[i].Size = r.Size |
|
|
|
} |
|
|
|
|
|
|
|
// TODO 产生系统事件 |
|
|
|
|