The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

fsync (2)
  • fsync (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • fsync (2) ( FreeBSD man: Системные вызовы )
  • >> fsync (2) ( Русские man: Системные вызовы )
  • fsync (2) ( Linux man: Системные вызовы )
  • fsync (3) ( Solaris man: Библиотечные вызовы )
  • fsync (3) ( POSIX man: Библиотечные вызовы )
  • Ключ fsync обнаружен в базе ключевых слов.
  •  

    ИМЯ

    fsync - синхронизирует состояние файла в памяти с состоянием на диске  

    ОБЗОР

    #include <unistd.h>

    int fsync(int fd);

    int fdatasync(int fd);  

    ОПИСАНИЕ

    fsync копирует на диск все части файла, находящиеся в памяти и ожидает пока устройство скажет, что все эти части сохранены. Также данный вызов обновляет информацию о состоянии метаданных. Это создаёт уверенность, что запись в каталоге содержит файл, который также находится на диске. Чтобы проделать это явно вызову fsync также нужен файловый дескриптор каталога.

    fdatasync делает тоже самое что и fsync , но сбрасывает только данный пользователя, а не метаданные, такие как mtime или atime.

     

    ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

    В случае успеха возвращается ноль. При ошибке возвращается -1 и errno устанавливается соответствующим образом.

     

    ОШИБКИ

    EBADF
    fd не является дескриптором файла, открытого для записи.
    EROFS, EINVAL
    fd связан со специальным файлом, который не поддерживает синхронизацию.
    EIO
    Во время синхронизации произошла ошибка.
     

    ЗАМЕЧАНИЯ

    В случае если у жёсткого диска разрешена запись кэша, данные могут фактически не быть сохранены после выполнения fsync/fdatasync.

    Когда файловая система ext2 монтируется с опцией sync , при вызове fsync также неявно синхронизируются записи в каталогах.

    В ядрах до 2.4, fsync на больших файлах может быть неэффективным. В качестве альтернативы можно использовать флаг O_SYNC в вызове open(2).  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    POSIX.1b (когда-то назывался POSIX.4)  

    СМОТРИ ТАКЖЕ

    bdflush(2), open(2), sync(2), update(8), sync(8) +.mount(8),  

    ПЕРЕВОД

    Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003


     

    Index

    ИМЯ
    ОБЗОР
    ОПИСАНИЕ
    ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
    ОШИБКИ
    ЗАМЕЧАНИЯ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    СМОТРИ ТАКЖЕ
    ПЕРЕВОД


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру