code: func punchHoleLinux(file *os.File, offset int64, size int64) error {
  	err := syscall.Fallocate(int(file.Fd()),
  		falloc_fl_punch_hole|falloc_fl_keep_size,
  		offset, size)
  	if err == syscall.ENOSYS || err == syscall.EOPNOTSUPP {
  		return errNoPunch
  	}
  	return err
  }
docs: // puncHoleLinux punches a hole into the given file starting at offset,
  // measuring "size" bytes