feat(backup): 归档先写 .partial 再 fsync 改名并记录 sha256,删除原件前回读校验,reaper 抽样巡检与清扫半截归档,保留权限与 mtime,面板标出损坏与已校验
This commit is contained in:
25 files changed
+1489
-125
No files matched your search
@@ -806,7 +806,7 @@ func (f *fakeRepo) LatestBackup(_ context.Context, serverName string) (*BackupRe
|
||||
var latest *fakeBackup
|
||||
for i := range f.backups {
|
||||
b := &f.backups[i]
|
||||
if b.view.Status != "present" || b.view.ServerName != serverName {
|
||||
if b.view.Status != "present" || b.view.ServerName != serverName || b.view.Corrupt {
|
||||
continue
|
||||
}
|
||||
if latest == nil || b.view.CreatedAt.After(latest.view.CreatedAt) {
|
||||
@@ -830,7 +830,7 @@ func (f *fakeRepo) BackupByID(_ context.Context, id string) (*BackupRecord, erro
|
||||
return &BackupRecord{
|
||||
ID: b.view.ID, ServerName: b.view.ServerName,
|
||||
FormerOwner: b.view.FormerOwner, BackupRef: b.ref,
|
||||
SizeBytes: b.view.SizeBytes,
|
||||
SizeBytes: b.view.SizeBytes, Corrupt: b.view.Corrupt,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user