Rechercher une page de manuel
fdatasync
Langue: ru
Version: 1996-04-13 (fedora - 25/11/07)
Section: 2 (Appels système)
Sommaire
НАЗВАНИЕ
fdatasync - синхронизирует содержимое файла в памяти с содержимым на дискеОБЗОР
#include <unistd.h>int fdatasync(int fd);
ОПИСАНИЕ
fdatasync записывает на диск содержимое всех буферов данных, связанных с файлом, причем возврат из функции происходит только после того, как это было сделано. Этот системный вызов напоминает fsync, но от него не требуется обновлять метаданные, например, время доступа.Приложения, которые работают с базами данных или журнальными файлами, часто пишут небольшие фрагменты данных (например, строчку журнала за строчкой), а затем вызывают fsync, чтобы убедиться, что записанные данные сохранены на жестком диске. К сожалению, fsync всегда приводит к двум операциям записи: одной для новых данных, и еще одной для того, чтобы обновить информацию, хранящуюся в inode. Если время модификации файла неважно для программы, то можно использовать fdatasync, чтобы избежать ненужной операции записи inode.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха возвращается ноль. При ошибке возвращается -1, а errno устанавливается должным образом.ОШИБКИ
- EBADF
- fd не является правильным дескриптором файла, открытым для записи.
- EROFS, EINVAL
- fd связан со специальным файлом, не поддерживающим синхронизацию.
- EIO
- Во время синхронизации произошла ошибка.
ОШИБКИ
В настоящий момент (Linux 2.2) fdatasync эквивалентен fsync.ДОСТУПНОСТЬ
На POSIX системах, где вызов fdatasync недоступен, символ _POSIX_SYNCHRONIZED_IO , определяемый в <unistd.h> устанавливается в значение больше 0. (См. также sysconf(3).)СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX1b (ранее известный как POSIX.4)СМОТРИ ТАКЖЕ
fsync(2), B.O. Gallmeister, POSIX.4, O'Reilly, сс. 220-223 и 343.ПЕРЕВОД
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999, Виктор Вислобоков <corochoone@perm.ru> 2003Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre