"unsafe"
)
+// Implemented in the syscall package.
+//go:linkname fcntl syscall.fcntl
+func fcntl(fd int, cmd int, arg int) (int, error)
+
func (out *OutBuf) fallocate(size uint64) error {
stat, err := out.f.Stat()
if err != nil {
Length: int64(size - cursize),
}
- _, _, errno := syscall.Syscall(syscall.SYS_FCNTL, uintptr(out.f.Fd()), syscall.F_PREALLOCATE, uintptr(unsafe.Pointer(store)))
- if errno != 0 {
- return errno
- }
-
- return nil
+ _, err = fcntl(int(out.f.Fd()), syscall.F_PREALLOCATE, int(uintptr(unsafe.Pointer(store))))
+ return err
}
func (out *OutBuf) purgeSignatureCache() {