POSIX_FALLOCATE

Section: Linux Programmer's Manual (3)
Updated: 2015-01-22
IndexJM Home Page
 

名前

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/ に書かれている。


関連キーワード

fallocate,offset,FALLOCATE,エラー,スペース,EINVAL,ディスク,バイト,pages,バージョン 

Index

名前
書式
説明
返り値
エラー
バージョン
属性
マルチスレッディング (pthreads(7) 参照)
準拠
注意
関連項目
この文書について

This document was created byman2html, using the manual pages.
Time: 20:43:04 GMT, August 08, 2017