Voltar à lista
Linux x86_64Arquivos & E/S#221

fadvise64

Informa ao kernel o padrão de acesso esperado para uma região de um arquivo, para orientar heurísticas de cache/readahead.

Descrição

Diferente de `readahead` (que dispara uma ação imediata), `fadvise64` apenas dá uma dica de política — ex.: POSIX_FADV_SEQUENTIAL, POSIX_FADV_RANDOM, POSIX_FADV_DONTNEED (liberar cache).

man 2Desde o kernel 2.5.60

Assinatura

int fadvise64(int fd, loff_t offset, size_t len, int advice);

Parâmetros

ParâmetroTipoDescrição
fdintDescritor de arquivo.
offsetloff_tInício da região.
lensize_tTamanho da região (0 = até o fim do arquivo).
adviceintPOSIX_FADV_NORMAL, SEQUENTIAL, RANDOM, NOREUSE, WILLNEED ou DONTNEED.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1fdint
rsiargumento 2offsetloff_t
rdxargumento 3lensize_t
r10argumento 4adviceint

Valor de retorno

0 em sucesso; um código de erro positivo em caso de falha (não usa -1/errno neste caso).

Códigos de erro (errno)

EBADF(9)
Descritor de arquivo inválido.
EINVAL(22)
Argumento inválido.
ESPIPE(29)
Seek inválido (descritor não posicionável, ex.: pipe).

Relacionadas