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@blv.com.br>
(tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx>
(revisão)