From 043ee64b2365e18afd92b93a30a871d37a01e935 Mon Sep 17 00:00:00 2001 From: simlecode <69969590+simlecode@users.noreply.github.com> Date: Mon, 28 Apr 2025 14:48:32 +0800 Subject: [PATCH] opt: first generate car file --- chunk.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/chunk.go b/chunk.go index 6abed5c..fba8c23 100644 --- a/chunk.go +++ b/chunk.go @@ -39,20 +39,25 @@ func (cc *commPCallback) OnSuccess(buf *Buffer, graphName, payloadCid, fsDetail log.Infof("piece cid: %s, payload size: %d, size: %d ", cpRes.Root.String(), cpRes.PayloadSize, cpRes.Size) buf.SeekStart() - carFileName := filepath.Join(cc.carDir, cpRes.Root.String()) - if !cc.rename { - carFileName += ".car" - } - carFile, err := os.OpenFile(carFileName, os.O_RDWR|os.O_CREATE, 0o644) + carFilePath := filepath.Join(cc.carDir, cpRes.Root.String()) + carFileNameWithSuffix := carFilePath + ".car" + + carFile, err := os.OpenFile(carFileNameWithSuffix, os.O_RDWR|os.O_CREATE, 0o644) if err != nil { log.Fatalf("failed to create car file: %s", err) } - defer carFile.Close() if _, err = io.Copy(carFile, buf); err != nil { log.Fatalf("failed to write car file: %s", err) } buf.Reset() + carFile.Close() + + if cc.rename { + if err := os.Rename(carFileNameWithSuffix, carFilePath); err != nil { + log.Fatalf("failed to rename car file: %s", err) + } + } // Add node inof to manifest.csv manifestPath := path.Join(cc.carDir, "manifest.csv")