OSDN Git Service

(split) LDP: Release pages with over 80% translations.
[linuxjm/LDP_man-pages.git] / release / man2 / sync_file_range.2
index 77da33d..e79c111 100644 (file)
 .\"
 .\" 2006-07-05 Initial creation, Michael Kerrisk based on
 .\"     Andrew Morton's comments in fs/sync.c
+.\" 2010-10-09, mtk, Document sync_file_range2()
 .\"
-.\" Japanese Version Copyright (c) 2007 Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2007-01-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.43
-.\" Updated 2008-08-06, Akihiro MOTOKI, LDP v3.05
-.\" Updated 2010-04-23, Akihiro MOTOKI, LDP v3.24
+.\"*******************************************************************
 .\"
-.TH SYNC_FILE_RANGE 2 2010-01-17 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SYNC_FILE_RANGE 2 2010\-10\-09 Linux "Linux Programmer's Manual"
 .SH 名前
 sync_file_range \- ファイルセグメントをディスクと同期する
 .SH 書式
 .nf
-.BR "#define _GNU_SOURCE" "         /* feature_test_macros(7) 参照 */"
-.B #include <fcntl.h>
+\fB#define _GNU_SOURCE\fP         /* feature_test_macros(7) 参照 */
+\fB#include <fcntl.h>\fP
 
-.BI "int sync_file_range(int " fd ", off64_t " offset ", off64_t " nbytes ,
-.BI "                    unsigned int " flags );
+\fBint sync_file_range(int \fP\fIfd\fP\fB, off64_t \fP\fIoffset\fP\fB, off64_t \fP\fInbytes\fP\fB,\fP
+\fB                    unsigned int \fP\fIflags\fP\fB);\fP
 .fi
 .SH 説明
-.BR sync_file_range ()
-を使うと、ファイルディスクリプタ
-.I fd
-で参照されるオープンされたファイルのディスクとの同期に関して、
+\fBsync_file_range\fP()  を使うと、ファイルディスクリプタ \fIfd\fP で参照されるオープンされたファイルのディスクとの同期に関して、
 きめ細かな制御が可能となる。
 
-.I offset
-は、同期を行うファイルの領域の開始バイトである。
-.I nbytes
-には同期を行う領域の長さをバイト単位で指定する。
-.I nbytes
-が 0 の場合は、
-.I offset
-からファイル末尾までの全バイトを同期する。
-同期はシステムのページサイズの単位で行われる。
-.I offset
-はページ境界にあわせて切り下げられ、
-.I (offset+nbytes-1)
-はページ境界にあわせて切り上げられる。
+\fIoffset\fP は、同期を行うファイルの領域の開始バイトである。 \fInbytes\fP には同期を行う領域の長さをバイト単位で指定する。
+\fInbytes\fP が 0 の場合は、 \fIoffset\fP からファイル末尾までの全バイトを同期する。 同期はシステムのページサイズの単位で行われる。
+\fIoffset\fP はページ境界にあわせて切り下げられ、 \fI(offset+nbytes\-1)\fP はページ境界にあわせて切り上げられる。
 
-ビットマスク引き数
-.I flags
-には以下の値を指定することができる:
-.TP
-.B SYNC_FILE_RANGE_WAIT_BEFORE
-何らかの書き込みを行う前に、指定された領域のページで
-書き出しを行うようにデバイスドライバにすでに要求が発行されている
+ビットマスク引き数 \fIflags\fP には以下の値を指定することができる:
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE\fP
+何らかの書き込みを行う前に、指定された領域のページで 書き出しを行うようにデバイスドライバにすでに要求が発行されている
 ページの書き出しが全て完了するのを待つ。
-.TP
-.B SYNC_FILE_RANGE_WRITE
-指定された領域のページで、書き出し要求が発行されていない
-全ての dirty (キャッシュだけが変更されている) ページの
-書き出しを開始する。
-リクエストキューの大きさより多く書き込もうとした場合には、
-この処理は停止 (block) する可能性がある点に注意すること。
-.TP
-.B SYNC_FILE_RANGE_WAIT_AFTER
-何らかの書き込み後に、指定された領域の全てのページの
-書き出しが行われるのを待つ。
+.TP 
+\fBSYNC_FILE_RANGE_WRITE\fP
+指定された領域のページで、書き出し要求が発行されていない 全ての dirty (キャッシュだけが変更されている) ページの 書き出しを開始する。
+リクエストキューの大きさより多く書き込もうとした場合には、 この処理は停止 (block) する可能性がある点に注意すること。
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_AFTER\fP
+何らかの書き込み後に、指定された領域の全てのページの 書き出しが行われるのを待つ。
 .PP
