OSDN Git Service

(split) LDP: Translation snapshot of open.2
authorAkihiro MOTOKI <amotoki@gmail.com>
Sun, 27 Apr 2014 00:24:44 +0000 (09:24 +0900)
committerAkihiro MOTOKI <amotoki@gmail.com>
Sun, 27 Apr 2014 00:24:44 +0000 (09:24 +0900)
draft/man2/open.2
po4a/stdio/po/ja.po
stats/stdio
untrans.html

index 51903a9..a393137 100644 (file)
@@ -155,7 +155,7 @@ flag) を 0 個以上「ビット単位の OR (bitwise\-or)」で 指定する
 は以下のリストのうち上記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方はその内容を取得したり (場合によっては)
 変更したりできる点にある。詳細は \fBfcntl\fP(2) を参照。
 
-The full list of file creation flags and file status flags is as follows:
+すべてのファイル作成フラグとファイル状態フラグを以下のリストに示す。
 .TP 
 \fBO_APPEND\fP
 .\" For more background, see
@@ -175,25 +175,19 @@ The full list of file creation flags and file status flags is as follows:
 .TP 
 \fBO_CLOEXEC\fP (Linux 2.6.23 以降)
 .\" NOTE! several otehr man pages refer to this text
-Enable the close\-on\-exec flag for the new file descriptor.  Specifying this
-flag permits a program to avoid additional \fBfcntl\fP(2)  \fBF_SETFD\fP
-operations to set the \fBFD_CLOEXEC\fP flag.
+新しいファイルディスクリプタに対して close\-on\-exec フラグを有効にする。 このフラグを指定することで、 プログラムは
+\fBFD_CLOEXEC\fP フラグをセットするために \fBfcntl\fP(2) \fBF_SETFD\fP 操作を別途呼び出す必要がなくなる。
 
 .\" This flag fixes only one form of the race condition;
 .\" The race can also occur with, for example, descriptors
 .\" returned by accept(), pipe(), etc.
-Note that the use of this flag is essential in some multithreaded programs,
-because using a separate \fBfcntl\fP(2)  \fBF_SETFD\fP operation to set the
-\fBFD_CLOEXEC\fP flag does not suffice to avoid race conditions where one
-thread opens a file descriptor and attempts to set its close\-on\-exec flag
-using \fBfcntl\fP(2)  at the same time as another thread does a \fBfork\fP(2)
-plus \fBexecve\fP(2).  Depending on the order of execution, the race may lead
-to the file desriptor returned by \fBopen\fP()  being unintentionally leaked to
-the program executed by the child process created by \fBfork\fP(2).  (This kind
-of race is in principle possible for any system call that creates a file
-descriptor whose close\-on\-exec flag should be set, and various other Linux
-system calls provide an equivalent of the \fBO_CLOEXEC\fP flag to deal with
-this problem.)
+ある種のマルチスレッドのプログラムはこのフラグの使用は不可欠である点に注意すること。 なぜなら、個別に \fBFD_CLOEXEC\fP フラグを設定する
+\fBfcntl\fP(2) \fBF_SETFD\fP 操作を呼び出したとしても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッドが
+\fBfork\fP(2) と \fBexecve\fP(2) を実行するという競合条件を避けるのには十分ではないからである。
+実行の順序に依存して、この競合条件の結果、 \fBopen\fP() が返したファイルディスクリプタが \fBfork\fP(2)
+で作成された子プロセスにより実行されるプログラムに意図せず見えてしまう可能性がある。 (この種の競合は、 本質的に、 close\-on\-exec
+フラグをセットすべきファイルディスクリプタを作成するどのシステムコールでも起こり得るものであり、 他のいろいろな Linux
+システムコールでこの問題に対処するために \fBO_CLOEXEC\fP と同等の機能が提供されている。)
 .TP 
 \fBO_CREAT\fP
 .\" As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
@@ -396,15 +390,13 @@ associated file metadata have been transferred to the underlying hardware
 .\" commit 60545d0d4610b02e55f65d141c95b18ccf855b6e
 .\" commit f4e0c30c191f87851c4a53454abb55ee276f4a7e
 .\" commit bb458c644a59dbba3a1fe59b27106c5e68e1c4bd
