Manpages

NOME

fdatasync − sincroniza os dados de um arquivo com aquele no disco

SINOPSE

#include <unistd.h>

#ifdef _POSIX_SYNCHRONIZED_IO

int fdatasync(int fd);

#endif

DESCRIÇÃO

fdatasync esvazia todos do buffers de dados de um arquivo para o disco (antes do retorno da chamada de sistema). Ele lembra fsync mas não é requerido para atualizar os metadados como por exemplo o tempo de acesso.

Aplicações que acessam base da dados or arquivos de log frequentemtne escrevem pequeno fragmento de dados (por exemplo, uma linha em um arquivo de log) e então chama fsync imediatamente para assegurar que os dados escritos são fisicamente armazenados no disco rígido. Desafortunadamente, fsync irá sempre iniciar duas operações de escrita: uma para a recente escrita de dados e outra para atualizar o tempo de modificação armazenado no inode. Se o tempo de modificação não é uma parte da transação o conceito de fdatasync pode ser usado para evitar inodes desnecessários em operações de escrita no disco.

VALORES RETORNADOS

Em caso de sucesso, zero é retornado. Caso contrário, −1 é retornado, e errno é selecionado adequadamente.

ERROS

EBADF

fd não é um descritor de arquivos aberto para escrita.

EROFS, EINVAL

fd é confinado para um arquivo especial o qual não suporta sincronização.

EIO

Um erro ocorreu durante a sincronização.

PROBLEMAS

Atualmente (Linux 2.0.23) fdatasync é equivalente a fsync.

DE ACORDO COM

POSIX1b (anteriormente POSIX.4)

VEJA TAMBÉM

fsync(2), B.O. Gallmeister, POSIX.4, O’Reilly, pp. 220-223 and 343.

TRADUZIDO POR LDP-BR em 21/08/2000.

André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx [AT] xxxxxx.xx> (revisão)