github.com/tickstep/library-go@v0.1.1/prealloc/prealloc.go (about) 1 //+build !windows,!plan9 2 3 // Package prealloc 初始化分配文件包 4 package prealloc 5 6 import ( 7 "syscall" 8 ) 9 10 // PreAlloc 预分配文件空间 11 func PreAlloc(fd uintptr, length int64) error { 12 err := syscall.Ftruncate(int(fd), length) 13 if err != nil { 14 return &PreAllocError{ 15 ProcName: "Ftruncate", 16 Err: err, 17 } 18 } 19 return nil 20 }