mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-24 03:47:45 +08:00
fix truncating when already at the correct size
fixes #4518 License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
This commit is contained in:
parent
3218703f21
commit
e6545a24b2
@ -1111,3 +1111,28 @@ func TestFileDescriptors(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTruncateAtSize(t *testing.T) {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
ds, rt := setupRoot(ctx, t)
|
||||
|
||||
dir := rt.GetDirectory()
|
||||
|
||||
nd := dag.NodeWithData(ft.FilePBData(nil, 0))
|
||||
fi, err := NewFile("test", nd, dir, ds)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
fd, err := fi.Open(OpenReadWrite, true)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer fd.Close()
|
||||
_, err = fd.Write([]byte("test"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
fd.Truncate(4)
|
||||
}
|
||||
|
||||
@ -481,6 +481,9 @@ func (dm *DagModifier) Truncate(size int64) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if size == int64(realSize) {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Truncate can also be used to expand the file
|
||||
if size > int64(realSize) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user