0
Files
aleesa-irc-go/vendor/github.com/cockroachdb/pebble/vfs/prefetch_linux.go
2022-09-04 04:29:50 +03:00

19 lines
631 B
Go

// Copyright 2020 The LevelDB-Go and Pebble Authors. All rights reserved. Use
// of this source code is governed by a BSD-style license that can be found in
// the LICENSE file.
//go:build linux
// +build linux
package vfs
import "syscall"
// Prefetch signals the OS (on supported platforms) to fetch the next size
// bytes in file (as returned by os.File.Fd()) after offset into cache. Any
// subsequent reads in that range will not issue disk IO.
func Prefetch(file uintptr, offset uint64, size uint64) error {
_, _, err := syscall.Syscall(syscall.SYS_READAHEAD, uintptr(file), uintptr(offset), uintptr(size))
return err
}