-Create an unnamed temporary file.  The \fIpathname\fP argument specifies a
-directory; an unnamed inode will be created in that directory's filesystem.
-Anything written to the resulting file will be lost when the last file
-descriptor is closed, unless the file is given a name.
+名前なしの一時ファイルを作成する。 \fIpathname\fP 引き数はディレクトリを指定する。 名前なしの inode
+がそのディレクトリが存在するファイルシステムに作成される。 そのファイルに名前を付与しない限り、 作成されたファイルに書き込まれた内容は、
+最後のファイルディスクリプタがクローズされる際に失われる。
 
-\fBO_TMPFILE\fP must be specified with one of \fBO_RDWR\fP or \fBO_WRONLY\fP and,
-optionally, \fBO_EXCL\fP.  If \fBO_EXCL\fP is not specified, then \fBlinkat\fP(2)
-can be used to link the temporary file into the filesystem, making it
-permanent, using code like the following:
+\fBO_TMPFILE\fP は必ず \fBO_RDWR\fP か \fBO_WRONLY\fP のいずれかと一緒に使わなければならない。 \fBO_EXCL\fP
+も指定することができる。 \fBO_EXCL\fP が指定されなかった場合、 \fBlinkat\fP(2)
+を使って、そのファイルシステムにこの一時ファイルへのリンクを作成し、ファイルを永続化することができる。 以下のコードのようにすればよい。
 
 .in +4n
 .nf
@@ -412,7 +404,7 @@ char path[PATH_MAX];
 fd = open("/path/to/dir", O_TMPFILE | O_RDWR,
                         S_IRUSR | S_IWUSR);
 
-/* File I/O on 'fd'... */
+/* 'fd' に対するファイル I/O ... */
 
 snprintf(path, PATH_MAX,  "/proc/self/fd/%d", fd);
 linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file",
@@ -420,36 +412,30 @@ linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file",
 .fi
 .in
 
-In this case, the \fBopen\fP()  \fImode\fP argument determines the file permission
-mode, as with \fBO_CREAT\fP.
+この場合、 \fBopen\fP() の \fImode\fP 引き数は \fBO_CREAT\fP と同様にファイルのアクセス許可モードの決定に使われる。
 
-Specifying \fBO_EXCL\fP in conjunction with \fBO_TMPFILE\fP prevents a temporary
-file from being linked into the filesystem in the above manner.  (Note that
-the meaning of \fBO_EXCL\fP in this case is different from the meaning of
-\fBO_EXCL\fP otherwise.)
+\fBO_TMPFILE\fP とともに \fBO_EXCL\fP を指定すると、
+一時ファイルに対して上記の方法でファイルシステムへのリンクを行うことができなくなる (この場合の \fBO_EXCL\fP の意味は他の場合の
+\fBO_EXCL\fP の意味とは異なる点に注意)。
 
 
 .\" Inspired by http://lwn.net/Articles/559147/
-There are two main use cases for \fBO_TMPFILE\fP:
+\fBO_TMPFILE\fP には主に二つの用途がある。
 .RS
 .IP * 3
-Improved \fBtmpfile\fP(3)  functionality: race\-free creation of temporary files
-that (1) are automatically deleted when closed; (2) can never be reached via
-any pathname; (3) are not subject to symlink attacks; and (4) do not require
-the caller to devise unique names.
+改善された \fBtmpfile\fP(3) の機能: (1) クローズ時に自動的に削除される、 (2) パス名では決して参照できない、 (3)
+シンボリックリンク攻撃ができない、 (4) 呼び出し元が一意な名前を考える必要がない、 という特長を持つ競合のない一時ファイルの作成。
 .IP *
-Creating a file that is initially invisible, which is then populated with
-data and adjusted to have appropriate filesystem attributes (\fBchown\fP(2),
-\fBchmod\fP(2), \fBfsetxattr\fP(2), etc.)  before being atomically linked into the
-filesystem in a fully formed state (using \fBlinkat\fP(2)  as described above).
+最初は見えないファイルを作成し、 それからデータを書き込んだり、適切なファイルシステム属性を持つように調整したり (\fBchown\fP(2),
+\fBchmod\fP(2), \fBfsetxattr\fP(2) など) した後、 準備が全て整った状態で (上述の \fBlinkat\fP(2) を使って)
+ファイルシステム内にアトミックにリンクを行う。
 .RE
 .IP
 .\" commit 99b6436bc29e4f10e4388c27a3e4810191cc4788
 .\" commit ab29743117f9f4c22ac44c13c1647fb24fb2bafe
