OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / fallocate.2
index 2674406..b962e30 100644 (file)
@@ -8,55 +8,55 @@
 .\" Updated 2008-10-13, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.11
 .\" 
 .TH FALLOCATE 2 2010-09-10 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-fallocate \- ¥Õ¥¡¥¤¥ë¶õ´Ö¤ÎÁàºî
-.SH ½ñ¼°
+.SH 名前
+fallocate \- ファイル空間の操作
+.SH 書式
 .nf
-.BR "#define _GNU_SOURCE" "             /* feature_test_macros(7) »²¾È */"
+.BR "#define _GNU_SOURCE" "             /* feature_test_macros(7) 参照 */"
 .B #include <fcntl.h>
 
 .BI "int fallocate(int " fd ", int " mode ", off_t " offset \
 ", off_t " len ");"
 .fi
-.SH ÀâÌÀ
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢°Ü¿¢À­¤Î¤Ê¤¤¡¢Linux ¸ÇÍ­¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç¤¢¤ë¡£
-°Ü¿¢À­¤¬É¬Íפʾì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥Ç¥£¥¹¥¯¶õ´Ö¤ò³Î¼Â¤Ë³ÎÊݤ¹¤ë¤¿¤á¤Ë¡¢
-POSIX.1 ¤Çµ¬Äꤵ¤ì¤¿ÊýË¡¤Ç¤¢¤ë
+.SH 説明
+このシステムコールは、移植性のない、Linux 固有のシステムコールである。
+移植性が必要な場合は、ファイルに対してディスク空間を確実に確保するために、
+POSIX.1 で規定された方法である
 .BR posix_fallocate (3)
-¤ò»È¤¦¤³¤È¡£
+を使うこと。
 
 .BR fallocate ()
-¤ò»È¤¦¤È¡¢
+を使うと、
 .I fd
-¤¬»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥Ç¥£¥¹¥¯¶õ´Ö¤òľÀÜÁàºî¤Ç¤­¤ë¡£
-ÁàºîÂоݤϡ¢
+が参照するファイルに割り当てられたディスク空間を直接操作できる。
+操作対象は、
 .I offset
-¤«¤é»Ï¤Þ¤ëŤµ
+から始まる長さ
 .I len
-¥Ð¥¤¥È¤ÎÎΰè¤Ç¤¢¤ë¡£
+バイトの領域である。
 
 .I mode
-°ú¤­¿ô¤Ï¡¢»ØÄꤵ¤ì¤¿Îΰè¤ËÂФ·¤Æ¼Â¹Ô¤¹¤ëÁàºî¤ò»ØÄꤹ¤ë¡£
-¸½ºß¤Î¤È¤³¤í¡¢
+引き数は、指定された領域に対して実行する操作を指定する。
+現在のところ、
 .I mode
-¤Ë»ØÄê¤Ç¤­¤ë¥Õ¥é¥°¤Ï°Ê²¼¤Î°ì¤Ä¤À¤±¤Ç¤¢¤ë¡£
+に指定できるフラグは以下の一つだけである。
 .TP
 .B FALLOC_FL_KEEP_SIZE
-¤³¤Î¥Õ¥é¥°¤Ï¡¢
+このフラグは、
 .I offset
-¤È
+と
 .I len
-¤Ç»ØÄꤵ¤ì¤¿Îΰè¤Î¥Ç¥£¥¹¥¯¶õ´Ö¤ò³ä¤êÅö¤Æ¡¢¤½¤Î¶õ´Ö¤ò 0 ¤Ç½é´ü²½¤¹¤ë¡£
-¸Æ¤Ó½Ð¤·¤¬À®¸ù¤¹¤ë¤È¡¢¤½¤ì¤Ë³¤¤¤Æ¤³¤ÎÎΰè¤Ø¤Î½ñ¤­¹þ¤ß¤¬¹Ô¤ï¤ì¤ë¤¬¡¢
-¥Ç¥£¥¹¥¯¶õ´Ö¤ÎÉÔ­¤Ë¤è¤ë½ñ¤­¹þ¤ß¼ºÇÔ¤¬È¯À¸¤·¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤ë¡£
-¥Õ¥¡¥¤¥ëËöÈø¤è¤ê¸å¤í¤ÎÎΰè¤Ë¤Ä¤¤¤Æ 0 ¤ÇËä¤á¤¿¥Ö¥í¥Ã¥¯¤òÁ°¤â¤Ã¤Æ
-³ä¤êÅö¤Æ¤Æ¤ª¤¯¤³¤È¤Ï¡¢Äɵ­ (append) ¤Îºî¶ÈÉé²Ù¤òºÇŬ²½¤¹¤ë¤Î¤Ë
-Í­ÍѤǤ¢¤ë¡£
-¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬
+で指定された領域のディスク空間を割り当て、その空間を 0 で初期化する。
+呼び出しが成功すると、それに続いてこの領域への書き込みが行われるが、
+ディスク空間の不足による書き込み失敗が発生しないことが保証される。
+ファイル末尾より後ろの領域について 0 で埋めたブロックを前もって
+割り当てておくことは、追記 (append) の作業負荷を最適化するのに
+有用である。
+ファイルサイズが
 .IR offset + len
-¤è¤ê¤â¾®¤µ¤¤¾ì¹ç¤Ç¤¢¤Ã¤Æ¤â¡¢¥Ö¥í¥Ã¥¯¤ÎÁ°¤â¤Ã¤Æ¤Î³ä¤êÅö¤Æ¤Ë¤è¤ê
+よりも小さい場合であっても、ブロックの前もっての割り当てにより
 .RB ( stat (2)
-¤¬ÊÖ¤¹) ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÏÊѹ¹¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
+が返す) ファイルサイズは変更されることはない。
 .\"
 .\" Note from Amit Arora:
 .\" There were few more flags which were discussed, but none of
