OSDN Git Service

(split) LDP: Update release pages based on LDP 3.65 release
[linuxjm/LDP_man-pages.git] / draft / man2 / fallocate.2
index 371594e..835eccf 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\-01\-24 Linux "Linux Programmer's Manual"
+.TH FALLOCATE 2 2014\-04\-17 Linux "Linux Programmer's Manual"
 .SH 名前
 fallocate \- ファイル空間の操作
 .SH 書式
@@ -83,6 +83,33 @@ Btrfs (Linux 3.7 以降)
 .IP *
 .\" commit 83e4fa9c16e4af7122e31be3eca5d57881d236fe
 tmpfs (Linux 3.5 以降)
+.SS "Collapsing file space"
+.\" commit 00f5e61998dd17f5375d9dfc01331f104b83f841
+Specifying the \fBFALLOC_FL_COLLAPSE_RANGE\fP flag (available since Linux 3.15)
+in \fImode\fP removes a byte range from a file, without leaving a hole.  The
+byte range to be collapsed starts at \fIoffset\fP and continues for \fIlen\fP
+bytes.  At the completion of the operation, the contents of the file
+starting at the location \fIoffset+len\fP will be appended at the location
+\fIoffset\fP, and the file will be \fIlen\fP bytes smaller.
+
+A filesystem may place limitations on the granularity of the operation, in
+order to ensure efficient implementation.  Typically, \fIoffset\fP and \fIlen\fP
+must be a multiple of the filesystem logical block size, which varies
+according to the filesystem type and configuration.  If a filesystem has
+such a requirement, \fBfallocate\fP()  will fail with the error \fBEINVAL\fP if
+this requirement is violated.
+
+If the region specified by \fIoffset\fP plus \fIlen\fP reaches or passes the end
+of file, an error is returned; instead, use \fBftruncate\fP(2)  to truncate a
+file.
+
+No other flags may be specified in \fImode\fP in conjunction with
+\fBFALLOC_FL_COLLAPSE_RANGE\fP.
+
+.\" commit 9eb79482a97152930b113b51dff530aba9e28c8e
+.\" commit e1d8fb88a64c1f8094b9f6c3b6d2d9e6719c970d
+As at Linux 3.15, \fBFALLOC_FL_COLLAPSE_RANGE\fP is supported by ext4 (only for
+extent\-based files)  and XFS.
 .SH 返り値
 成功の場合、 \fBfallocate\fP() は 0 を返す。 エラーの場合、\-1 を返し、 \fIerror\fP にエラーを示す値を設定する。
 .SH エラー
@@ -105,6 +132,29 @@ tmpfs (Linux 3.5 以降)
 .\" http://thread.gmane.org/gmane.linux.file-systems/48331/focus=1193526
 \fIoffset\fP が 0 未満だったか、 \fIlen\fP が 0 以下だった。
 .TP 
+\fBEINVAL\fP
+\fImode\fP is \fBFALLOC_FL_COLLAPSE_RANGE\fP and the range specified by \fIoffset\fP
+plus \fIlen\fP reaches or passes the end of the file.
+.TP 
+\fBEINVAL\fP
+\fImode\fP is \fBFALLOC_FL_COLLAPSE_RANGE\fP, but either \fIoffset\fP or \fIlen\fP is
+not a multiple of the filesystem block size.
+.TP 
+\fBEINVAL\fP
+mode contains both \fBFALLOC_FL_COLLAPSE_RANGE\fP and other flags; no other
+flags are permitted with \fBFALLOC_FL_COLLAPSE_RANGE\fP.
+.TP  EINVAL
+\fImode\fP
+.\" There was a inconsistency in 3.15-rc1, that should be resolved so that all
+.\" filesystems use this error for this case. (Tytso says ex4 will change.)
+.\" http://thread.gmane.org/gmane.comp.file-systems.xfs.general/60485/focus=5521
+.\" From: Michael Kerrisk (man-pages <mtk.manpages@...>
+.\" 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
+is \fBFALLOC_FL_COLLAPSE_RANGE\fP, but the file referred to by \fIfd\fP is not a
+regular file.
+.TP 
 \fBEIO\fP
 ファイルシステムとの読み書き中に入出力エラーが発生した。
 .TP 
@@ -123,12 +173,16 @@ tmpfs (Linux 3.5 以降)
 \fImode\fP をサポートしていない。
 .TP 
 \fBEPERM\fP
-\fIfd\fP が参照するファイルに変更不可 (immutable) の属性が付いている (\fBchattr\fP(1) 参照)。 \fImode\fP に
-\fBFALLOC_FL_PUNCH_HOLE\fP が指定されたが、 \fIfd\fP が参照するファイルに追加のみ (append\-only)
-の属性が付いている (\fBchattr\fP(1) 参照)。
+The file referred to by \fIfd\fP is marked immutable (see \fBchattr\fP(1)).  Or:
+\fImode\fP specifies \fBFALLOC_FL_PUNCH_HOLE\fP or \fBFALLOC_FL_COLLAPSE_RANGE\fP and
+the file referred to by \fIfd\fP is marked append\-only (see \fBchattr\fP(1)).
 .TP 
 \fBESPIPE\fP
 \fIfd\fP がパイプか FIFO を参照している。
+.TP 
+\fBETXTBSY\fP
+\fImode\fP specifies \fBFALLOC_FL_COLLAPSE_RANGE\fP, but the file referred to by
+\fIfd\fP is currently being executed.
 .SH バージョン
 .\" See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
 \fBfallocate\fP()  はカーネル 2.6.23 以降の Linux で利用可能である。 glibc での対応はバージョン 3.10
@@ -138,6 +192,6 @@ tmpfs (Linux 3.5 以降)
 .SH 関連項目
 \fBfallocate\fP(1), \fBftruncate\fP(2), \fBposix_fadvise\fP(3), \fBposix_fallocate\fP(3)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。