HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > f > fdatasync - システムコールの説明

fdatasync - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. バグ
  7. 有効性
  8. 準拠
  9. 関連項目

名前

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)を参照すること)。

準拠

POSIX.1-2001.

関連項目

  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 ユーザーアカウントをロック・アンロックする