@@ -67,78 +67,78 @@ POSIX.1 
 .\" if any/which one of these flags will make it to the later kernels.
 .PP
 .B FALLOC_FL_KEEP_SIZE
-¥Õ¥é¥°¤¬
+フラグが
 .I mode
-¤Ë»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï
+に指定されなかった場合、デフォルトの動作は
 .B FALLOC_FL_KEEP_SIZE
-¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤È¤Û¤È¤ó¤ÉƱ¤¸¤È¤Ê¤ë¡£
-Í£°ì¤Î°ã¤¤¤Ï¡¢
+フラグが指定された場合とほとんど同じとなる。
+唯一の違いは、
 .I "offset + len"
-¤¬¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤è¤ê¤âÂ礭¤«¤Ã¤¿¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¤¬À®¸ù¤¹¤ë¤È
-¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬Êѹ¹¤µ¤ì¤ëÅÀ¤Ç¤¢¤ë¡£
-¤³¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï¡¢¥é¥¤¥Ö¥é¥ê´Ø¿ô
+がファイルサイズよりも大きかった場合、呼び出しが成功すると
+ファイルサイズが変更される点である。
+このデフォルトの動作は、ライブラリ関数
 .BR posix_fallocate (3)
-¤ÎÆ°ºî¤ÈÈó¾ï¤Ë»÷¤Æ¤¤¤ë¡£¤³¤ì¤Ï
+の動作と非常に似ている。これは
 .BR posix_fallocate (3)
-¤òºÇŬ¤Ë¼ÂÁõ¤¹¤ë¼êÃʤòÄ󶡤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ë¡£
+を最適に実装する手段を提供することを目的としているからである。
 .PP
-³ä¤êÅö¤Æ¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥ºÃ±°Ì¤Ç¹Ô¤ï¤ì¤ë¤¿¤á¡¢
+割り当てはブロックサイズ単位で行われるため、
 .BR fallocate ()
-¤Ï»ØÄꤵ¤ì¤¿¤è¤ê¤âÂ礭¤ÊÎΰè¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤¢¤ë¡£
-.SH ÊÖ¤êÃÍ
+は指定されたよりも大きな領域を割り当てることがある。
+.SH 返り値
 .BR fallocate ()
-¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤·¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤òÊÖ¤¹¡£
-.SH ¥¨¥é¡¼
+は成功すると 0 を返し、エラーの場合は \-1 を返す。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EBADF
 .I fd
-¤¬Í­¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¤«¡¢
-½ñ¤­¹þ¤ßÍѤȤ·¤Æ¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+が有効なファイルディスクリプタでないか、
+書き込み用としてオープンされていない。
 .TP
 .B EFBIG
 .I offset + len
-¤¬¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤¤¡£
+がファイルサイズの最大値よりも大きい。
 .TP
 .B EINTR
-¼Â¹ÔÃæ¤Ë¥·¥°¥Ê¥ë¤¬Ê᪤µ¤ì¤¿¡£
+実行中にシグナルが捕捉された。
 .TP
 .B EINVAL
 .I offset
-¤¬ 0 Ì¤Ëþ¤Ç¤¢¤ë¤«¡¢
+が 0 未満であるか、
 .I len
-¤¬ 0 °Ê²¼¤Ç¤¢¤ë¡£
+が 0 以下である。
 .TP
 .B EIO
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤ÎÆɤ߽ñ¤­Ãæ¤ËÆþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
+ファイルシステムとの読み書き中に入出力エラーが発生した。
 .TP
 .B ENODEV
 .I fd
-¤¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤«¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È¤·¤Æ¤¤¤Ê¤¤
+が通常のファイルかディレクトリを参照していない
 .RI ( fd
-¤¬¥Ñ¥¤¥×¤ä FIFO ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢Ê̤Υ¨¥é¡¼¤¬È¯À¸¤¹¤ë)¡£
+がパイプや FIFO を参照している場合、別のエラーが発生する)。
 .TP
 .B ENOSPC
 .I fd
-¤¬»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥Ð¥¤¥¹¤Ë½½Ê¬¤Ê¶õ¤­Îΰ褬¤Ê¤¤¡£
+が参照するファイルを含むデバイスに十分な空き領域がない。
 .TP
 .B ENOSYS
 .I fd
-¤¬»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
-»ØÄꤵ¤ì¤¿Áàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
+が参照するファイルを含むファイルシステムが
+指定された操作をサポートしていない。
 .TP
 .B EOPNOTSUPP
 .I fd
-¤¬»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
+が参照するファイルを含むファイルシステムが
 .I mode
-¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
+をサポートしていない。
+.SH バージョン
 .BR fallocate ()
-¤Ï¥«¡¼¥Í¥ë 2.6.23 °Ê¹ß¤Î Linux ¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¡£
-glibc ¤Ç¤ÎÂбþ¤Ï¥Ð¡¼¥¸¥ç¥ó 3.10 °Ê¹ß¤Ç¹Ô¤ï¤ì¤Æ¤¤¤ë¡£
-.SH ½àµò
+はカーネル 2.6.23 以降の Linux で利用可能である。
+glibc での対応はバージョン 3.10 以降で行われている。
+.SH 準拠
 .BR fallocate ()
-¤Ï Linux ¸ÇÍ­¤Ç¤¢¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+は Linux 固有である。
+.SH 関連項目
 .BR ftruncate (2),
 .BR posix_fadvise (3),
 .BR posix_fallocate (3)