Improve error handling in CollectTar.

This commit is contained in:
Catherine
2025-12-04 15:23:15 +00:00
parent 2ebf4400bf
commit 8f0712b3ad
2 changed files with 12 additions and 6 deletions
+9 -5
View File
@@ -26,18 +26,21 @@ func CollectTar(
case Transform_Zstd:
data, err = zstdDecoder.DecodeAll(data, []byte{})
if err != nil {
return err
return fmt.Errorf("zstd: %s: %w", header.Name, err)
}
default:
return fmt.Errorf("unexpected transform")
return fmt.Errorf("%s: unexpected transform", header.Name)
}
header.Size = int64(len(data))
err = archive.WriteHeader(header)
if err != nil {
return
return fmt.Errorf("tar: %w", err)
}
_, err = archive.Write(data)
if err != nil {
return fmt.Errorf("tar: %w", err)
}
return
}
@@ -82,7 +85,8 @@ func CollectTar(
err = appendFile(&header, entry.GetData(), Transform_Identity)
default:
return fmt.Errorf("unexpected entry type")
panic(fmt.Errorf("CollectTar encountered invalid entry: %v, %v",
entry.GetType(), entry.GetTransform()))
}
if err != nil {
return err
@@ -115,7 +119,7 @@ func CollectTar(
err = archive.Flush()
if err != nil {
return err
return fmt.Errorf("tar: %w", err)
}
flusher, ok := writer.(Flusher)
+3 -1
View File
@@ -314,7 +314,9 @@ func Main() {
if err != nil {
logc.Fatalln(ctx, err)
}
CollectTar(ctx, fileOutputArg(), manifest, metadata)
if err = CollectTar(ctx, fileOutputArg(), manifest, metadata); err != nil {
logc.Fatalln(ctx, err)
}
case *updateSite != "":
if backend, err = CreateBackend(&config.Storage); err != nil {