-.I flags
-に 0 を指定した場合、何もしないことを表す。
+\fIflags\fP に 0 を指定した場合、何もしないことを表す。
 .SS 警告
-このシステムコールは非常に危険であり、
-移植性が必要なプログラムで使用すべきではない。
-これらの操作ではどれもファイルのメタデータの書き出しを行わない。
-したがって、アプリケーションにより作成済みのディスクブロックの
-上書きの実行が確実に行われない限り、クラッシュの後でもデータが
-利用できる保証はない。
-書き込みが上書きだけであるかを知るためのユーザインタフェースは存在しない。
-.RI ( btrfs
-などの) copy-on-write 動作を使ったファイルシステムでは、
-既存の割り当て済みのブロックに対する上書き自体ができない。
-前もって割り当てられた領域に書き込みを行う場合、
-多くのファイルシステムでは block allocator への書き込みも必要となるが、
-このシステムコールは block allocator のディスクへの同期を行わない。
-このシステムコールはディスク書き込みキャッシュのフラッシュを
-行わないので、揮発性のディスク書き込みキャッシュを使ったシステムでは
-このシステムコールではデータの一貫性を確保できないことになる。
+このシステムコールは非常に危険であり、 移植性が必要なプログラムで使用すべきではない。 これらの操作ではどれもファイルのメタデータの書き出しを行わない。
+したがって、アプリケーションにより作成済みのディスクブロックの 上書きの実行が確実に行われない限り、クラッシュの後でもデータが 利用できる保証はない。
+書き込みが上書きだけであるかを知るためのユーザインタフェースは存在しない。 (\fIbtrfs\fP などの) copy\-on\-write
+動作を使ったファイルシステムでは、 既存の割り当て済みのブロックに対する上書き自体ができない。 前もって割り当てられた領域に書き込みを行う場合、
+多くのファイルシステムでは block allocator への書き込みも必要となるが、 このシステムコールは block allocator
+のディスクへの同期を行わない。 このシステムコールはディスク書き込みキャッシュのフラッシュを
+行わないので、揮発性のディスク書き込みキャッシュを使ったシステムでは このシステムコールではデータの一貫性を確保できないことになる。
 .SS 詳細
-.B SYNC_FILE_RANGE_WAIT_BEFORE
-と
-.B SYNC_FILE_RANGE_WAIT_AFTER
-は I/O エラーや
-.B ENOSPC
-状態を検出し、呼び出し元にこれらの情報を返す。
+\fBSYNC_FILE_RANGE_WAIT_BEFORE\fP と \fBSYNC_FILE_RANGE_WAIT_AFTER\fP は I/O エラーや
+\fBENOSPC\fP 状態を検出し、呼び出し元にこれらの情報を返す。
 
-.I flags
-の役に立つビットの組み合わせを以下に示す:
-.TP
-.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE
-指定された範囲内のページで、
-.BR sync_file_range ()
-が呼び出された際に dirty であった全てのページが、
-確実に書き出し対象となるようにする。
-これは、start-write-for-data-integrity 操作
+\fIflags\fP の役に立つビットの組み合わせを以下に示す:
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP
+指定された範囲内のページで、 \fBsync_file_range\fP()  が呼び出された際に dirty であった全てのページが、
+確実に書き出し対象となるようにする。 これは、start\-write\-for\-data\-integrity 操作
 (データ完全性確保のための書き込み開始の操作) である。
-.TP
-.B SYNC_FILE_RANGE_WRITE
-指定された範囲内のページで、現在書き出し中でない全ての dirty ページの
-書き出しを開始する。これは非同期のディスクへのフラッシュ (flush-to-disk)
-操作である。データ完全性確保が必要な操作としては適切ではない。
-.TP
-.BR SYNC_FILE_RANGE_WAIT_BEFORE " (or " SYNC_FILE_RANGE_WAIT_AFTER )
-指定された範囲内の全てのページの書き出しの完了を待つ。
-このフラグは、前に行われた操作
-.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE
-の後に使用でき、この操作の完了を待ち、結果を取得することができる。
-.TP
-.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | \
-SYNC_FILE_RANGE_WAIT_AFTER
-これは write-for-data-integrity 操作
-(データ完全性確保のための書き込み) であり、指定された範囲内の、
-.BR sync_file_range ()
-が呼ばれた時点で dirty な全てのページが
-ディスクに格納されることが保証される。
+.TP 
+\fBSYNC_FILE_RANGE_WRITE\fP
+指定された範囲内のページで、現在書き出し中でない全ての dirty ページの 書き出しを開始する。これは非同期のディスクへのフラッシュ
+(flush\-to\-disk)  操作である。データ完全性確保が必要な操作としては適切ではない。
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE\fP (or \fBSYNC_FILE_RANGE_WAIT_AFTER\fP)
+指定された範囲内の全てのページの書き出しの完了を待つ。 このフラグは、前に行われた操作 \fBSYNC_FILE_RANGE_WAIT_BEFORE |
+SYNC_FILE_RANGE_WRITE\fP の後に使用でき、この操作の完了を待ち、結果を取得することができる。
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER\fP
+これは write\-for\-data\-integrity 操作 (データ完全性確保のための書き込み) であり、指定された範囲内の、
+\fBsync_file_range\fP()  が呼ばれた時点で dirty な全てのページが ディスクに格納されることが保証される。
 .SH 返り値
