mirror of
https://github.com/restic/restic.git
synced 2025-11-16 09:53:28 +00:00
restorer: pre-allocate files before loading chunks
This commit is contained in:
16
internal/restorer/preallocate_linux.go
Normal file
16
internal/restorer/preallocate_linux.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package restorer
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
func preallocateFile(wr *os.File, size int64) error {
|
||||
if size <= 0 {
|
||||
return nil
|
||||
}
|
||||
// int fallocate(int fd, int mode, off_t offset, off_t len)
|
||||
// use mode = 0 to also change the file size
|
||||
return unix.Fallocate(int(wr.Fd()), 0, 0, size)
|
||||
}
|
||||
Reference in New Issue
Block a user