Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all bug

名前

       posix_fallocate - ファイルのスペースを確保する

書式

       #include <fcntl.h>

       int posix_fallocate(int fd, off_t offset, off_t len);

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       posix_fallocate():
           _XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L

説明

       関数  posix_fallocate()   は、ディスクリプター fd で参照されるファイルに対して、ディスクス
       ペースを確実に確保する。 ディスクスペースは offset から始まる len バイトの範囲のバイトであ
       る。  posix_fallocate() の呼び出しが成功した後、指定された範囲のバイトに対する書き込みは、
       ディスクスペースの不足で失敗しないことが保証される。

       ファイルのサイズが offset+len より小さい場合、ファイルはこのサイズになるように拡大される。
       それ以外の場合、ファイルサイズは変わらない。

返り値

       posix_fallocate()   は成功した場合、0 を返す。 失敗した場合、エラー番号を返す。 errno が設
       定されない点に注意すること。

エラー

       EBADF  fd  が有効なファイルディスクリプターでないか、   書き込み用としてオープンされていな
              い。

       EFBIG  offset+len が最大ファイルサイズを超えている。

       EINVAL offset が 0 未満だったか、 len が 0 以下だった。

       ENODEV fd が通常のファイルとして参照されていない。

       ENOSPC fd が参照するファイルを含むデバイスに十分な空き領域がない。

       ESPIPE fd がパイプを参照している。

バージョン

       posix_fallocate()  は glibc 2.1.94 以降で利用可能である。

属性

   マルチスレッディング (pthreads(7) 参照)
       posix_fallocate() 関数はスレッドセーフである。

準拠

       POSIX.1-2001.

       POSIX.1-2008 では、 len が 0 の場合、もしくは offset が 0 未満の場合、 EINVAL エラーを返す
       ものとされている。 POSIX.1-2001 では、 len が 0 未満の場合、もしくは offset が 0  未満の場
       合、 EINVAL エラーを返すものとされている。また、 len が 0 の場合、 EINVAL エラーを返しても
       よいとされている。

注意

       glibc の実装では、 posix_fallocate() は fallocate() を使って実装されている。

関連項目

       fallocate(1), fallocate(2), lseek(2), posix_fadvise(2)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。