-\fBO_TMPFILE\fP requires support by the underlying filesystem; only a subset of
-Linux filesystems provide that support.  In the initial implementation,
-support was provided in the ex2, ext3, ext4, UDF, Minix, and shmem
-filesystems.  XFS support was added in Linux 3.15.
+\fBO_TMPFILE\fP は、 内部で利用されるファイルシステムによるサポートが必要である。 一部の Linux
+ファイルシステムだけがこの機能をサポートしている。 最初の実装では、 ext2, ext3, ext4, UDF, Minix, shmem
+ファイルシステムがサポートしていた。 XFS でのサポートが Linux 3.15 で追加された。
 .TP 
 \fBO_TRUNC\fP
 ファイルが既に存在し、通常ファイルであり、 アクセスモードで書き込みが許可されている (つまり、 \fBO_RDWR\fP または \fBO_WRONLY\fP
@@ -473,7 +459,7 @@ filesystems.  XFS support was added in Linux 3.15.
 \fBopen\fP(), \fBopenat\fP(), \fBcreat\fP() は新しいファイルディスクリプタを返す。 エラーが発生した場合は \-1 を返す
 (その場合は \fIerrno\fP が適切に設定される)。
 .SH エラー
-\fBopen\fP(), \fBopenat\fP(), and \fBcreat\fP()  can fail with the following errors:
+\fBopen\fP(), \fBopenat\fP(), \fBcreat\fP() は以下のエラーで失敗する。
 .TP 
 \fBEACCES\fP
 ファイルに対する要求されたアクセスが許されていないか、 \fIpathname\fP のディレクトリ部分の何れかのディレクトリに検索許可がなかった。
@@ -510,16 +496,15 @@ filesystems.  XFS support was added in Linux 3.15.
 が設定されている)。
 .TP 
 \fBEISDIR\fP
-\fIpathname\fP refers to an existing directory, \fBO_TMPFILE\fP and one of
-\fBO_WRONLY\fP or \fBO_RDWR\fP were specified in \fIflags\fP, but this kernel version
-does not provide the \fBO_TMPFILE\fP functionality.
+\fIpathname\fP が存在するディレクトリを参照していて、 \fBO_TMPFILE\fP および \fBO_WRONLY\fP と \fBO_RDWR\fP
+の一方が \fIflags\fP に指定されていたが、 このカーネルバージョンでは \fBO_TMPFILE\fP 機能が提供されていない。
 .TP 
 \fBELOOP\fP
 \fIpathname\fP を解決する際に遭遇したシンボリックリンクが多過ぎる。
 .TP 
 \fBELOOP\fP
-\fIpathname\fP was a symbolic link, and \fIflags\fP specified \fBO_NOFOLLOW\fP but
-not \fBO_PATH\fP.
+\fIpathname\fP がシンボリックリンクで、 \fIflags\fP に \fBO_NOFOLLOW\fP が指定されたが、 \fBO_PATH\fP
+が指定されていなかった。
 .TP 
 \fBEMFILE\fP
 プロセスがオープンしているファイル数がすでに最大数に達している。
@@ -539,9 +524,8 @@ not \fBO_PATH\fP.
 (dangling) シンボリックリンクである。
 .TP 
 \fBENOENT\fP
-\fIpathname\fP refers to a nonexistent directory, \fBO_TMPFILE\fP and one of
-\fBO_WRONLY\fP or \fBO_RDWR\fP were specified in \fIflags\fP, but this kernel version
-does not provide the \fBO_TMPFILE\fP functionality.
+\fIpathname\fP が存在しないディレクトリを参照していて、 \fBO_TMPFILE\fP および \fBO_WRONLY\fP と \fBO_RDWR\fP
+の一方が \fIflags\fP に指定されていたが、 このカーネルバージョンでは \fBO_TMPFILE\fP 機能が提供されていない。
 .TP 
 \fBENOMEM\fP
 十分なカーネルメモリーがない。
