other versions
other sections
POSIX_FALLOCATE(3) | Linux Programmer's Manual | POSIX_FALLOCATE(3) |
名前¶
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/ に書かれている。2015-01-22 | GNU |