-成功の場合、
-.BR sync_file_range ()
-は 0 を返す。失敗の場合、\-1 を返し、
-.I error
-にエラーを示す値を設定する。
+成功の場合、 \fBsync_file_range\fP()  は 0 を返す。失敗の場合、\-1 を返し、 \fIerror\fP にエラーを示す値を設定する。
 .SH エラー
-.TP
-.B EBADF
-.I fd
-が有効なファイルディスクリプタではない。
-.TP
-.B EINVAL
-.I flags
-に不正なビットが指定されている。または
-.I offset
-か
-.I nbytes
-が不正である。
-.TP
-.B EIO
+.TP 
+\fBEBADF\fP
+\fIfd\fP が有効なファイルディスクリプタではない。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に不正なビットが指定されている。または \fIoffset\fP か \fInbytes\fP が不正である。
+.TP 
+\fBEIO\fP
 I/O エラー。
-.TP
-.B ENOMEM
+.TP 
+\fBENOMEM\fP
 メモリ不足である。
-.TP
-.B ENOSPC
+.TP 
+\fBENOSPC\fP
 ディスク領域不足である。
-.TP
-.B ESPIPE
-.I fd
-が、通常のファイル、ブロックデバイス、ディレクトリ、シンボリックリンク
-以外のものを指している。
+.TP 
+\fBESPIPE\fP
 .\" FIXME . (bug?) Actually, how can 'fd' refer to a symbolic link (S_ISLNK)?
 .\" (In userspace at least) it isn't possible to obtain a file descriptor
 .\" for a symbolic link.
+\fIfd\fP が、通常のファイル、ブロックデバイス、ディレクトリ、シンボリックリンク 以外のものを指している。
 .SH バージョン
-.BR sync_file_range ()
-はカーネル 2.6.17 で Linux に登場した。
+\fBsync_file_range\fP()  はカーネル 2.6.17 で Linux に登場した。
 .SH 準拠
-このシステムコールは Linux 独自であり、
-移植性が必要なプログラムでは使用を避けるべきである。
+このシステムコールは Linux 独自であり、 移植性が必要なプログラムでは使用を避けるべきである。
+.SH 注意
+.\" See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622
+Some architectures (e.g., PowerPC, ARM)  need 64\-bit arguments to be aligned
+in a suitable pair of registers.  On such architectures, the call signature
+of \fBsync_file_range\fP()  is flawed, since it forces a register to be wasted
+as padding between the \fIfd\fP and \fIoffset\fP arguments.  Therefore, these
+architectures define a different system call that orders the arguments
+suitably:
+.PP
+.in +4n
+.nf
+\fBint sync_file_range2(int \fP\fIfd\fP\fB, unsigned int \fP\fIflags\fP\fB,\fP
+\fB                     off64_t \fP\fIoffset\fP\fB, off64_t \fP\fInbytes\fP\fB);\fP
+.fi
+.in
+.PP
+The behavior of this system call is otherwise exactly the same as
+\fBsync_file_range\fP().
+
+A system call with this signature first appeared on the ARM architecture in
+Linux 2.6.20, with the name \fBarm_sync_file_range\fP().  It was renamed in
+Linux 2.6.22, when the analogous system call was added for PowerPC.  On
+architectures where glibc support is provided, glibc transparently wraps
+\fBsync_file_range2\fP()  under the name \fBsync_file_range\fP().
 .SH 関連項目
-.BR fdatasync (2),
-.BR fsync (2),
-.BR msync (2),
-.BR sync (2)
+\fBfdatasync\fP(2), \fBfsync\fP(2), \fBmsync\fP(2), \fBsync\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。