@@ -602,16 +586,13 @@ POSIX.1\-2001 で規定されているエラーである。 2.6.24 より前の
 フラグ \fBO_DIRECT\fP, \fBO_NOATIME\fP, \fBO_PATH\fP, \fBO_TMPFILE\fP は Linux 特有のものである。
 これらのフラグの定義を得るためには \fB_GNU_SOURCE\fP を定義しなければならない。
 
-The \fBO_CLOEXEC\fP, \fBO_DIRECTORY\fP, and \fBO_NOFOLLOW\fP flags are not specified
-in POSIX.1\-2001, but are specified in POSIX.1\-2008.  Since glibc 2.12, one
-can obtain their definitions by defining either \fB_POSIX_C_SOURCE\fP with a
-value greater than or equal to 200809L or \fB_XOPEN_SOURCE\fP with a value
-greater than or equal to 700.  In glibc 2.11 and earlier, one obtains the
-definitions by defining \fB_GNU_SOURCE\fP.
+フラグ \fBO_CLOEXEC\fP, \fBO_DIRECTORY\fP, \fBO_NOFOLLOW\fP は POSIX.1\-2001 では規定されていないが、
+POSIX.1\-2008 では規定されている。 glibc 2.12 以降では、これらの定義を得るには、 \fB_POSIX_C_SOURCE\fP を
+200809L 以上の値で定義するか、 \fB_XOPEN_SOURCE\fP を 700 以上の値で定義する。 glibc 2.11 以前では、
+これらの定義を得るには \fB_GNU_SOURCE\fP を定義する。
 
-As noted in \fBfeature_test_macros\fP(7), feature test macros such as
-\fB_POSIX_C_SOURCE\fP, \fB_XOPEN_SOURCE\fP, and \fB_GNU_SOURCE\fP must be defined
-before including \fIany\fP header files.
+\fBfeature_test_macros\fP(7) に注意書きがあるように、 \fB_POSIX_C_SOURCE\fP, \fB_XOPEN_SOURCE\fP,
+\fB_GNU_SOURCE\fP などの機能検査マクロは\fIどの\fPヘッダーファイルをインクルードするより前に定義しなければならない。
 .SH 注意
 Linux では、 \fBO_NONBLOCK\fP フラグは、 open を実行したいが read または write を実行する意図は
 必ずしもないことを意味する。 これは \fBioctl\fP(2)  のためのファイルディスクリプタを取得するために、
@@ -635,7 +616,7 @@ Linux では、 \fBO_NONBLOCK\fP フラグは、 open を実行したいが read
 (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正時刻である。 \fBstat\fP(2)  参照) が現在時刻に設定される。 さらに親ディレクトリの
 \fIst_ctime\fP と \fIst_mtime\fP も現在時刻に設定される。 それ以外の場合で、O_TRUNC フラグでファイルが修正されたときは、
 ファイルの \fIst_ctime\fP と \fIst_mtime\fP フィールドが現在時刻に設定される。
-.SS "Synchronized I/O"
+.SS 同期入出力
 The POSIX.1\-2008 "synchronized I/O" option specifies different variants of
 synchronized I/O, and specifies the \fBopen\fP()  flags \fBO_SYNC\fP, \fBO_DSYNC\fP,
 and \fBO_RSYNC\fP for controlling the behavior.  Regardless of whether an
@@ -685,7 +666,7 @@ NFS を実現しているプロトコルには多くの不備があり、特に
 UID マッピングを使用している NFS ファイルシステムでは、 \fBopen\fP()  がファイルディスクリプタを返した場合でも \fBread\fP(2)
 が \fBEACCES\fP で拒否される場合がある。 これはクライアントがアクセス許可のチェックを行って \fBopen\fP()
 を実行するが、読み込みや書き込みの際には サーバーで UID マッピングが行われるためである。
-.SS "File access mode"
+.SS ファイルアクセスモード
 「アクセスモード」の値 \fBO_RDONLY\fP, \fBO_WRONLY\fP, \fBO_RDWR\fP は、 \fIflags\fP
 に指定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は \fIflags\fP の下位 2 ビットを定義する。 \fBO_RDONLY\fP,
 \fBO_WRONLY\fP, \fBO_RDWR\fP はそれぞれ 0, 1, 2 に定義されている。 言い換えると、 \fBO_RDONLY |
