fdatasync - システムコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- エラー
- バグ
- 有効性
- 準拠
- 関連項目
名前
fdatasync - ファイルのメモリ上のデータをディスク上のものと同期させる
書式
#include <unistd.h>
int fdatasync(int
fd
);
説明
fdatasync
()は (システム・コールから戻る前に) ファイルの全てのデータ・バッファーを
ディスクにフラッシュ (flush) する。これは
fsync
()に似ているが、アクセス時刻のようなメタデータを更新しない。
データベースにアクセスしたり、ログ・ファイルに書き込むような
アプリケーションはしばしば小さなデータの断片 (例えばログ・ファイルの一行)
を書き込み、それがハードディスクに物理的に格納されることを保証する
ために、すぐに
fsync
()を呼び出す。不幸なことに、
fsync
()は常に二回の書き込み操作を行なう: 一つは新しく書き込まれたデータを、
もう一つは inode の修正時刻を更新するために。修正時刻がトラザンクション
に関係なければ、
fdatasync
()を使用することで不必要なディスクへの inode の書き込み処理を
避けることができる。
返り値
成功した場合は 0 が返される。エラーの場合は -1 を返し、
errno
に適切な値が設定される。
エラー
-
EBADF
-
fd
が書き込みのためにオープンされた有効なファイル・ディスクリプターではない。
-
EIO
-
同期操作の間にエラーが起こった。
-
EROFS
,
EINVAL
-
fd
が同期操作をサポートしていない特殊なファイルを参照している。
バグ
現在のところ (Linux 2.2 時点では)
fdatasync
()は
fsync
()に等しい。
有効性
fdatasync
()が利用可能な POSIX システムでは、
<unistd.h> において
_POSIX_SYNCHRONIZED_IO
が 0 より大きい値に定義されている
(
sysconf
(3)を参照すること)。
準拠
関連項目
fsync
(2),
sync_file_range
(2)
B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223 and 343.
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする