OSDN Git Service

Translation snapshot of memory of 3.76
[linuxjm/LDP_man-pages.git] / draft / man2 / fallocate.2
index 25f2282..2ca36aa 100644 (file)
@@ -22,7 +22,7 @@
 .\" Updated 2013-05-07, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH FALLOCATE 2 2014\-04\-17 Linux "Linux Programmer's Manual"
+.TH FALLOCATE 2 2014\-07\-08 Linux "Linux Programmer's Manual"
 .SH 名前
 fallocate \- ファイル空間の操作
 .SH 書式
@@ -86,7 +86,7 @@ tmpfs (Linux 3.5 以降)
 .SS ファイル空間の一部削除
 .\" commit 00f5e61998dd17f5375d9dfc01331f104b83f841
 \fBFALLOC_FL_COLLAPSE_RANGE\fP フラグ (Linux 3.15 以降で利用可能) を \fImode\fP に指定すると、
\8c\87å®\9aã\81\97ã\81\9fã\83\90ã\82¤ã\83\88ç¯\84å\9b²ã\82\92ã\83\95ã\82¡ã\82¤ã\83«ã\81\8bã\82\89å\89\8aé\99¤ã\81\99ã\82\8bã\80\82 ã\81\9dã\81®é\9a\9bã\80\81ã\83\9bã\83¼ã\83«ã\82\92æ®\8bã\82\89ない。 削除されるバイト範囲は \fIoffset\fP から始まる \fIlen\fP
\8c\87å®\9aã\81\97ã\81\9fã\83\90ã\82¤ã\83\88ç¯\84å\9b²ã\82\92ã\83\95ã\82¡ã\82¤ã\83«ã\81\8bã\82\89å\89\8aé\99¤ã\81\99ã\82\8bã\80\82 ã\81\9dã\81®é\9a\9bã\80\81ã\83\9bã\83¼ã\83«ã\82\92æ®\8bã\81\95ない。 削除されるバイト範囲は \fIoffset\fP から始まる \fIlen\fP
 バイトの範囲である。 操作が完了すると、 ファイルの \fIoffset+len\fP の位置から始まる内容が \fIoffset\fP の位置に見えるようになり、
 ファイルのサイズは \fIlen\fP バイトだけ小さくなる。
 
@@ -104,8 +104,31 @@ tmpfs (Linux 3.5 以降)
 .\" commit e1d8fb88a64c1f8094b9f6c3b6d2d9e6719c970d
 Linux 3.15 時点では \fBFALLOC_FL_COLLAPSE_RANGE\fP は ext4 (エクステントベースのファイル) と XFS
 でサポートされている。
+.SS ファイル空間のゼロ埋め
+.\" commit 409332b65d3ed8cfa7a8030f1e9d52f372219642
+\fBFALLOC_FL_ZERO_RANGE\fP フラグ (Linux 3.14 以降で利用可能) を \fImode\fP に指定すると、 \fIoffset\fP
+で始まる \fIlen\fP バイト範囲の空間をゼロ埋めする。
+指定された範囲の中では、ブロックは、そのファイル内のホールが広がる領域にあらかじめ割り当てられたものである。 呼び出しが成功すると、
+これ以降のこの範囲からの読み出しでは 0 を返す。
+
+ゼロ埋めは、ファイルシステム内部では、指定された範囲を書き込みを伴わないエクステントに変換する方法をできるだけ使って行われる。
+この方法は、指定された範囲について物理的にゼロ埋めしたデータがデバイスに書き込まれるのではないことを意味する
+(例外は指定された範囲の端の部分的に使用しているブロックである)。 (これ以外で) I/O が必要なのはメタデータの更新だけである。
+
+\fBFALLOC_FL_KEEP_SIZE\fP フラグが \fImode\fP に追加で指定された場合、 このシステムコールの動作は似ているが、
+\fIoffset\fP+\fIlen\fP がファイルサイズよりも大きい場合であってもファイルサイズは変更されない点が異なる。 この動作は
+\fBFALLOC_FL_KEEP_SIZE\fP を指定してスペースを前もって割り当てた場合と同じである。
+
+すべてのファイルシステムで \fBFALLOC_FL_ZERO_RANGE\fP がサポートされているわけではない。
+ファイルシステムがこの操作をサポートしていない場合は、 エラーが返る。 この操作は少なくとも以下のファイルシステムでサポートされている。
+.IP * 3
+.\" commit 376ba313147b4172f3e8cf620b9fb591f3e8cdfa
+XFS (Linux 3.14 以降)
+.IP *
+.\" commit b8a8684502a0fc852afa0056c6bb2a9273f6fcc0
+ext4 のエクステントベースのファイル (Linux 3.14 以降)
 .SH 返り値
-成功の場合、 \fBfallocate\fP() は 0 を返す。 エラーの場合、\-1 を返し、 \fIerror\fP にエラーを示す値を設定する。
+成功の場合、 \fBfallocate\fP() は 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
 .SH エラー
 .TP 
 \fBEBADF\fP
@@ -118,7 +141,7 @@ Linux 3.15 時点では \fBFALLOC_FL_COLLAPSE_RANGE\fP は ext4 (エクステン
 実行中にシグナルが捕捉された。
 .TP 
 \fBEINVAL\fP
-.\" FIXME (raise a kernel bug) Probably the len==0 case should be
+.\" FIXME (raise a kernel bug) Probably the len==0 case should be
 .\" a no-op, rather than an error. That would be consistent with
 .\" similar APIs for the len==0 case.
 .\" See "Re: [PATCH] fallocate.2: add FALLOC_FL_PUNCH_HOLE flag definition"
@@ -146,7 +169,8 @@ Linux 3.15 時点では \fBFALLOC_FL_COLLAPSE_RANGE\fP は ext4 (エクステン
 .\" Subject: Re: [PATCH v5 10/10] manpage: update FALLOC_FL_COLLAPSE_RANGE flag in fallocate
 .\" Newsgroups: gmane.linux.man, gmane.linux.file-systems
 .\" Date: 2014-04-17 13:40:05 GMT
-\fImode\fP が \fBFALLOC_FL_COLLAPSE_RANGE\fP だが、 \fIfd\fP が参照しているファイルが通常のファイルではない。
+\fImode\fP が \fBFALLOC_FL_COLLAPSE_RANGE\fP か \fBFALLOC_FL_ZERO_RANGE\fP だが、 \fIfd\fP
+が参照しているファイルが通常のファイルではない。
 .TP 
 \fBEIO\fP
 ファイルシステムとの読み書き中に入出力エラーが発生した。
@@ -184,6 +208,6 @@ Linux 3.15 時点では \fBFALLOC_FL_COLLAPSE_RANGE\fP は ext4 (エクステン
 .SH 関連項目
 \fBfallocate\fP(1), \fBftruncate\fP(2), \fBposix_fadvise\fP(3), \fBposix_fallocate\fP(3)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。