@@ -702,7 +683,7 @@ Linux では、特別な、非標準なアクセスモードとして 3 (バイ
 このアクセスモードを指定すると、ファイルの読み出し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリプタを返す。
 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイス固有の \fBioctl\fP(2)
 操作にのみ使用されるディスクリプタを返すために使われている。
-.SS "Rationale for openat() and other directory file descriptor APIs"
+.SS "openat() や他のディレクトリファイルディスクリプタ API の基本原理"
 \fBopenat\fP()  and the other system calls and library functions that take a
 directory file descriptor argument (i.e., \fBfaccessat\fP(2),
 \fBfanotify_mark\fP(2), \fBfchmodat\fP(2), \fBfchownat\fP(2), \fBfstatat\fP(2),
@@ -790,8 +771,8 @@ NFS で \fBO_DIRECT\fP を使った場合の動作はローカルのファイル
 現在のところ、 \fBopen\fP()  の呼び出し時に \fBO_ASYNC\fP を指定してシグナル駆動 I/O を有効にすることはできない。
 このフラグを有効にするには \fBfcntl\fP(2)  を使用すること。
 
-One must check for two different error codes, \fBEISDIR\fP and \fBENOENT\fP, when
-trying to determine whether the kernel supports \fBO_TMPFILE\fP functionality.
+カーネルが \fBO_TMPFILE\fP 機能をサポートしているかを判定する際に、 \fBEISDIR\fP と \fBENOENT\fP の 2
+つのエラーコードをチェックしなければならない。
 .SH 関連項目
 \fBchmod\fP(2), \fBchown\fP(2), \fBclose\fP(2), \fBdup\fP(2), \fBfcntl\fP(2), \fBlink\fP(2),
 \fBlseek\fP(2), \fBmknod\fP(2), \fBmmap\fP(2), \fBmount\fP(2), \fBopen_by_name_at\fP(2),
index 363ffee..c29db38 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2014-04-24 00:51+0900\n"
-"PO-Revision-Date: 2014-04-27 06:55+0900\n"
+"PO-Revision-Date: 2014-04-27 09:20+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -6506,7 +6506,7 @@ msgstr ""
 #: build/C/man2/open.2:178
 msgid ""
 "The full list of file creation flags and file status flags is as follows:"
-msgstr ""
+msgstr "すべてのファイル作成フラグとファイル状態フラグを以下のリストに示す。"
 
 #. type: TP
 #: build/C/man2/open.2:178
@@ -6570,7 +6570,7 @@ msgid ""
 "Enable the close-on-exec flag for the new file descriptor.  Specifying this "
 "flag permits a program to avoid additional B<fcntl>(2)  B<F_SETFD> "
 "operations to set the B<FD_CLOEXEC> flag."
-msgstr ""
+msgstr "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 このフラグを指定することで、 プログラムは B<FD_CLOEXEC> フラグをセットするために B<fcntl>(2) B<F_SETFD> 操作を別途呼び出す必要がなくなる。"
 
 #.  This flag fixes only one form of the race condition;
 #.  The race can also occur with, for example, descriptors
@@ -6590,7 +6590,7 @@ msgid ""
 "descriptor whose close-on-exec flag should be set, and various other Linux "
 "system calls provide an equivalent of the B<O_CLOEXEC> flag to deal with "
 "this problem.)"
-msgstr ""
+msgstr "ある種のマルチスレッドのプログラムはこのフラグの使用は不可欠である点に注意すること。 なぜなら、個別に B<FD_CLOEXEC> フラグを設定する B<fcntl>(2) B<F_SETFD> 操作を呼び出したとしても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッドが B<fork>(2) と B<execve>(2) を実行するという競合条件を避けるのには十分ではないからである。 実行の順序に依存して、この競合条件の結果、 B<open>() が返したファイルディスクリプタが B<fork>(2) で作成された子プロセスにより実行されるプログラムに意図せず見えてしまう可能性がある。 (この種の競合は、 本質的に、 close-on-exec フラグをセットすべきファイルディスクリプタを作成するどのシステムコールでも起こり得るものであり、 他のいろいろな Linux システムコールでこの問題に対処するために B<O_CLOEXEC> と同等の機能が提供されている。)"
 
 #. type: TP
 #: build/C/man2/open.2:248
@@ -7194,7 +7194,7 @@ msgid ""
 "directory; an unnamed inode will be created in that directory's filesystem.  "
 "Anything written to the resulting file will be lost when the last file "
 "descriptor is closed, unless the file is given a name."
-msgstr ""
+msgstr "名前なしの一時ファイルを作成する。 I<pathname> 引き数はディレクトリを指定する。 名前なしの inode がそのディレクトリが存在するファイルシステムに作成される。 そのファイルに名前を付与しない限り、 作成されたファイルに書き込まれた内容は、 最後のファイルディスクリプタがクローズされる際に失われる。"
 
 #. type: Plain text
 #: build/C/man2/open.2:648
@@ -7203,7 +7203,7 @@ msgid ""
 "optionally, B<O_EXCL>.  If B<O_EXCL> is not specified, then B<linkat>(2)  "
 "can be used to link the temporary file into the filesystem, making it "
 "permanent, using code like the following:"
-msgstr ""
+msgstr "B<O_TMPFILE> は必ず B<O_RDWR> か B<O_WRONLY> のいずれかと一緒に使わなければならない。 B<O_EXCL> も指定することができる。 B<O_EXCL> が指定されなかった場合、 B<linkat>(2) を使って、そのファイルシステムにこの一時ファイルへのリンクを作成し、ファイルを永続化することができる。 以下のコードのようにすればよい。"
 
 #. type: Plain text
 #: build/C/man2/open.2:654
@@ -7213,12 +7213,15 @@ msgid ""
 "fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
 "                        S_IRUSR | S_IWUSR);\n"
 msgstr ""
+"char path[PATH_MAX];\n"
+"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
+"                        S_IRUSR | S_IWUSR);\n"
 
 #. type: Plain text
 #: build/C/man2/open.2:656
 #, no-wrap
 msgid "/* File I/O on 'fd'... */\n"
-msgstr ""
+msgstr "/* 'fd' に対するファイル I/O ... */\n"
 
 #. type: Plain text
 #: build/C/man2/open.2:660
@@ -7228,13 +7231,16 @@ msgid ""
 "linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
 "                        AT_SYMLINK_FOLLOW);\n"
 msgstr ""
+"snprintf(path, PATH_MAX,  \"/proc/self/fd/%d\", fd);\n"
+"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
+"                        AT_SYMLINK_FOLLOW);\n"
 
 #. type: Plain text
 #: build/C/man2/open.2:669
 msgid ""
 "In this case, the B<open>()  I<mode> argument determines the file permission "
 "mode, as with B<O_CREAT>."
-msgstr ""
+msgstr "この場合、 B<open>() の I<mode> 引き数は B<O_CREAT> と同様にファイルのアクセス許可モードの決定に使われる。"
 
 #. type: Plain text
 #: build/C/man2/open.2:681
@@ -7243,13 +7249,13 @@ msgid ""
 "file from being linked into the filesystem in the above manner.  (Note that "
 "the meaning of B<O_EXCL> in this case is different from the meaning of "
 "B<O_EXCL> otherwise.)"
-msgstr ""
+msgstr "B<O_TMPFILE> とともに B<O_EXCL> を指定すると、 一時ファイルに対して上記の方法でファイルシステムへのリンクを行うことができなくなる (この場合の B<O_EXCL> の意味は他の場合の B<O_EXCL> の意味とは異なる点に注意)。"
 
 #.  Inspired by http://lwn.net/Articles/559147/
 #. type: Plain text
 #: build/C/man2/open.2:686
 msgid "There are two main use cases for B<O_TMPFILE>:"
-msgstr ""
+msgstr "B<O_TMPFILE> には主に二つの用途がある。"
 
 #. type: Plain text
 #: build/C/man2/open.2:695
@@ -7258,7 +7264,7 @@ msgid ""
 "that (1) are automatically deleted when closed; (2) can never be reached via "
 "any pathname; (3) are not subject to symlink attacks; and (4) do not require "
 "the caller to devise unique names."
-msgstr ""
+msgstr "改善された B<tmpfile>(3) の機能: (1) クローズ時に自動的に削除される、 (2) パス名では決して参照できない、 (3) シンボリックリンク攻撃ができない、 (4) 呼び出し元が一意な名前を考える必要がない、 という特長を持つ競合のない一時ファイルの作成。"
 
 #. type: Plain text
 #: build/C/man2/open.2:706
@@ -7267,7 +7273,7 @@ msgid ""
 "data and adjusted to have appropriate filesystem attributes (B<chown>(2), "
 "B<chmod>(2), B<fsetxattr>(2), etc.)  before being atomically linked into the "
 "filesystem in a fully formed state (using B<linkat>(2)  as described above)."
-msgstr ""
+msgstr "最初は見えないファイルを作成し、 それからデータを書き込んだり、適切なファイルシステム属性を持つように調整したり (B<chown>(2), B<chmod>(2), B<fsetxattr>(2) など) した後、 準備が全て整った状態で (上述の B<linkat>(2) を使って) ファイルシステム内にアトミックにリンクを行う。"
 
 #.  commit 99b6436bc29e4f10e4388c27a3e4810191cc4788
 #.  commit ab29743117f9f4c22ac44c13c1647fb24fb2bafe
@@ -7278,7 +7284,7 @@ msgid ""
 "Linux filesystems provide that support.  In the initial implementation, "
 "support was provided in the ex2, ext3, ext4, UDF, Minix, and shmem "
 "filesystems.  XFS support was added in Linux 3.15."
-msgstr ""
+msgstr "B<O_TMPFILE> は、 内部で利用されるファイルシステムによるサポートが必要である。 一部の Linux ファイルシステムだけがこの機能をサポートしている。 最初の実装では、 ext2, ext3, ext4, UDF, Minix, shmem ファイルシステムがサポートしていた。 XFS でのサポートが Linux 3.15 で追加された。"
 
 #. type: TP
 #: build/C/man2/open.2:717
@@ -7373,7 +7379,7 @@ msgstr ""
 #: build/C/man2/open.2:788
 msgid ""
 "B<open>(), B<openat>(), and B<creat>()  can fail with the following errors:"
-msgstr ""
+msgstr "B<open>(), B<openat>(), B<creat>() は以下のエラーで失敗する。"
 
 #. type: Plain text
 #: build/C/man2/open.2:797
@@ -7483,7 +7489,7 @@ msgid ""
 "I<pathname> refers to an existing directory, B<O_TMPFILE> and one of "
 "B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
 "does not provide the B<O_TMPFILE> functionality."
-msgstr ""
+msgstr "I<pathname> が存在するディレクトリを参照していて、 B<O_TMPFILE> および B<O_WRONLY> と B<O_RDWR> の一方が I<flags> に指定されていたが、 このカーネルバージョンでは B<O_TMPFILE> 機能が提供されていない。"
 
 #. type: Plain text
 #: build/C/man2/open.2:874 build/C/man2/rmdir.2:77
@@ -7495,7 +7501,7 @@ msgstr "I<pathname> を解決する際に遭遇したシンボリックリンク
 msgid ""
 "I<pathname> was a symbolic link, and I<flags> specified B<O_NOFOLLOW> but "
 "not B<O_PATH>."
-msgstr ""
+msgstr "I<pathname> がシンボリックリンクで、 I<flags> に B<O_NOFOLLOW> が指定されたが、 B<O_PATH> が指定されていなかった。"
 
 #. type: TP
 #: build/C/man2/open.2:883 build/C/man2/pipe.2:144 build/C/man3/tmpfile.3:66
@@ -7557,7 +7563,7 @@ msgid ""
 "I<pathname> refers to a nonexistent directory, B<O_TMPFILE> and one of "
 "B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
 "does not provide the B<O_TMPFILE> functionality."
-msgstr ""
+msgstr "I<pathname> が存在しないディレクトリを参照していて、 B<O_TMPFILE> および B<O_WRONLY> と B<O_RDWR> の一方が I<flags> に指定されていたが、 このカーネルバージョンでは B<O_TMPFILE> 機能が提供されていない。"
 
 #. type: Plain text
 #: build/C/man2/open.2:930
@@ -7730,7 +7736,7 @@ msgid ""
 "value greater than or equal to 200809L or B<_XOPEN_SOURCE> with a value "
 "greater than or equal to 700.  In glibc 2.11 and earlier, one obtains the "
 "definitions by defining B<_GNU_SOURCE>."
-msgstr ""
+msgstr "フラグ B<O_CLOEXEC>, B<O_DIRECTORY>, B<O_NOFOLLOW> は POSIX.1-2001 では規定されていないが、 POSIX.1-2008 では規定されている。 glibc 2.12 以降では、これらの定義を得るには、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 B<_XOPEN_SOURCE> を 700 以上の値で定義する。 glibc 2.11 以前では、 これらの定義を得るには B<_GNU_SOURCE> を定義する。"
 
 #. type: Plain text
 #: build/C/man2/open.2:1055
@@ -7738,7 +7744,7 @@ msgid ""
 "As noted in B<feature_test_macros>(7), feature test macros such as "
 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, and B<_GNU_SOURCE> must be defined "
 "before including I<any> header files."
-msgstr ""
+msgstr "B<feature_test_macros>(7) に注意書きがあるように、 B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE> などの機能検査マクロはI<どの>ヘッダーファイルをインクルードするより前に定義しなければならない。"
 
 #. type: Plain text
 #: build/C/man2/open.2:1063
@@ -7799,7 +7805,7 @@ msgstr ""
 #: build/C/man2/open.2:1104
 #, no-wrap
 msgid "Synchronized I/O"
-msgstr ""
+msgstr "同期入出力"
 
 #. type: Plain text
 #: build/C/man2/open.2:1119
@@ -7869,7 +7875,7 @@ msgstr ""
 #: build/C/man2/open.2:1196
 #, no-wrap
 msgid "NFS"
-msgstr ""
+msgstr "NFS"
 
 #. type: Plain text
 #: build/C/man2/open.2:1200
@@ -7899,7 +7905,7 @@ msgstr ""
 #: build/C/man2/open.2:1215
 #, no-wrap
 msgid "File access mode"
-msgstr ""
+msgstr "ファイルアクセスモード"
 
 #. type: Plain text
 #: build/C/man2/open.2:1230
@@ -7942,7 +7948,7 @@ msgstr ""
 #: build/C/man2/open.2:1247
 #, no-wrap
 msgid "Rationale for openat() and other directory file descriptor APIs"
-msgstr ""
+msgstr "openat() や他のディレクトリファイルディスクリプタ API の基本原理"
 
 #. type: Plain text
 #: build/C/man2/open.2:1275
@@ -8157,7 +8163,7 @@ msgstr ""
 msgid ""
 "One must check for two different error codes, B<EISDIR> and B<ENOENT>, when "
 "trying to determine whether the kernel supports B<O_TMPFILE> functionality."
-msgstr ""
+msgstr "カーネルが B<O_TMPFILE> 機能をサポートしているかを判定する際に、 B<EISDIR> と B<ENOENT> の 2 つのエラーコードをチェックしなければならない。"
 
 #. type: Plain text
 #: build/C/man2/open.2:1466
index f3ccafd..9418933 100644 (file)
@@ -1,5 +1,5 @@
 # pagename,#complete,#remaining,#all
 fopencookie.3,65,33,98
-open.2,201,38,239
+open.2,226,13,239
 open_by_handle_at.2,96,47,143
 symlink.7,48,23,71
index 3cc5d77..c47fd50 100644 (file)
@@ -72,7 +72,7 @@
 <TR><TD>hpsa.4</TD><TD>23/57</TD><TD>59.65</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>stdio</B></TD></TR>
 <TR><TD>fopencookie.3</TD><TD>33/98</TD><TD>66.33</TD></TR>
-<TR class="over80"><TD>open.2</TD><TD>38/239</TD><TD>84.10</TD></TR>
+<TR class="over80"><TD>open.2</TD><TD>13/239</TD><TD>94.56</TD></TR>
 <TR><TD>open_by_handle_at.2</TD><TD>47/143</TD><TD>67.13</TD></TR>
 <TR><TD>symlink.7</TD><TD>23/71</TD><TD>67.61</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>stdlib</B></TD></TR>