-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
.\" Copyright (c) 2006 Andrew Morton <akpm@osdl.org>
.\" and Copyright 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.\" 2006-07-05 Initial creation, Michael Kerrisk based on
.\" Andrew Morton's comments in fs/sync.c
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH SYNC_FILE_RANGE 2 2010\-10\-09 Linux "Linux Programmer's Manual"
+.\"
+.\" 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
+.\" Updated 2012-05-31, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SYNC_FILE_RANGE 2 2014\-08\-19 Linux "Linux Programmer's Manual"
.SH 名前
sync_file_range \- ファイルセグメントをディスクと同期する
.SH 書式
\fB unsigned int \fP\fIflags\fP\fB);\fP
.fi
.SH 説明
-\fBsync_file_range\fP() を使うと、ファイルディスクリプタ \fIfd\fP で参照されるオープンされたファイルのディスクとの同期に関して、
-きめ細かな制御が可能となる。
+\fBsync_file_range\fP() を使うと、ファイルディスクリプター \fIfd\fP
+ã\81§å\8f\82ç\85§ã\81\95ã\82\8cã\82\8bã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\81¨ã\81®å\90\8cæ\9c\9fã\81«é\96¢ã\81\97ã\81¦ã\80\81 ã\81\8dã\82\81ç´°ã\81\8bã\81ªå\88¶å¾¡ã\81\8cå\8f¯è\83½ã\81¨ã\81ªã\82\8bã\80\82
\fIoffset\fP は、同期を行うファイルの領域の開始バイトである。 \fInbytes\fP には同期を行う領域の長さをバイト単位で指定する。
\fInbytes\fP が 0 の場合は、 \fIoffset\fP からファイル末尾までの全バイトを同期する。 同期はシステムのページサイズの単位で行われる。
.SS 警告
このシステムコールは非常に危険であり、 移植性が必要なプログラムで使用すべきではない。 これらの操作ではどれもファイルのメタデータの書き出しを行わない。
したがって、アプリケーションにより作成済みのディスクブロックの 上書きの実行が確実に行われない限り、クラッシュの後でもデータが 利用できる保証はない。
-æ\9b¸ã\81\8dè¾¼ã\81¿ã\81\8cä¸\8aæ\9b¸ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\81\8bã\82\92ç\9f¥ã\82\8bã\81\9fã\82\81ã\81®ã\83¦ã\83¼ã\82¶ã\82¤ã\83³ã\82¿フェースは存在しない。 (\fIbtrfs\fP などの) copy\-on\-write
+æ\9b¸ã\81\8dè¾¼ã\81¿ã\81\8cä¸\8aæ\9b¸ã\81\8dã\81 ã\81\91ã\81§ã\81\82ã\82\8bã\81\8bã\82\92ç\9f¥ã\82\8bã\81\9fã\82\81ã\81®ã\83¦ã\83¼ã\82¶ã\83¼ã\82¤ã\83³ã\82¿ã\83¼フェースは存在しない。 (\fIbtrfs\fP などの) copy\-on\-write
動作を使ったファイルシステムでは、 既存の割り当て済みのブロックに対する上書き自体ができない。 前もって割り当てられた領域に書き込みを行う場合、
多くのファイルシステムでは block allocator への書き込みも必要となるが、 このシステムコールは block allocator
のディスクへの同期を行わない。 このシステムコールはディスク書き込みキャッシュのフラッシュを
これは write\-for\-data\-integrity 操作 (データ完全性確保のための書き込み) であり、指定された範囲内の、
\fBsync_file_range\fP() が呼ばれた時点で dirty な全てのページが ディスクに格納されることが保証される。
.SH 返り値
-成功の場合、 \fBsync_file_range\fP() は 0 を返す。失敗の場合、\-1 を返し、 \fIerror\fP にエラーを示す値を設定する。
+成功の場合、 \fBsync_file_range\fP() は 0 を返す。失敗の場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
.SH エラー
.TP
\fBEBADF\fP
-\fIfd\fP が有効なファイルディスクリプタではない。
+\fIfd\fP ã\81\8cæ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81¯ã\81ªã\81\84ã\80\82
.TP
\fBEINVAL\fP
\fIflags\fP に不正なビットが指定されている。または \fIoffset\fP か \fInbytes\fP が不正である。
I/O エラー。
.TP
\fBENOMEM\fP
-メモリ不足である。
+メモリー不足である。
.TP
\fBENOSPC\fP
ディスク領域不足である。
.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
+.\" (In user space at least) it isn't possible to obtain a file descriptor
.\" for a symbolic link.
\fIfd\fP が、通常のファイル、ブロックデバイス、ディレクトリ、シンボリックリンク 以外のものを指している。
.SH バージョン
.SH 準拠
このシステムコールは Linux 独自であり、 移植性が必要なプログラムでは使用を避けるべきである。
.SH 注意
+.SS sync_file_range2()
.\" See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622
-いくつかのアーキテクチャ (例えば、 PowerPC や ARM) では、 64 ビットの
-引き数は適切なレジスタの組に割り当てる必要がある。このようなアーキテク
-チャでは、 \fBsync_file_range\fP() の呼び出し方には欠陥があり、それはこの
-システムコールでは引き数 \fIfd\fP と \fIoffset\fP の間のパディング (詰めもの)
-でレジスタが一つ消費されてしまうというものである。そのため、これらの
-アーキテクチャでは引き数が適切な順序になった別のシステムコールが定義
-されている。
+いくつかのアーキテクチャー (例えば、 PowerPC や ARM) では、 64 ビットの引き数は適切なレジスターの組に割り当てる必要がある。
+このようなアーキテクチャーでは、 「書式」に書かれている \fBsync_file_range\fP() の呼び出しシグネチャーで、 引き数 \fIfd\fP と
+\fIoffset\fP の間のパディング (詰めもの) でレジスターが一つ消費されてしまう (詳細は \fBsyscall\fP(2) 参照)。 そのため、
+これらのアーキテクチャーでは引き数が適切な順序になった別のシステムコールが定義されている。
.PP
.in +4n
.nf
全く同じである。このシステムコールに対するライブラリによるサポートは
glibc では提供されていない。
-このバージョンのシステムコールは、Linux 2.6.20 で ARM アーキテクチャで
+ã\81\93ã\81®ã\83\90ã\83¼ã\82¸ã\83§ã\83³ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯ã\80\81Linux 2.6.20 ã\81§ ARM ã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§
初めて登場し、 \fBarm_sync_file_range\fP() という名前であった。
Linux 2.6.22 で、同様のシステムコールが PowerPC 用に追加された際に、
システムコールの名前が変更された。
-glibc によるサポートが提供されているアーキテクチャでは、
+glibc ã\81«ã\82\88ã\82\8bã\82µã\83\9dã\83¼ã\83\88ã\81\8cæ\8f\90ä¾\9bã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\82¢ã\83¼ã\82ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ã\80\81
glibc のラッパー関数は \fBsync_file_range\fP() という名前で
\fBsync_file_range2\fP() を適切に使用するようになっている。
.SH 関連項目
\fBfdatasync\fP(2), \fBfsync\fP(2), \fBmsync\fP(2), \fBsync\fP(2)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。