<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
 >

  <channel rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/!feeds/list">
    <title>Linux JF Project Wiki</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/!feeds/list</link>
    <description>
      SourceForge.jp Wiki pages for Linux JF Project project.    </description>
        <dc:date>2011-06-12T15:22:07+09:00</dc:date>
        <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/NavigationList" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/SubmittingPatches" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/stable_kernel_rules.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/HOWTO" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/KDoc-2.6-in-Progress" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/Locking" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/fiemap.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/Header" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/nilfs2.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/dentry-locking.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/dell_rbu.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/files.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/vfat.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/xip.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart2-2" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart1-1" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart2-1" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart1-3" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart1-4" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/ubifs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/xfs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/isofs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/cifs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/inotify.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/SideBar" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/cramfs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/hfsplus.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/hfs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/jfs.txt" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart2-4" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart2-3" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/LinusInterviewPart1-2" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/linuxjf/wiki/WikiTraining" />
              </rdf:Seq>
    </items>
  </channel>

      <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/NavigationList">
    <title>NavigationList</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/NavigationList</link>
    <dc:identifier>NavigationList</dc:identifier>
    <dc:date>2011-06-12T15:22:07+09:00</dc:date>
        <description>
      <![CDATA[ * [ceph.txt Documentation/filesystems/ceph.txt]
 * [vfs.txt Documentation/filesystems/vfs.txt]
 * [gfs2.txt Documentation/filesystems/gfs2.txt]
 * [exofs.txt Documentation/filesystems/exofs.txt]
]]>
    </description>
    <content:encoded>
      <![CDATA[<ul><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt">Documentation/filesystems/ceph.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt">Documentation/filesystems/vfs.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt">Documentation/filesystems/gfs2.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">Documentation/filesystems/exofs.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking">Documentation/filesystems/Locking</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt">Documentation/filesystems/ext4.txt</a>
</li></ul>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/SubmittingPatches">
    <title>SubmittingPatches</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/SubmittingPatches</link>
    <dc:identifier>SubmittingPatches</dc:identifier>
    <dc:date>2011-05-31T00:24:35+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(SubmittingPatches.txt)]]

[[include(Header)]]
[[Embed(SubmittingPatches.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| ]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/SubmittingPatches/attach/SubmittingPatches.txt" title="SubmittingPatches.txt" alt="SubmittingPatches.txt" id="la-SubmittingPatches.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">SubmittingPatches.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-SubmittingPatches.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/SubmittingPatches/attach/SubmittingPatches.txt">SubmittingPatches.txt</a></span></div><pre>==================================
これは、
linux-2.6.39/Documentation/SubmittingPatches の和訳
です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
翻訳日： 2011/05/27
翻訳者： Keiichi Kii &lt;k-keiichi at bx dot jp dot nec dot com&gt;
校正者： Masanari Kobayashi さん &lt;zap03216 at nifty dot ne dot jp&gt;
         Matsukura さん &lt;nbh--mats at nifty dot com&gt;
==================================

	How to Get Your Change Into the Linux Kernel
		or
	Care And Operation Of Your Linus Torvalds

        Linux カーネルに変更を加えるための Howto
        又は
        かの Linus Torvalds の取り扱い説明書

For a person or company who wishes to submit a change to the Linux
kernel, the process can sometimes be daunting if you're not familiar
with &quot;the system.&quot;  This text is a collection of suggestions which
can greatly increase the chances of your change being accepted.

Linux カーネルに変更を加えたいと思っている個人又は会社にとって、パッ
チの投稿に関連した仕組みに慣れていなければ、その過程は時々みなさんを
おじけづかせることもあります。この文章はあなたの変更を大いに受け入れ
てもらえやすくする提案を集めたものです。

Read Documentation/SubmitChecklist for a list of items to check
before submitting code.  If you are submitting a driver, also read
Documentation/SubmittingDrivers.

コードを投稿する前に、Documentation/SubmitChecklist の項目リストに目
を通してチェックしてください。もしあなたがドライバーを投稿しようとし
ているなら、Documentation/SubmittingDrivers にも目を通してください。

--------------------------------------------
SECTION 1 - CREATING AND SENDING YOUR CHANGE
--------------------------------------------

--------------------------------------------
セクション1 パッチの作り方と送り方
--------------------------------------------

1) &quot;diff -up&quot;
------------

1) 「 diff -up 」
------------

Use &quot;diff -up&quot; or &quot;diff -uprN&quot; to create patches.

パッチの作成には「 diff -up 」又は「 diff -uprN 」を使ってください。

All changes to the Linux kernel occur in the form of patches, as
generated by diff(1).  When creating your patch, make sure to create it
in &quot;unified diff&quot; format, as supplied by the '-u' argument to diff(1).
Also, please use the '-p' argument which shows which C function each
change is in - that makes the resultant diff a lot easier to read.
Patches should be based in the root kernel source directory,
not in any lower subdirectory.

Linux カーネルに対する全ての変更は diff(1) コマンドによるパッチの形式で
生成してください。パッチを作成するときには、diff(1) コマンドに「 -u 」引
数を指定して、unified 形式のパッチを作成することを確認してください。また、
変更がどの C 関数で行われたのかを表示する「 -p 」引数を使ってください。
この引数は生成した差分をずっと読みやすくしてくれます。パッチは Linux 
カーネルソースの中のサブディレクトリではなく Linux カーネルソースのルート
ディレクトリを基準にしないといけません。

To create a patch for a single file, it is often sufficient to do:

1個のファイルについてのパッチを作成するためには、ほとんどの場合、
以下の作業を行えば十分です。

	SRCTREE= linux-2.6
	MYFILE=  drivers/net/mydriver.c

	cd $SRCTREE
	cp $MYFILE $MYFILE.orig
	vi $MYFILE	# make your change
	cd ..
	diff -up $SRCTREE/$MYFILE{.orig,} &gt; /tmp/patch

To create a patch for multiple files, you should unpack a &quot;vanilla&quot;,
or unmodified kernel source tree, and generate a diff against your
own source tree.  For example:

複数のファイルについてのパッチを作成するためには、素の( vanilla )、す
なわち変更を加えてない Linux カーネルを展開し、自分の Linux カーネル
ソースとの差分を生成しないといけません。例えば、

	MYSRC= /devel/linux-2.6

	tar xvfz linux-2.6.12.tar.gz
	mv linux-2.6.12 linux-2.6.12-vanilla
	diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \
		linux-2.6.12-vanilla $MYSRC &gt; /tmp/patch

&quot;dontdiff&quot; is a list of files which are generated by the kernel during
the build process, and should be ignored in any diff(1)-generated
patch.  The &quot;dontdiff&quot; file is included in the kernel tree in
2.6.12 and later.  For earlier kernel versions, you can get it
from &lt;http://www.xenotime.net/linux/doc/dontdiff&gt;.

dontdiff ファイルには Linux カーネルのビルドプロセスの過程で生成された
ファイルの一覧がのっています。そして、それらはパッチを生成する diff(1)
コマンドで無視されるべきです。dontdiff ファイルは 2.6.12 以後のバージョ
ンの Linux カーネルソースツリーに含まれています。それより前のバージョン
の Linux カーネルソースツリーに対する dontdiff ファイルは、
&lt;http://www.xenotime.net/linux/doc/dontdiff&gt;から取得することができます。

Make sure your patch does not include any extra files which do not
belong in a patch submission.  Make sure to review your patch -after-
generated it with diff(1), to ensure accuracy.

投稿するパッチの中に関係のない余分なファイルが含まれていないことを確
認してください。diff(1) コマンドで生成したパッチがあなたの意図したとお
りのものであることを確認してください。

If your changes produce a lot of deltas, you may want to look into
splitting them into individual patches which modify things in
logical stages.  This will facilitate easier reviewing by other
kernel developers, very important if you want your patch accepted.
There are a number of scripts which can aid in this:

もしあなたのパッチが多くの差分を生み出すのであれば、あなたはパッチ
を意味のあるひとまとまりごとに分けたいと思うかもしれません。
これは他のカーネル開発者にとってレビューしやすくなるので、あなたの
パッチを受け入れてもらうためにはとても重要なことです。これを補助でき
る多くのスクリプトがあります。

Quilt:
http://savannah.nongnu.org/projects/quilt

Andrew Morton's patch scripts:
http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
Instead of these scripts, quilt is the recommended patch management
tool (see above).

このリンクの先のスクリプトの代わりとして、quilt がパッチマネジメント
ツールとして推奨されています(上のリンクを見てください)。

2) Describe your changes.

2) パッチに対する説明

Describe the technical detail of the change(s) your patch includes.

パッチの中の変更点に対する技術的な詳細について説明してください。

Be as specific as possible.  The WORST descriptions possible include
things like &quot;update driver X&quot;, &quot;bug fix for driver X&quot;, or &quot;this patch
includes updates for subsystem X.  Please apply.&quot;

説明はできる限り具体的に。もっとも悪い説明は「ドライバー X を更新」、
「ドライバー X に対するバグフィックス」あるいは「このパッチはサブシス
テム X に対する更新を含んでいます。どうか取り入れてください。」などです。

The maintainer will thank you if you write your patch description in a
form which can be easily pulled into Linux's source code management
system, git, as a &quot;commit log&quot;.  See #15, below.

パッチの説明を Linux カーネルのソースコードマネジメントシステム「 git 」の
コミットログとして簡単に引用できる形で書けば、メンテナから感謝されるでしょう。
以下の #15 を見てください。

If your description starts to get long, that's a sign that you probably
need to split up your patch.  See #3, next.

説明が長くなりだしたのであれば、おそらくそれはパッチを分ける必要がある
という兆候です。次の #3 を見てください。

When you submit or resubmit a patch or patch series, include the
complete patch description and justification for it.  Don't just
say that this is version N of the patch (series).  Don't expect the
patch merger to refer back to earlier patch versions or referenced
URLs to find the patch description and put that into the patch.
I.e., the patch (series) and its description should be self-contained.
This benefits both the patch merger(s) and reviewers.  Some reviewers
probably didn't even receive earlier versions of the patch.

If the patch fixes a logged bug entry, refer to that bug entry by
number and URL.

パッチ(シリーズ)を(再)投稿する時、十分なパッチの説明とそのパッチが必要な理由を
パッチに含めてください。ただ「これはパッチ(シリーズ)のバージョン N」とだけ
書かないでください。そして、パッチをマージする人にパッチの説明を探させそれを
パッチに追記させるため、過去のバージョンのパッチやそのパッチの URL を参照する
手間をかけさせないでください。
つまり、パッチシリーズとその説明は一緒にあるべきです。これはパッチをマージする
人、レビューする人、どちらのためにもなります。レビューする人の中には、おそらく
過去のバージョンのパッチを受け取ってもいない人がいます。

登録済みのバグエントリを修正するパッチであれば、そのバグエントリを示すバグ ID
や URL を明記してください。

3) Separate your changes.

3) パッチの分割

Separate _logical changes_ into a single patch file.

意味のあるひとまとまりごとに変更を個々のパッチファイルに分けてください。

For example, if your changes include both bug fixes and performance
enhancements for a single driver, separate those changes into two
or more patches.  If your changes include an API update, and a new
driver which uses that new API, separate those into two patches.

例えば、もし1つのドライバーに対するバグフィックスとパフォーマンス強
化の両方の変更を含んでいるのであれば、その変更を2つ以上のパッチに分
けてください。もし変更箇所に API の更新と、その新しい API を使う新たな
ドライバーが含まれているなら、2つのパッチに分けてください。

On the other hand, if you make a single change to numerous files,
group those changes into a single patch.  Thus a single logical change
is contained within a single patch.

一方で、もしあなたが多数のファイルに対して意味的に同じ1つの変更を加え
るのであれば、その変更を1つのパッチにまとめてください。言いかえると、
意味的に同じ1つの変更は1つのパッチの中に含まれます。

If one patch depends on another patch in order for a change to be
complete, that is OK.  Simply note &quot;this patch depends on patch X&quot;
in your patch description.

あるパッチが変更を完結させるために他のパッチに依存していたとしても、
それは問題ありません。パッチの説明の中で「このパッチはパッチ X に依存
している」と簡単に注意書きをつけてください。

If you cannot condense your patch set into a smaller set of patches,
then only post say 15 or so at a time and wait for review and integration.

もしパッチをより小さなパッチの集合に凝縮することができないなら、まずは
15かそこらのパッチを送り、そのレビューと統合を待って下さい。

4) Style check your changes.

4) パッチのスタイルチェック

Check your patch for basic style violations, details of which can be
found in Documentation/CodingStyle.  Failure to do so simply wastes
the reviewers time and will get your patch rejected, probably
without even being read.

あなたのパッチが基本的な( Linux カーネルの)コーディングスタイルに違反し
ていないかをチェックして下さい。その詳細を Documentation/CodingStyle で
見つけることができます。コーディングスタイルの違反はレビューする人の
時間を無駄にするだけなので、恐らくあなたのパッチは読まれることすらなく
拒否されるでしょう。

At a minimum you should check your patches with the patch style
checker prior to submission (scripts/checkpatch.pl).  You should
be able to justify all violations that remain in your patch.

あなたはパッチを投稿する前に最低限パッチスタイルチェッカー
( scripts/checkpatch.pl )を利用してパッチをチェックすべきです。
もしパッチに違反がのこっているならば、それらの全てについてあなたは正当な
理由を示せるようにしておく必要があります。

5) Select e-mail destination.

5) 電子メールの宛先の選び方

Look through the MAINTAINERS file and the source code, and determine
if your change applies to a specific subsystem of the kernel, with
an assigned maintainer.  If so, e-mail that person.

MAINTAINERS ファイルとソースコードに目を通してください。そして、その変
更がメンテナのいる特定のサブシステムに加えられるものであることが分か
れば、その人に電子メールを送ってください。

If no maintainer is listed, or the maintainer does not respond, send
your patch to the primary Linux kernel developer's mailing list,
linux-kernel@vger.kernel.org.  Most kernel developers monitor this
e-mail list, and can comment on your changes.

もし、メンテナが載っていなかったり、メンテナからの応答がないなら、
LKML ( linux-kernel@vger.kernel.org )へパッチを送ってください。ほとんど
のカーネル開発者はこのメーリングリストに目を通しており、変更に対して
コメントを得ることができます。

Do not send more than 15 patches at once to the vger mailing lists!!!

15個より多くのパッチを同時に vger.kernel.org のメーリングリストへ送らな
いでください!!!

Linus Torvalds is the final arbiter of all changes accepted into the
Linux kernel.  His e-mail address is &lt;torvalds@linux-foundation.org&gt;.
He gets a lot of e-mail, so typically you should do your best to -avoid-
sending him e-mail.

Linus Torvalds は Linux カーネルに入る全ての変更に対する最終的な意思決定者
です。電子メールアドレスは torvalds@linux-foundation.org になります。彼は
多くの電子メールを受け取っているため、できる限り彼に電子メールを送るのは
避けるべきです。

Patches which are bug fixes, are &quot;obvious&quot; changes, or similarly
require little discussion should be sent or CC'd to Linus.  Patches
which require discussion or do not have a clear advantage should
usually be sent first to linux-kernel.  Only after the patch is
discussed should the patch then be submitted to Linus.

バグフィックスであったり、自明な変更であったり、話し合いをほとんど
必要としないパッチは Linus へ電子メールを送るか CC しなければなりません。
話し合いを必要としたり、明確なアドバンテージがないパッチは、通常まず
は LKML へ送られるべきです。パッチが議論された後にだけ、そのパッチを
Linus へ送るべきです。

6) Select your CC (e-mail carbon copy) list.

6) CC (カーボンコピー)先の選び方

Unless you have a reason NOT to do so, CC linux-kernel@vger.kernel.org.

特に理由がないなら、LKML にも CC してください。

Other kernel developers besides Linus need to be aware of your change,
so that they may comment on it and offer code review and suggestions.
linux-kernel is the primary Linux kernel developer mailing list.
Other mailing lists are available for specific subsystems, such as
USB, framebuffer devices, the VFS, the SCSI subsystem, etc.  See the
MAINTAINERS file for a mailing list that relates specifically to
your change.

Linus 以外のカーネル開発者は変更に気づく必要があり、その結果、彼らはそ
の変更に対してコメントをくれたり、コードに対してレビューや提案をくれ
るかもしれません。LKML とは Linux カーネル開発者にとって一番中心的なメー
リングリストです。USB やフレームバッファデバイスや VFS や SCSI サブシステ
ムなどの特定のサブシステムに関するメーリングリストもあります。あなた
の変更に、はっきりと関連のあるメーリングリストについて知りたければ
MAINTAINERS ファイルを参照してください。

Majordomo lists of VGER.KERNEL.ORG at:
	&lt;http://vger.kernel.org/vger-lists.html&gt;

VGER.KERNEL.ORG でホスティングされているメーリングリストの一覧が下記の
サイトに載っています。
&lt;http://vger.kernel.org/vger-lists.html&gt;

If changes affect userland-kernel interfaces, please send
the MAN-PAGES maintainer (as listed in the MAINTAINERS file)
a man-pages patch, or at least a notification of the change,
so that some information makes its way into the manual pages.

もし、変更がユーザランドのカーネルインタフェースに影響を与え
るのであれば、MAN-PAGES のメンテナ( MAINTAINERS ファイルに一覧
があります)に man ページのパッチを送ってください。少なくとも
情報がマニュアルページの中に入ってくるように、変更が起きたという
通知を送ってください。

Even if the maintainer did not respond in step #5, make sure to ALWAYS
copy the maintainer when you change their code.

たとえ、メンテナが #5 で反応がなかったとしても、メンテナのコードに変更を
加えたときには、いつもメンテナに CC するのを忘れないようにしてください。

For small patches you may want to CC the Trivial Patch Monkey
trivial@kernel.org which collects &quot;trivial&quot; patches. Have a look
into the MAINTAINERS file for its current manager.
Trivial patches must qualify for one of the following rules:
 Spelling fixes in documentation
 Spelling fixes which could break grep(1)
 Warning fixes (cluttering with useless warnings is bad)
 Compilation fixes (only if they are actually correct)
 Runtime fixes (only if they actually fix things)
 Removing use of deprecated functions/macros (eg. check_region)
 Contact detail and documentation fixes
 Non-portable code replaced by portable code (even in arch-specific,
 since people copy, as long as it's trivial)
 Any fix by the author/maintainer of the file (ie. patch monkey
 in re-transmission mode)

小さなパッチであれば、Trivial Patch Monkey(ちょっとしたパッチを集めている)
&lt;trivial@kernel.org&gt;に CC してもいいです。その現管理者については MAINTAINERS
ファイルを見てください。ちょっとしたパッチとは以下のルールのどれか1つを満たして
いなければなりません。
 ・ドキュメントのスペルミスの修正
 ・grep(1) コマンドによる検索を困難にしているスペルの修正
 ・コンパイル時の警告の修正(無駄な警告が散乱することは好ましくないた
   めです)
 ・コンパイル問題の修正(それらの修正が本当に正しい場合に限る)
 ・実行時の問題の修正(それらの修正が本当に問題を修正している場合に限る)
 ・廃止予定の関数やマクロを使用しているコードの除去(例 check_region )
 ・問い合わせ先やドキュメントの修正
 ・移植性のないコードから移植性のあるコードへの置き換え(小さい範囲で
   あればアーキテクチャ特有のことでも他の人がコピーできます)
 ・作者やメンテナによる修正(すなわち patch monkey の再転送モード)

7) No MIME, no links, no compression, no attachments.  Just plain text.

7) MIME やリンクや圧縮ファイルや添付ファイルではなくプレインテキストのみ

Linus and other kernel developers need to be able to read and comment
on the changes you are submitting.  It is important for a kernel
developer to be able to &quot;quote&quot; your changes, using standard e-mail
tools, so that they may comment on specific portions of your code.

Linus や他のカーネル開発者はあなたが投稿した変更を読んで、コメントでき
る必要があります。カーネル開発者にとって、あなたが書いたコードの特定の
部分にコメントをするために、標準的な電子メールクライアントで変更が引用
できることは重要です。

For this reason, all patches should be submitting e-mail &quot;inline&quot;.
WARNING:  Be wary of your editor's word-wrap corrupting your patch,
if you choose to cut-n-paste your patch.

上記の理由で、すべてのパッチは文中に含める形式の電子メールで投稿さ
れるべきです。警告：あなたがパッチをコピー&amp;ペーストする際には、パッ
チを改悪するエディターの折り返し機能に注意してください。

Do not attach the patch as a MIME attachment, compressed or not.
Many popular e-mail applications will not always transmit a MIME
attachment as plain text, making it impossible to comment on your
code.  A MIME attachment also takes Linus a bit more time to process,
decreasing the likelihood of your MIME-attached change being accepted.

パッチを圧縮の有無に関わらず MIME 形式で添付しないでください。多くのポ
ピュラーな電子メールクライアントは MIME 形式の添付ファイルをプレーンテ
キストとして送信するとは限らないでしょう。そうなると、電子メールクラ
イアントがコードに対するコメントを付けることをできなくします。また、
MIME 形式の添付ファイルは Linus に手間を取らせることになり、その変更を
受け入れてもらう可能性が低くなってしまいます。

Exception:  If your mailer is mangling patches then someone may ask
you to re-send them using MIME.

例外：お使いの電子メールクライアントがパッチをめちゃくちゃにするので
あれば、誰かが MIME 形式のパッチを再送するよう求めるかもしれません。

See Documentation/email-clients.txt for hints about configuring
your e-mail client so that it sends your patches untouched.

余計な変更を加えずにあなたのパッチを送信するための電子メールクライアントの設定
のヒントについては Documentation/email-clients.txt を参照してください。

8) E-mail size.

8) 電子メールのサイズ

When sending patches to Linus, always follow step #7.

パッチを Linus へ送るときは常に #7 の手順に従ってください。

Large changes are not appropriate for mailing lists, and some
maintainers.  If your patch, uncompressed, exceeds 300 kB in size,
it is preferred that you store your patch on an Internet-accessible
server, and provide instead a URL (link) pointing to your patch.

大きなパッチはメーリングリストやメンテナにとって不親切です。パッチが
未圧縮で 300KB を超えるようであるなら、インターネット上のアクセス可能な
サーバに保存し、保存場所を示す URL を伝えるほうが適切です。

9) Name your kernel version.

9) カーネルバージョンの明記

It is important to note, either in the subject line or in the patch
description, the kernel version to which this patch applies.

パッチが対象とするカーネルのバージョンをパッチの概要か電子メールの
サブジェクトに付けることが重要です。

If the patch does not apply cleanly to the latest kernel version,
Linus will not apply it.

パッチが最新バージョンのカーネルに正しく適用できなければ、Linus は
そのパッチを採用しないでしょう。

10) Don't get discouraged.  Re-submit.

10) がっかりせず再投稿

After you have submitted your change, be patient and wait.  If Linus
likes your change and applies it, it will appear in the next version
of the kernel that he releases.

パッチを投稿した後は、辛抱強く待っていてください。Linus があなたのパッ
チを気に入って採用すれば、Linus がリリースする次のバージョンのカーネル
の中で姿を見せるでしょう。

However, if your change doesn't appear in the next version of the
kernel, there could be any number of reasons.  It's YOUR job to
narrow down those reasons, correct what was wrong, and submit your
updated change.

しかし、パッチが次のバージョンのカーネルに入っていないなら、いくつもの
理由があるのでしょう。その原因を絞り込み、間違っているものを正し、更新
したパッチを投稿するのはあなたの仕事です。

It is quite common for Linus to &quot;drop&quot; your patch without comment.
That's the nature of the system.  If he drops your patch, it could be
due to
* Your patch did not apply cleanly to the latest kernel version.
* Your patch was not sufficiently discussed on linux-kernel.
* A style issue (see section 2).
* An e-mail formatting issue (re-read this section).
* A technical problem with your change.
* He gets tons of e-mail, and yours got lost in the shuffle.
* You are being annoying.

Linus があなたのパッチに対して何のコメントもなく不採用にすることは極め
て普通のことです。それは自然な姿です。もし、Linus があなたのパッチを受
け取っていないのであれば、以下の理由が考えられます。
* パッチが最新バージョンの Linux カーネルにきちんと適用できなかった
* パッチが LKML で十分に議論されていなかった
* スタイルの問題(セクション2を参照)
* 電子メールフォーマットの問題(このセクションを参照)
* パッチに対する技術的な問題
* Linus はたくさんの電子メールを受け取っているので、どさくさに紛れて見
  失った
* 不愉快にさせている

When in doubt, solicit comments on linux-kernel mailing list.

判断できない場合は、LKML にコメントを頼んでください。

11) Include PATCH in the subject

11) サブジェクトに「 PATCH 」

Due to high e-mail traffic to Linus, and to linux-kernel, it is common
convention to prefix your subject line with [PATCH].  This lets Linus
and other kernel developers more easily distinguish patches from other
e-mail discussions.

Linus や LKML への大量の電子メールのために、サブジェクトのプレフィックスに
「 [PATCH] 」を付けることが慣習となっています。これによって Linus や他の
カーネル開発者がパッチであるのか、又は、他の議論に関する電子メールであるの
かをより簡単に識別できます。

12) Sign your work

12) パッチへの署名

To improve tracking of who did what, especially with patches that can
percolate to their final resting place in the kernel through several
layers of maintainers, we've introduced a &quot;sign-off&quot; procedure on
patches that are being emailed around.

誰が何をしたのかを追いかけやすくするために (特に、パッチが何人かの
メンテナを経て最終的に Linux カーネルに取り込まれる場合のために)、電子
メールでやり取りされるパッチに対して「 sign-off 」という手続きを導入し
ました。

The sign-off is a simple line at the end of the explanation for the
patch, which certifies that you wrote it or otherwise have the right to
pass it on as a open-source patch.  The rules are pretty simple: if you
can certify the below:

「 sign-off 」とは、パッチがあなたの書いたものであるか、あるいは、
あなたがそのパッチをオープンソースとして提供する権利を保持している、
という証明をパッチの説明の末尾に一行記載するというものです。
ルールはとても単純です。以下の項目を確認して下さい。

        Developer's Certificate of Origin 1.1

        原作者の証明書( DCO ) 1.1

        By making a contribution to this project, I certify that:

        このプロジェクトに寄与するものとして、以下のことを証明する。

        (a) The contribution was created in whole or in part by me and I
            have the right to submit it under the open source license
            indicated in the file; or

        (a) 本寄与は私が全体又は一部作成したものであり、私がそのファイ
            ル中に明示されたオープンソースライセンスの下で公開する権利
            を持っている。もしくは、

        (b) The contribution is based upon previous work that, to the best
            of my knowledge, is covered under an appropriate open source
            license and I have the right under that license to submit that
            work with modifications, whether created in whole or in part
            by me, under the same open source license (unless I am
            permitted to submit under a different license), as indicated
            in the file; or

        (b) 本寄与は、私が知る限り、適切なオープンソースライセンスでカバ
            ーされている既存の作品を元にしている。同時に、私はそのライセ
            ンスの下で、私が全体又は一部作成した修正物を、ファイル中で示
            される同一のオープンソースライセンスで(異なるライセンスの下で
            投稿することが許可されている場合を除いて)投稿する権利を持って
            いる。もしくは、

        (c) The contribution was provided directly to me by some other
            person who certified (a), (b) or (c) and I have not modified
            it.

        (c) 本寄与は(a)、(b)、(c)を証明する第3者から私へ直接提供された
            ものであり、私はそれに変更を加えていない。

	(d) I understand and agree that this project and the contribution
	    are public and that a record of the contribution (including all
	    personal information I submit with it, including my sign-off) is
	    maintained indefinitely and may be redistributed consistent with
	    this project or the open source license(s) involved.

            私はこのプロジェクトと本寄与が公のものであることに理解及び同意す
            る。同時に、関与した記録(投稿の際の全ての個人情報と sign-off を
            含む)が無期限に保全されることと、当該プロジェクト又は関連する
            オープンソースライセンスに沿った形で再配布されることに理解及び
            同意する。

then you just add a line saying

もしこれに同意できるなら、以下のような1行を追加してください。

	Signed-off-by: Random J Developer &lt;random@developer.example.org&gt;

using your real name (sorry, no pseudonyms or anonymous contributions.)

実名を使ってください。(残念ですが、偽名や匿名による寄与はできません。)

Some people also put extra tags at the end.  They'll just be ignored for
now, but you can do this to mark internal company procedures or just
point out some special detail about the sign-off.

人によっては sign-off の近くに追加のタグを付加しています。それらは今のところ
無視されますが、あなたはそのタグを社内の手続きに利用したり、sign-off に特別
な情報を示したりすることができます。

If you are a subsystem or branch maintainer, sometimes you need to slightly
modify patches you receive in order to merge them, because the code is not
exactly the same in your tree and the submitters'. If you stick strictly to
rule (c), you should ask the submitter to rediff, but this is a totally
counter-productive waste of time and energy. Rule (b) allows you to adjust
the code, but then it is very impolite to change one submitter's code and
make him endorse your bugs. To solve this problem, it is recommended that
you add a line between the last Signed-off-by header and yours, indicating
the nature of your changes. While there is nothing mandatory about this, it
seems like prepending the description with your mail and/or name, all
enclosed in square brackets, is noticeable enough to make it obvious that
you are responsible for last-minute changes. Example :

あなたがサブシステムまたはブランチのメンテナであれば、受け取ったパッチを自身の
ツリーにマージするために、わずかに変更が必要となる場合があります。なぜなら
あなたのツリーの中のコードと投稿者のツリーの中のコードは同一ではないためです。
もし、あなたが厳密に上記ルール(c)にこだわるのであれば、投稿者に再度差分を
とるよう依頼すべきです。しかし、これは時間とエネルギーを非生産的に浪費する
ことになります。ルール(b)はあなたにコードを修正する権利を与えてくれます。
しかし、投稿者のコードを修正し、その修正によるバグを投稿者に押し付けてしまう
ことはとても失礼なことです。この問題を解決するために、末尾の投稿者の
Signed-off-by とあなたがその末尾に追加する Signed-off-by の間に、修正を
加えたことを示す1行を追加することが推奨されています。
(その1行の書き方に)決まりはありませんが、大括弧の中に電子メールアドレスや氏名
と修正内容を記載するやり方は目につきやすく、最終段階での変更の責任があなたに
あることを明確にするのに十分な方法のようです。例えば、

    Signed-off-by: Random J Developer &lt;random@developer.example.org&gt;
    [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
    Signed-off-by: Lucky K Maintainer &lt;lucky@maintainer.example.org&gt;

This practise is particularly helpful if you maintain a stable branch and
want at the same time to credit the author, track changes, merge the fix,
and protect the submitter from complaints. Note that under no circumstances
can you change the author's identity (the From header), as it is the one
which appears in the changelog.

あなたが安定版のブランチを管理しており、作成者のクレジット、変更の追跡、
修正のマージ、と同時に苦情からの投稿者の保護を行いたい場合、この慣習は特に
有用となります。いかなる事情があってもチェンジログに出てくる作成者の
アイデンティティ情報(From ヘッダ)は変更できないことに注意してください。

Special note to back-porters: It seems to be a common and useful practise
to insert an indication of the origin of a patch at the top of the commit
message (just after the subject line) to facilitate tracking. For instance,
here's what we see in 2.6-stable :

バックポートする人のための特別な注意事項。追跡を容易に行うために、コミット
メッセージのトップ(サブジェクト行のすぐ後)にパッチの起源を示す情報を記述する
ことは一般的で有用な慣習です。例えば、これは 2.6-stable ツリーでの一例です。    

    Date:   Tue May 13 19:10:30 2008 +0000

        SCSI: libiscsi regression in 2.6.25: fix nop timer handling

        commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream

And here's what appears in 2.4 :

そして、これは 2.4 ツリーでの一例です。

    Date:   Tue May 13 22:12:27 2008 +0200

        wireless, airo: waitbusy() won't delay

        [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]

Whatever the format, this information provides a valuable help to people
tracking your trees, and to people trying to trouble-shoot bugs in your
tree.

どんな形式であれ、この情報はあなたのツリーを追跡する人やあなたのツリーのバグを
解決しようとしている人にとって価値のある支援となります。

13) When to use Acked-by: and Cc:

13) いつ Acked-by: と Cc: を使うのか

The Signed-off-by: tag indicates that the signer was involved in the
development of the patch, or that he/she was in the patch's delivery path.

「 Signed-off-by: 」タグはその署名者がパッチの開発に関わっていたことやパッチ
の伝播パスにいたことを示しています。

If a person was not directly involved in the preparation or handling of a
patch but wishes to signify and record their approval of it then they can
arrange to have an Acked-by: line added to the patch's changelog.

ある人が直接パッチの準備や作成に関わっていないけれど、その人のパッチに対す
る承認を記録し、示したいとします。その場合、その人を示すのに Acked-by: が使
えます。Acked-by: はパッチのチェンジログにも追加されます。

Acked-by: is often used by the maintainer of the affected code when that
maintainer neither contributed to nor forwarded the patch.

パッチの影響を受けるコードのメンテナがパッチに関わっていなかったり、パッチ
の伝播パスにいなかった時にも、メンテナは Acked-by: をしばしば利用します。

Acked-by: is not as formal as Signed-off-by:.  It is a record that the acker
has at least reviewed the patch and has indicated acceptance.  Hence patch
mergers will sometimes manually convert an acker's &quot;yep, looks good to me&quot;
into an Acked-by:.

Acked-by: は Signed-off-by: のように公式なタグではありません。それはメンテナが
少なくともパッチをレビューし、同意を示しているという記録です。そのような
ことからパッチをマージする人がメンテナの「うん、良いと思うよ」という発言を
Acked-by: へ置き換えることがあります。

Acked-by: does not necessarily indicate acknowledgement of the entire patch.
For example, if a patch affects multiple subsystems and has an Acked-by: from
one subsystem maintainer then this usually indicates acknowledgement of just
the part which affects that maintainer's code.  Judgement should be used here.
When in doubt people should refer to the original discussion in the mailing
list archives.

Acked-by: が必ずしもパッチ全体の承認を示しているわけではありません。例えば、
あるパッチが複数のサブシステムへ影響を与えており、その中の1つのサブシステム
のメンテナからの Acked-by: を持っているとします。その場合、Acked-by: は通常
そのメンテナのコードに影響を与える一部分だけに対する承認を示しています。
この点は、ご自分で判断してください。(その Acked-by: が)疑わしい場合は、
メーリングリストアーカイブの中の大元の議論を参照すべきです。

If a person has had the opportunity to comment on a patch, but has not
provided such comments, you may optionally add a &quot;Cc:&quot; tag to the patch.
This is the only tag which might be added without an explicit action by the
person it names.  This tag documents that potentially interested parties
have been included in the discussion

パッチにコメントする機会を持っていたが、その時にコメントしなかった人がいれば、
その人を指す「Cc:」タグを任意で追加してもかまいません。これは指定された人からの
明確なアクションなしに付与できる唯一のタグです。
このタグはパッチに関心があると思われる人達がそのパッチの議論に含まれていたこと
を明文化します。

14) Using Reported-by:, Tested-by: and Reviewed-by:

14) Reported-by と Tested-by: と Reviewed-by: の利用

If this patch fixes a problem reported by somebody else, consider adding a
Reported-by: tag to credit the reporter for their contribution.  Please
note that this tag should not be added without the reporter's permission,
especially if the problem was not reported in a public forum.  That said,
if we diligently credit our bug reporters, they will, hopefully, be
inspired to help us again in the future.

他の誰かによって報告された問題を修正するパッチであれば、問題報告者という寄与を
クレジットするために、Reported-by: タグを追加することを検討してください。
こまめにバグ報告者をクレジットしていくことで、うまくいけばその人たちが将来再び
コミュニティの力となってくれるでしょう。
ただし、報告者の許可無くこのタグを追加しないように注意してください。特に、
問題が公の場で報告されていなかったのであれば。

A Tested-by: tag indicates that the patch has been successfully tested (in
some environment) by the person named.  This tag informs maintainers that
some testing has been performed, provides a means to locate testers for
future patches, and ensures credit for the testers.

Tested-by: タグはタグで指定された人によって(ある環境下で)パッチのテストに成功
していることを示します。このタグはメンテナにテストが実施済みであることを
知らせ、将来の関連パッチのテスト協力者を見つける方法を提供し、テスト実施者に
対するクレジットを保証します。

Reviewed-by:, instead, indicates that the patch has been reviewed and found
acceptable according to the Reviewer's Statement:

Reviewed-by: タグは、それとは異なり、下記のレビューア宣言の下にレビューされ、
受け入れ可能とみなされたパッチであることを示します。

       Reviewer's statement of oversight

レビューアによる監督宣言

       By offering my Reviewed-by: tag, I state that:

私は Reviewed-by: タグを提示することによって、以下のことを明言する。

        (a) I have carried out a technical review of this patch to
            evaluate its appropriateness and readiness for inclusion into
            the mainline kernel.

(a) 私はメインラインカーネルへの統合のために、その妥当性及び&quot;readiness&quot;を検証
    するため、技術的側面からパッチをレビュー済みである。

        (b) Any problems, concerns, or questions relating to the patch
            have been communicated back to the submitter.  I am satisfied
            with the submitter's response to my comments.

(b) パッチに関するあらゆる問題、懸念、あるいは、疑問は投稿者へ伝達済みである。
    私はそれらのコメントに対する投稿者の返答に満足している。

        (c) While there may be things that could be improved with this
            submission, I believe that it is, at this time, (1) a
            worthwhile modification to the kernel, and (2) free of known
            issues which would argue against its inclusion.

(c) 投稿に伴い修正されるコードがある一方で、現時点で、私は(1)それがカーネルに
    とって価値のある変更であること、そして、(2)統合の際の議論で明らかとなった
    問題は解決されていると確信する。

        (d) While I have reviewed the patch and believe it to be sound, I
            do not (unless explicitly stated elsewhere) make any
            warranties or guarantees that it will achieve its stated
            purpose or function properly in any given situation.

(d) 私はパッチをレビューし適切であると確信している一方で、あらゆる状況において
    その宣言した目的や機能が正しく実現することに関して、いかなる保証もしない
    (特にどこかで明示しない限り)。

A Reviewed-by tag is a statement of opinion that the patch is an
appropriate modification of the kernel without any remaining serious
technical issues.  Any interested reviewer (who has done the work) can
offer a Reviewed-by tag for a patch.  This tag serves to give credit to
reviewers and to inform maintainers of the degree of review which has been
done on the patch.  Reviewed-by: tags, when supplied by reviewers known to
understand the subject area and to perform thorough reviews, will normally
increase the likelihood of your patch getting into the kernel.

Reviewd-by タグはそのパッチがカーネルに対して適切な修正であって、深刻な技術的
問題を残していないという意見の宣言です。興味のあるレビューアは誰でも(レビュー
作業を終えたら)パッチに対して Reviewed-by タグを提示できます。このタグは
レビューアの寄与をクレジットする働き、レビューの進捗の度合いをメンテナに
知らせる働きを持ちます。そのパッチの領域に詳しく、そして、しっかりとした
レビューを実施したレビューアによって提供される時、Reviewed-by: タグがあなたの
パッチをカーネルにマージする可能性を高めるでしょう。

15) The canonical patch format

15) 標準的なパッチのフォーマット

The canonical patch subject line is:

標準的なパッチのサブジェクトは以下のとおりです。

    Subject: [PATCH 001/123] subsystem: summary phrase

The canonical patch message body contains the following:

標準的なパッチの、電子メールのボディは以下の項目を含んでいます。

  - A &quot;from&quot; line specifying the patch author.

  - パッチの作成者を明記する「 from 」行

  - An empty line.

  - 空行

  - The body of the explanation, which will be copied to the
    permanent changelog to describe this patch.

  - 説明本体。これはこのパッチを説明するために無期限のチェンジログ
    (変更履歴)にコピーされます。

  - The &quot;Signed-off-by:&quot; lines, described above, which will
    also go in the changelog.

    上述した「 Signed-off-by: 」行。これも説明本体と同じくチェン
    ジログ内にコピーされます。

  - A marker line containing simply &quot;---&quot;.

  - マーカー行は単純に「 --- 」です。

  - Any additional comments not suitable for the changelog.

  - 余計なコメントは、チェンジログには不適切です。

  - The actual patch (diff output).

  - 実際のパッチ(差分出力)

The Subject line format makes it very easy to sort the emails
alphabetically by subject line - pretty much any email reader will
support that - since because the sequence number is zero-padded,
the numerical and alphabetic sort is the same.

サブジェクト行のフォーマットは、アルファベット順で電子メールをとても
ソートしやすいものになっています。(ほとんどの電子メールクライアント
はソートをサポートしています)パッチのサブジェクトの連番は0詰めであ
るため、数字でのソートとアルファベットでのソートは同じ結果になります。

The &quot;subsystem&quot; in the email's Subject should identify which
area or subsystem of the kernel is being patched.

電子メールのサブジェクト内のサブシステム表記は、パッチが適用される
分野またはサブシステムを識別できるようにすべきです。

The &quot;summary phrase&quot; in the email's Subject should concisely
describe the patch which that email contains.  The &quot;summary
phrase&quot; should not be a filename.  Do not use the same &quot;summary
phrase&quot; for every patch in a whole patch series (where a &quot;patch
series&quot; is an ordered sequence of multiple, related patches).

電子メールのサブジェクトの「summary phrase」はそのパッチの概要を正確
に表現しなければなりません。「summary phrase」をファイル名にしてはい
けません。パッチシリーズ中でそれぞれのパッチは同じ「summary phrase」を
使ってはいけません(「パッチシリーズ」とは順序付けられた関連のある複数の
パッチ群です)。

Bear in mind that the &quot;summary phrase&quot; of your email becomes a
globally-unique identifier for that patch.  It propagates all the way
into the git changelog.  The &quot;summary phrase&quot; may later be used in
developer discussions which refer to the patch.  People will want to
google for the &quot;summary phrase&quot; to read discussion regarding that
patch.  It will also be the only thing that people may quickly see
when, two or three months later, they are going through perhaps
thousands of patches using tools such as &quot;gitk&quot; or &quot;git log
--oneline&quot;.

あなたの電子メールの「summary phrase」がそのパッチにとって世界で唯一の識別子に
なるように心がけてください。「summary phrase」は git のチェンジログの中へ
ずっと伝播していきます。「summary phrase」は、開発者が後でパッチを参照する
ために議論の中で利用するかもしれません。
人々はそのパッチに関連した議論を読むために「summary phrase」を使って google で
検索したがるでしょう。それはまた2、3ヶ月あとで、人々が「gitk」や
「git log --oneline」のようなツールを使用して何千ものパッチに目を通す時、
唯一目にとまる情報となるでしょう。

For these reasons, the &quot;summary&quot; must be no more than 70-75
characters, and it must describe both what the patch changes, as well
as why the patch might be necessary.  It is challenging to be both
succinct and descriptive, but that is what a well-written summary
should do.

これらの理由のため、「summary phrase」はなぜパッチが必要であるか、パッチが何を
変更するかの2つの情報をせいぜい70〜75文字で表現していなければなりません。
「summary phrase」は簡潔であり説明的である表現を目指しつつ、うまく
まとめられている概要となるべきです。

The &quot;summary phrase&quot; may be prefixed by tags enclosed in square
brackets: &quot;Subject: [PATCH tag] &lt;summary phrase&gt;&quot;.  The tags are not
considered part of the summary phrase, but describe how the patch
should be treated.  Common tags might include a version descriptor if
the multiple versions of the patch have been sent out in response to
comments (i.e., &quot;v1, v2, v3&quot;), or &quot;RFC&quot; to indicate a request for
comments.  If there are four patches in a patch series the individual
patches may be numbered like this: 1/4, 2/4, 3/4, 4/4.  This assures
that developers understand the order in which the patches should be
applied and that they have reviewed or applied all of the patches in
the patch series.

「summary phrase」は「Subject: [PATCH tag] &lt;summary phrase&gt;」のように、
大括弧で閉じられたタグを接頭辞として付加してもかまいません。このタグは
「summary phrase」の一部とは考えませんが、パッチをどのように取り扱うべきかを
表現します。
一般的には「v1, v2, v3」のようなバージョン情報を表すタグ(過去のパッチに対する
コメントを反映するために複数のバージョンのパッチが投稿されているのであれば)、
「RFC」のようなコメントを要求するタグが挙げられます。パッチシリーズとして4つの
パッチがあれば、個々のパッチに「1/4, 2/4, 3/4, 4/4」のように番号を付けても
かまいません。これは開発者がパッチを適用する順番を確実に把握するためです。
そして、開発者がパッチシリーズの中のすべてのパッチをもらさずレビュー或いは
適用するのを保証するためです。

A couple of example Subjects:

サブジェクトの例を二つ

    Subject: [patch 2/5] ext2: improve scalability of bitmap searching
    Subject: [PATCHv2 001/207] x86: fix eflags tracking

The &quot;from&quot; line must be the very first line in the message body,
and has the form:

「 from 」行は電子メールのボディの一番最初の行でなければなりません。
その形式は以下のとおりです。

        From: Original Author &lt;author@example.com&gt;

The &quot;from&quot; line specifies who will be credited as the author of the
patch in the permanent changelog.  If the &quot;from&quot; line is missing,
then the &quot;From:&quot; line from the email header will be used to determine
the patch author in the changelog.

「 from 」行はチェンジログの中で、そのパッチの作成者としてクレジットされ
ている人を特定するものです。「 from 」行がかけていると、電子メールのヘッ
ダーの「 From: 」が、チェンジログの中でパッチの作成者を決定するために使わ
れるでしょう。

The explanation body will be committed to the permanent source
changelog, so should make sense to a competent reader who has long
since forgotten the immediate details of the discussion that might
have led to this patch.  Including symptoms of the failure which the
patch addresses (kernel log messages, oops messages, etc.) is
especially useful for people who might be searching the commit logs
looking for the applicable patch.  If a patch fixes a compile failure,
it may not be necessary to include _all_ of the compile failures; just
enough that it is likely that someone searching for the patch can find
it.  As in the &quot;summary phrase&quot;, it is important to be both succinct as
well as descriptive.

説明本体は無期限のソースのチェンジログにコミットされます。なので、説明
本体はそのパッチに至った議論の詳細を忘れているある程度の技量を持っている人
がその詳細を思い出すことができるものでなければなりません。パッチが対処する
障害の症状(カーネルログメッセージや oops メッセージ等)を記載することは問題に
対処可能なパッチを求めてコミットログを検索する人々にとって特に有用です。
パッチがコンパイル問題を解決するのであれば、そのパッチを探している人が見つける
ことができる情報だけで十分であり、コンパイル時の全てのエラーを含める必要は
ありません。「summary phrase」と同様に、簡潔であり説明的であることが重要です。

The &quot;---&quot; marker line serves the essential purpose of marking for patch
handling tools where the changelog message ends.

「 --- 」マーカー行はパッチ処理ツールに対して、チェンジログメッセージの終端
部分を認識させるという重要な役目を果たします。

One good use for the additional comments after the &quot;---&quot; marker is for
a diffstat, to show what files have changed, and the number of
inserted and deleted lines per file.  A diffstat is especially useful
on bigger patches.  Other comments relevant only to the moment or the
maintainer, not suitable for the permanent changelog, should also go
here.  A good example of such comments might be &quot;patch changelogs&quot;
which describe what has changed between the v1 and v2 version of the
patch.

「 --- 」マーカー行の後の追加コメントの良い使用方法の1つに diffstat コマンド
があります。diffstat コマンドとは何のファイルが変更され、1ファイル当たり何行
追加され何行消されたかを示すものです。diffstat コマンドは特に大きなパッチに
おいて役立ちます。その時点でだけ又はメンテナにとってのみ関係のあるコメント
は無期限に保存されるチェンジログにとって適切ではありません。そのため、この
ようなコメントもマーカー行の後に書かれるべきです。

このようなコメントの良い例として、v1 と v2 のバージョン間で何が変更されたかを
表す「パッチの変更履歴」が挙げられます。

If you are going to include a diffstat after the &quot;---&quot; marker, please
use diffstat options &quot;-p 1 -w 70&quot; so that filenames are listed from
the top of the kernel source tree and don't use too much horizontal
space (easily fit in 80 columns, maybe with some indentation).

「 --- 」マーカー行の後に diffstat コマンドの結果を含めるのであれば、ファイル
名はカーネルソースツリーのトップディレクトリからの表記で列記されるため、横方向
のスペースをとり過ぎないように、diffstat コマンドにオプション「 -p 1 -w 70 」
を指定してください(インデントを含めてちょうど80列に合うでしょう)。

See more details on the proper patch format in the following
references.

適切なパッチのフォーマットの詳細についてはセクション3の参考文献を参照して
ください。

16) Sending &quot;git pull&quot; requests  (from Linus emails)

16) 「git pull」要求の送り方(Linus の電子メールから)

Please write the git repo address and branch name alone on the same line
so that I can't even by mistake pull from the wrong branch, and so
that a triple-click just selects the whole thing.

間違ったブランチから引っ張るのを防ぐために、git リポジトリのアドレスと
ブランチ名を同じ行に1行で記載してください。そうすることで、3回の連続クリック
で全て選択できます。

So the proper format is something along the lines of:

正しい形式は下記の通りです。

       &quot;Please pull from

               git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus

        to get these changes:&quot;


so that I don't have to hunt-and-peck for the address and inevitably
get it wrong (actually, I've only gotten it wrong a few times, and
checking against the diffstat tells me when I get it wrong, but I'm
just a lot more comfortable when I don't have to &quot;look for&quot; the right
thing to pull, and double-check that I have the right branch-name).

その結果、アドレスを自分自身でタイピングして間違えることはなくなります(実際に、
何度か間違ったブランチから引っ張ってきてしまい、その時に diffstat の結果を
検証して間違っていることに気づいたことがあります。どこから何を引っ張るべきかを
「探したり」、正しいブランチ名かどうかを重ねてチェックしたりする必要が
なくなればより快適になるでしょう)。

Please use &quot;git diff -M --stat --summary&quot; to generate the diffstat:
the -M enables rename detection, and the summary enables a summary of
new/deleted or renamed files.

diffstat の結果を生成するために「 git diff -M --stat --summary 」を使って
ください。-M オプションはファイル名の変更を検知でき、--summary オプションは
新規ファイル、削除されたファイル、名前が変更されたファイルの概要を生成します。

With rename detection, the statistics are rather different [...]
because git will notice that a fair number of the changes are renames.

-M オプション(ファイル名の変更検知)を指定すると、diffstat の結果はかなり
異なってきます。git は大規模な変更(追加と削除のペア)をファイル名の変更と
判断するためです。

-----------------------------------
SECTION 2 - HINTS, TIPS, AND TRICKS
-----------------------------------

------------------------------------
セクション2 - ヒントとTIPSと小技
------------------------------------

This section lists many of the common &quot;rules&quot; associated with code
submitted to the kernel.  There are always exceptions... but you must
have a really good reason for doing so.  You could probably call this
section Linus Computer Science 101.

このセクションは Linux カーネルに変更を適用することに関係のある一般的な
「お約束」の多くを載せています。物事には例外というものがあります。しか
し例外を適用するには、本当に妥当な理由が不可欠です。あなたは恐らくこの
セクションを Linus のコンピュータ・サイエンス101と呼ぶでしょう。

1) Read Documentation/CodingStyle

1) Documentation/CodingStyleを参照

Nuff said.  If your code deviates too much from this, it is likely
to be rejected without further review, and without comment.

言うまでもなく、あなたのコードがこのコーディングスタイルからあまりに
も逸脱していると、レビューやコメントなしに受け取ってもらえないかもし
れません。

One significant exception is when moving code from one file to
another -- in this case you should not modify the moved code at all in
the same patch which moves it.  This clearly delineates the act of
moving the code and your changes.  This greatly aids review of the
actual differences and allows tools to better track the history of
the code itself.

特筆すべき例外は、コードをあるファイルから別のファイルに移動
するときです。この場合、コードを移動するパッチでは、移動されるコード
に関して移動以外の変更を一切加えるべきではありません。これにより、
コードの移動とあなたが行ったコードの修正を明確に区別できるようにな
ります。これは実際に何が変更されたかをレビューする際の大きな助けに
なるとともに、ツールにコードの履歴を追跡させることも容易になります。

Check your patches with the patch style checker prior to submission
(scripts/checkpatch.pl).  The style checker should be viewed as
a guide not as the final word.  If your code looks better with
a violation then its probably best left alone.

投稿するより前にパッチのスタイルチェッカー( scripts/checkpatch.pl )で
あなたのパッチをチェックしてください。このスタイルチェッカーは最終結
論としてではなく、指標としてみるべきです。もし、あなたのコードが違反
はしているが修正するより良く見えるのであれば、おそらくそのままにする
のがベストです。

The checker reports at three levels:
 - ERROR: things that are very likely to be wrong
 - WARNING: things requiring careful review
 - CHECK: things requiring thought

スタイルチェッカーによる3段階のレポート:
 - エラー: 間違っている可能性が高い
 - 警告：注意してレビューする必要がある
 - チェック：考慮する必要がある

You should be able to justify all violations that remain in your
patch.

あなたはパッチに残っている全ての違反について、それがなぜ必要なのか正当な
理由を示せるようにしておく必要があります。

2) #ifdefs are ugly

2) #ifdefは見苦しい

Code cluttered with ifdefs is difficult to read and maintain.  Don't do
it.  Instead, put your ifdefs in a header, and conditionally define
'static inline' functions, or macros, which are used in the code.
Let the compiler optimize away the &quot;no-op&quot; case.

ifdef が散乱したコードは、読むのもメンテナンスするのも面倒です。コードの中
で ifdef を使わないでください。代わりに、ヘッダファイルの中に ifdef を入れて、
条件付きで、コードの中で使われる関数を「 static inline 」関数かマクロで定義し
てください。後はコンパイラが、何もしない箇所を最適化して取り去ってくれるで
しょう。

Simple example, of poor code:

まずいコードの簡単な例

	dev = alloc_etherdev (sizeof(struct funky_private));
	if (!dev)
		return -ENODEV;
	#ifdef CONFIG_NET_FUNKINESS
	init_funky_net(dev);
	#endif

Cleaned-up example:

クリーンアップしたコードの例

(in header)
	#ifndef CONFIG_NET_FUNKINESS
	static inline void init_funky_net (struct net_device *d) {}
	#endif

(in the code itself)
	dev = alloc_etherdev (sizeof(struct funky_private));
	if (!dev)
		return -ENODEV;
	init_funky_net(dev);

3) 'static inline' is better than a macro

3) マクロより「 static inline 」を推奨

Static inline functions are greatly preferred over macros.
They provide type safety, have no length limitations, no formatting
limitations, and under gcc they are as cheap as macros.

「 static inline 」関数はマクロよりもずっと推奨されています。それらは、
型安全性があり、長さにも制限が無く、フォーマットの制限もありません。
gcc においては、マクロと同じくらい軽いです。

Macros should only be used for cases where a static inline is clearly
suboptimal [there are a few, isolated cases of this in fast paths],
or where it is impossible to use a static inline function [such as
string-izing].

マクロは「 static inline 」が明らかに不適切であると分かる場所(高速化パスの
いくつかの特定のケース)や「 static inline 」関数を使うことができないような
場所(マクロの引数の文字列連結のような)にだけ使われるべきです。

'static inline' is preferred over 'static __inline__', 'extern inline',
and 'extern __inline__'.

「 static inline 」は「 static __inline__ 」や「 extern inline 」や
「 extern __inline__ 」よりも適切です。

4) Don't over-design.

4) 設計に凝りすぎるな

Don't try to anticipate nebulous future cases which may or may not
be useful:  &quot;Make it as simple as you can, and no simpler.&quot;

それが有用になるかどうか分からないような不明瞭な将来を見越した設計
をしないでください。「できる限り簡単に、そして、それ以上簡単になら
ないような設計をしてください。」

----------------------
SECTION 3 - REFERENCES
----------------------

----------------------
セクション3 参考文献
----------------------

Andrew Morton, &quot;The perfect patch&quot; (tpp).
  &lt;http://userweb.kernel.org/~akpm/stuff/tpp.txt&gt;

Jeff Garzik, &quot;Linux kernel patch submission format&quot;.
  &lt;http://linux.yyz.us/patch-format.html&gt;

Greg Kroah-Hartman, &quot;How to piss off a kernel subsystem maintainer&quot;.
  &lt;http://www.kroah.com/log/2005/03/31/&gt;
  &lt;http://www.kroah.com/log/2005/07/08/&gt;
  &lt;http://www.kroah.com/log/2005/10/19/&gt;
  &lt;http://www.kroah.com/log/2006/01/11/&gt;

NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
  &lt;http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=112112749912944&amp;w=2&gt;

Kernel Documentation/CodingStyle:
  &lt;http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle&gt;

Linus Torvalds's mail on the canonical patch format:
  &lt;http://lkml.org/lkml/2005/4/7/183&gt;

Andi Kleen, &quot;On submitting kernel patches&quot;
  Some strategies to get difficult or controversial changes in.
  http://halobates.de/on-submitting-patches.pdf

--
</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/stable_kernel_rules.txt">
    <title>stable_kernel_rules.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/stable_kernel_rules.txt</link>
    <dc:identifier>stable_kernel_rules.txt</dc:identifier>
    <dc:date>2011-05-11T20:20:49+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(stable_kernel_rules.txt)]]

[[include(Header)]]
[[Embed(stable_kernel_rules.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/stable_kernel_rules.txt/attach/stable_kernel_rules.txt" title="stable_kernel_rules.txt" alt="stable_kernel_rules.txt" id="la-stable_kernel_rules.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">stable_kernel_rules.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-stable_kernel_rules.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/stable_kernel_rules.txt/attach/stable_kernel_rules.txt">stable_kernel_rules.txt</a></span></div><pre>---英語版の 2.6.29-&gt;2.6.38 の差分

--- linux-2.6.29/Documentation/stable_kernel_rules.txt  2009-03-24 08:12:14.000000000 +0900
+++ linux-2.6.38/Documentation/stable_kernel_rules.txt	2011-03-15 10:20:32.000000000 +0900
@@ -18,21 +18,40 @@
  - It cannot contain any &quot;trivial&quot; fixes in it (spelling changes,
    whitespace cleanups, etc).
  - It must follow the Documentation/SubmittingPatches rules.
- - It or an equivalent fix must already exist in Linus' tree.  Quote the
-   respective commit ID in Linus' tree in your patch submission to -stable.
+ - It or an equivalent fix must already exist in Linus' tree (upstream).
 
 
 Procedure for submitting patches to the -stable tree:
 
  - Send the patch, after verifying that it follows the above rules, to
-   stable@kernel.org.
+   stable@kernel.org.  You must note the upstream commit ID in the changelog
+   of your submission.
+ - To have the patch automatically included in the stable tree, add the tag
+     Cc: stable@kernel.org
+   in the sign-off area. Once the patch is merged it will be applied to
+   the stable tree without anything else needing to be done by the author
+   or subsystem maintainer.
+ - If the patch requires other patches as prerequisites which can be
+   cherry-picked than this can be specified in the following format in
+   the sign-off area:
+
+     Cc: &lt;stable@kernel.org&gt; # .32.x: a1f84a3: sched: Check for idle
+     Cc: &lt;stable@kernel.org&gt; # .32.x: 1b9508f: sched: Rate-limit newidle
+     Cc: &lt;stable@kernel.org&gt; # .32.x: fd21073: sched: Fix affinity logic
+     Cc: &lt;stable@kernel.org&gt; # .32.x
+    Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
+
+   The tag sequence has the meaning of:
+     git cherry-pick a1f84a3
+     git cherry-pick 1b9508f
+     git cherry-pick fd21073
+     git cherry-pick &lt;this commit&gt;
+
  - The sender will receive an ACK when the patch has been accepted into the
    queue, or a NAK if the patch is rejected.  This response might take a few
    days, according to the developer's schedules.
  - If accepted, the patch will be added to the -stable queue, for review by
    other developers and by the relevant subsystem maintainer.
- - If the stable@kernel.org address is added to a patch, when it goes into
-   Linus's tree it will automatically be emailed to the stable team.
  - Security patches should not be sent to this alias, but instead to the
    documented security@kernel.org address.
 

---対応する日本語訳の差分

--- stable_kernel_rulesorg.txt	2011-05-11 11:51:28.333935515 +0900
+++ stable_kernel_rules-JF.txt	2011-05-11 11:50:35.077935507 +0900
@@ -1,22 +1,10 @@
 ==================================
 これは、
-linux-2.6.29/Documentation/stable_kernel_rules.txt
+linux-2.6.38/Documentation/stable_kernel_rules.txt
 の和訳です。
 
 翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
-翻訳日： 2009/1/14
+翻訳日： 2011/5/9
 翻訳者： Tsugikazu Shibata &lt;tshibata at ab dot jp dot nec dot com&gt;
 校正者： 武井伸光さん、&lt;takei at webmasters dot gr dot jp&gt;
          かねこさん (Seiji Kaneko) &lt;skaneko at a2 dot mbn dot or dot jp&gt;
@@ -44,21 +32,39 @@
  - いかなる些細な修正も含めることはできない。(スペルの修正、空白のクリー
    ンアップなど)
  - Documentation/SubmittingPatches の規則に従ったものでなければならない。
- - パッチ自体か同等の修正が Linus のツリーに既に存在しなければならない。
-　 Linus のツリーでのコミットID を -stable へのパッチ投稿の際に引用す
-   ること。
+ - パッチ自体もしくは同様な修正はあらかじめ Linusのツリー( upstream )
+   に存在しなければならない
 
 -stable ツリーにパッチを送付する手続き-
 
  - 上記の規則に従っているかを確認した後に、stable@kernel.org にパッチ
-   を送る。
+   を送る。あなたは自身の投稿の changelog に upstream のコミットID を
+   付加しなければならない
+ - 自動的にそのパッチが stableツリーに含められるようにするには、
+     Cc: stable@kernel.org
+   のタグをサインオフ領域に追加すること。一度パッチがマージされれば、
+   それは作者やサブシステムメンテナーが何もする必要なしにステーブルツ
+   リーに適用される
+ - もしパッチが他のパッチを必要条件として個別に要求する場合には、サイ
+   ンオフエリアに次のような形式で指定することで選択することができる
+
+    Cc: &lt;stable@kernel.org&gt; # .32.x: a1f84a3: sched: Check for idle
+    Cc: &lt;stable@kernel.org&gt; # .32.x: 1b9508f: sched: Rate-limit newidle
+    Cc: &lt;stable@kernel.org&gt; # .32.x: fd21073: sched: Fix affinity logic
+    Cc: &lt;stable@kernel.org&gt; # .32.x
+    Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
+
+   タグの順番の意味は以下：
+    git cherry-pick a1f84a3
+    git cherry-pick 1b9508f
+    git cherry-pick fd21073
+    git cherry-pick &lt;このコミット&gt;
+
  - 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合
    には NAK を受け取る。この反応は開発者たちのスケジュールによって、数
    日かかる場合がある。
  - もし受け取られたら、パッチは他の開発者たちと関連するサブシステムの
    メンテナーによるレビューのために -stable キューに追加される。
- - パッチに stable@kernel.org のアドレスが付加されているときには、それ
-   が Linus のツリーに入る時に自動的に stable チームに email される。
  - セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ
    きではなく、代わりに security@kernel.org のアドレスに送られる。
 

--リリースしたい2.6.38 対応のフルテキスト

==================================
これは、
linux-2.6.38/Documentation/stable_kernel_rules.txt
の和訳です。

翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
翻訳日： 2011/5/9
翻訳者： Tsugikazu Shibata &lt;tshibata at ab dot jp dot nec dot com&gt;
校正者： 武井伸光さん、&lt;takei at webmasters dot gr dot jp&gt;
         かねこさん (Seiji Kaneko) &lt;skaneko at a2 dot mbn dot or dot jp&gt;
         小林 雅典さん (Masanori Kobayasi) &lt;zap03216 at nifty dot ne dot jp&gt;
         野口さん (Kenji Noguchi) &lt;tokyo246 at gmail dot com&gt;
         神宮信太郎さん &lt;jin at libjingu dot jp&gt;
==================================

ずっと知りたかった Linux 2.6 -stable リリースの全て

&quot;-stable&quot; ツリーにどのような種類のパッチが受け入れられるか、どのような
ものが受け入れられないか、についての規則-

 - 明らかに正しく、テストされているものでなければならない。
 - 文脈(変更行の前後)を含めて 100 行より大きくてはいけない。
 - ただ一個のことだけを修正しているべき。
 - 皆を悩ませている本物のバグを修正しなければならない。(&quot;これはバグで
   あるかもしれないが...&quot; のようなものではない)
 - ビルドエラー(CONFIG_BROKENになっているものを除く), oops, ハング、デー
   タ破壊、現実のセキュリティ問題、その他 &quot;ああ、これはダメだね&quot;という
   ようなものを修正しなければならない。短く言えば、重大な問題。
 - 新しい device ID とクオークも受け入れられる。
 - どのように競合状態が発生するかの説明も一緒に書かれていない限り、
   &quot;理論的には競合状態になる&quot;ようなものは不可。
 - いかなる些細な修正も含めることはできない。(スペルの修正、空白のクリー
   ンアップなど)
 - Documentation/SubmittingPatches の規則に従ったものでなければならない。
 - パッチ自体もしくは同様な修正はあらかじめ Linusのツリー( upstream )
   に存在しなければならない

-stable ツリーにパッチを送付する手続き-

 - 上記の規則に従っているかを確認した後に、stable@kernel.org にパッチ
   を送る。あなたは自身の投稿の changelog に upstream のコミットID を
   付加しなければならない
 - 自動的にそのパッチが stableツリーに含められるようにするには、
     Cc: stable@kernel.org
   のタグをサインオフ領域に追加すること。一度パッチがマージされれば、
   それは作者やサブシステムメンテナーが何もする必要なしにステーブルツ
   リーに適用される
 - もしパッチが他のパッチを必要条件として個別に要求する場合には、サイ
   ンオフエリアに次のような形式で指定することで選択することができる

    Cc: &lt;stable@kernel.org&gt; # .32.x: a1f84a3: sched: Check for idle
    Cc: &lt;stable@kernel.org&gt; # .32.x: 1b9508f: sched: Rate-limit newidle
    Cc: &lt;stable@kernel.org&gt; # .32.x: fd21073: sched: Fix affinity logic
    Cc: &lt;stable@kernel.org&gt; # .32.x
    Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;

   タグの順番の意味は以下：
    git cherry-pick a1f84a3
    git cherry-pick 1b9508f
    git cherry-pick fd21073
    git cherry-pick &lt;このコミット&gt;

 - 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合
   には NAK を受け取る。この反応は開発者たちのスケジュールによって、数
   日かかる場合がある。
 - もし受け取られたら、パッチは他の開発者たちと関連するサブシステムの
   メンテナーによるレビューのために -stable キューに追加される。
 - セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ
   きではなく、代わりに security@kernel.org のアドレスに送られる。

レビューサイクル-

 - -stable メンテナがレビューサイクルを決めるとき、パッチはレビュー委
   員会とパッチが影響する領域のメンテナ(提供者がその領域のメンテナで無
   い限り)に送られ、linux-kernel メーリングリストにCCされる。
 - レビュー委員会は 48時間の間に ACK か NAK を出す。
 - もしパッチが委員会のメンバから却下されるか、メンテナ達やメンバが気付
   かなかった問題が持ちあがり、linux-kernel メンバがパッチに異議を唱え
   た場合には、パッチはキューから削除される。
 - レビューサイクルの最後に、ACK を受けたパッチは最新の -stable リリー
   スに追加され、その後に新しい -stable リリースが行われる。
 - セキュリティパッチは、通常のレビューサイクルを通らず、セキュリティ
   カーネルチームから直接 -stable ツリーに受け付けられる。
   この手続きの詳細については kernel security チームに問い合わせること。

レビュー委員会-

 - この委員会は、このタスクについて活動する多くのボランティアと、少数の
   非ボランティアのカーネル開発者達で構成されている。
</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/HOWTO">
    <title>HOWTO</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/HOWTO</link>
    <dc:identifier>HOWTO</dc:identifier>
    <dc:date>2011-03-22T22:26:56+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(HOWTO.txt)]]

[[include(Header)]]
[[Embed(HOWTO.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くなった]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/HOWTO/attach/HOWTO.txt" title="HOWTO.txt" alt="HOWTO.txt" id="la-HOWTO.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">HOWTO.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-HOWTO.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/HOWTO/attach/HOWTO.txt">HOWTO.txt</a></span></div><pre>---英語版の 2.6.28-&gt;2.6.38 の差分

--- linux-2.6.28/Documentation/HOWTO	2008-12-25 08:26:37.000000000 +0900
+++ linux-2.6.38/Documentation/HOWTO	2011-03-15 10:20:32.000000000 +0900
@@ -187,7 +187,7 @@
 If you do not know where you want to start, but you want to look for
 some task to start doing to join into the kernel development community,
 go to the Linux Kernel Janitor's project:
-	http://janitor.kernelnewbies.org/
+	http://kernelnewbies.org/KernelJanitors	
 It is a great place to start.  It describes a list of relatively simple
 problems that need to be cleaned up and fixed within the Linux kernel
 source tree.  Working with the developers in charge of this project, you
@@ -221,8 +221,8 @@
   - main 2.6.x kernel tree
   - 2.6.x.y -stable kernel tree
   - 2.6.x -git kernel patches
-  - 2.6.x -mm kernel patches
   - subsystem specific kernel trees and patches
+  - the 2.6.x -next kernel tree for integration tests
 
 2.6.x kernel tree
 -----------------
@@ -232,9 +232,9 @@
   - As soon as a new kernel is released a two weeks window is open,
     during this period of time maintainers can submit big diffs to
     Linus, usually the patches that have already been included in the
-    -mm kernel for a few weeks.  The preferred way to submit big changes
+    -next kernel for a few weeks.  The preferred way to submit big changes
     is using git (the kernel's source management tool, more information
-    can be found at http://git.or.cz/) but plain patches are also just
+    can be found at http://git-scm.com/) but plain patches are also just
     fine.
   - After two weeks a -rc1 kernel is released it is now possible to push
     only patches that do not include new features that could affect the
@@ -293,84 +293,43 @@
 experimental than -rc kernels since they are generated automatically
 without even a cursory glance to see if they are sane.
 
-2.6.x -mm kernel patches
-------------------------
-These are experimental kernel patches released by Andrew Morton.  Andrew
-takes all of the different subsystem kernel trees and patches and mushes
-them together, along with a lot of patches that have been plucked from
-the linux-kernel mailing list.  This tree serves as a proving ground for
-new features and patches.  Once a patch has proved its worth in -mm for
-a while Andrew or the subsystem maintainer pushes it on to Linus for
-inclusion in mainline.
-
-It is heavily encouraged that all new patches get tested in the -mm tree
-before they are sent to Linus for inclusion in the main kernel tree.  Code
-which does not make an appearance in -mm before the opening of the merge
-window will prove hard to merge into the mainline.
-
-These kernels are not appropriate for use on systems that are supposed
-to be stable and they are more risky to run than any of the other
-branches.
-
-If you wish to help out with the kernel development process, please test
-and use these kernel releases and provide feedback to the linux-kernel
-mailing list if you have any problems, and if everything works properly.
-
-In addition to all the other experimental patches, these kernels usually
-also contain any changes in the mainline -git kernels available at the
-time of release.
-
-The -mm kernels are not released on a fixed schedule, but usually a few
--mm kernels are released in between each -rc kernel (1 to 3 is common).
-
 Subsystem Specific kernel trees and patches
 -------------------------------------------
-A number of the different kernel subsystem developers expose their
-development trees so that others can see what is happening in the
-different areas of the kernel.  These trees are pulled into the -mm
-kernel releases as described above.
-
-Here is a list of some of the different kernel trees available:
-  git trees:
-    - Kbuild development tree, Sam Ravnborg &lt;sam@ravnborg.org&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
-
-    - ACPI development tree, Len Brown &lt;len.brown@intel.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
-
-    - Block development tree, Jens Axboe &lt;jens.axboe@oracle.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
-
-    - DRM development tree, Dave Airlie &lt;airlied@linux.ie&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
-
-    - ia64 development tree, Tony Luck &lt;tony.luck@intel.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
-
-    - infiniband, Roland Dreier &lt;rolandd@cisco.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
-
-    - libata, Jeff Garzik &lt;jgarzik@pobox.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
-
-    - network drivers, Jeff Garzik &lt;jgarzik@pobox.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
-
-    - pcmcia, Dominik Brodowski &lt;linux@dominikbrodowski.net&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
-
-    - SCSI, James Bottomley &lt;James.Bottomley@hansenpartnership.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
-
-    - x86, Ingo Molnar &lt;mingo@elte.hu&gt;
-	git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
-
-  quilt trees:
-    - USB, Driver Core, and I2C, Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
-	kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
+The maintainers of the various kernel subsystems --- and also many
+kernel subsystem developers --- expose their current state of
+development in source repositories.  That way, others can see what is
+happening in the different areas of the kernel.  In areas where
+development is rapid, a developer may be asked to base his submissions
+onto such a subsystem kernel tree so that conflicts between the
+submission and other already ongoing work are avoided.
+
+Most of these repositories are git trees, but there are also other SCMs
+in use, or patch queues being published as quilt series.  Addresses of
+these subsystem repositories are listed in the MAINTAINERS file.  Many
+of them can be browsed at http://git.kernel.org/.
+
+Before a proposed patch is committed to such a subsystem tree, it is
+subject to review which primarily happens on mailing lists (see the
+respective section below).  For several kernel subsystems, this review
+process is tracked with the tool patchwork.  Patchwork offers a web
+interface which shows patch postings, any comments on a patch or
+revisions to it, and maintainers can mark patches as under review,
+accepted, or rejected.  Most of these patchwork sites are listed at
+http://patchwork.kernel.org/.
+
+2.6.x -next kernel tree for integration tests
+---------------------------------------------
+Before updates from subsystem trees are merged into the mainline 2.6.x
+tree, they need to be integration-tested.  For this purpose, a special
+testing repository exists into which virtually all subsystem trees are
+pulled on an almost daily basis:
+	http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
+	http://linux.f-seidel.de/linux-next/pmwiki/
+
+This way, the -next kernel gives a summary outlook onto what will be
+expected to go into the mainline kernel at the next merge period.
+Adventurous testers are very welcome to runtime-test the -next kernel.
 
-  Other kernel trees can be found listed at http://git.kernel.org/ and in
-  the MAINTAINERS file.
 
 Bug Reporting
 -------------
@@ -636,7 +595,7 @@
 
 ----------
 Thanks to Paolo Ciarrocchi who allowed the &quot;Development Process&quot;
-(http://linux.tar.bz/articles/2.6-development_process) section
+(http://lwn.net/Articles/94386/) section
 to be based on text he had written, and to Randy Dunlap and Gerrit
 Huizenga for some of the list of things you should and should not say.
 Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
---

対応する日本語訳の差分

---
--- 2628org.txt	2011-03-20 07:50:52.506198002 +0900
+++ 2638-rc1.txt	2011-03-20 07:51:08.154198001 +0900
@@ -1,10 +1,10 @@
 ==================================
 これは、
-linux-2.6.28/Documentation/HOWTO
+linux-2.6.38/Documentation/HOWTO
 の和訳です。
 
 翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
-翻訳日： 2008/10/24
+翻訳日： 2011/3/20
 翻訳者： Tsugikazu Shibata &lt;tshibata at ab dot jp dot nec dot com&gt;
 校正者： 松倉さん &lt;nbh--mats at nifty dot com&gt;
          小林 雅典さん (Masanori Kobayasi) &lt;zap03216 at nifty dot ne dot jp&gt;
@@ -209,7 +209,7 @@
 あなたがどこからスタートして良いかわからないが、Linux カーネル開発コミュ
 ニティに参加して何かすることをさがしている場合には、Linux kernel
 Janitor's プロジェクトにいけば良いでしょう -
-	http://janitor.kernelnewbies.org/
+	http://kernelnewbies.org/KernelJanitors
 ここはそのようなスタートをするのにうってつけの場所です。ここには、
 Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな
 らない、単純な問題のリストが記述されています。このプロジェクトに関わる
@@ -242,8 +242,8 @@
   - メインの 2.6.x カーネルツリー
   - 2.6.x.y -stable カーネルツリー
   - 2.6.x -git カーネルパッチ
-  - 2.6.x -mm カーネルパッチ
   - サブシステム毎のカーネルツリーとパッチ
+  - 統合テストのための 2.6.x -next カーネルツリー
 
 2.6.x カーネルツリー
 -----------------
@@ -254,9 +254,9 @@
 
   - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
     この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
-    このような差分は通常 -mm カーネルに数週間含まれてきたパッチです。
+    このような差分は通常 -next カーネルに数週間含まれてきたパッチです。
     大きな変更は git(カーネルのソース管理ツール、詳細は
-    http://git.or.cz/  参照) を使って送るのが好ましいやり方ですが、パッ
+    http://git-scm.com/  参照) を使って送るのが好ましいやり方ですが、パッ
     チファイルの形式のまま送るのでも十分です。
 
   - 2週間後、-rc1 カーネルがリリースされ、この後にはカーネル全体の安定
@@ -319,86 +319,44 @@
 れは -rc カーネルと比べて、パッチが大丈夫かどうかも確認しないで自動的
 に生成されるので、より実験的です。
 
-2.6.x -mm カーネルパッチ
-------------------------
-
-Andrew Morton によってリリースされる実験的なカーネルパッチ群です。
-Andrew は個別のサブシステムカーネルツリーとパッチを全て集めてきて
-linux-kernel メーリングリストで収集された多数のパッチと同時に一つにま
-とめます。
-このツリーは新機能とパッチが検証される場となります。ある期間の間パッチ
-が -mm に入って価値を証明されたら、Andrew やサブシステムメンテナが、
-メインラインへ入れるように Linus にプッシュします。
-
-メインカーネルツリーに含めるために Linus に送る前に、すべての新しいパッ
-チが -mm ツリーでテストされることが強く推奨されています。マージウィン
-ドウが開く前に -mm ツリーに現れなかったパッチはメインラインにマージさ
-れることは困難になります。
-
-これらのカーネルは安定して動作すべきシステムとして使うのには適切ではあ
-りませんし、カーネルブランチの中でももっとも動作にリスクが高いものです。
-
-もしあなたが、カーネル開発プロセスの支援をしたいと思っているのであれば、
-どうぞこれらのカーネルリリースをテストに使ってみて、そしてもし問題があ
-れば、またもし全てが正しく動作したとしても、linux-kernel メーリングリ
-ストにフィードバックを提供してください。
-
-すべての他の実験的パッチに加えて、これらのカーネルは通常リリース時点で
-メインラインの -git カーネルに含まれる全ての変更も含んでいます。
-
--mm カーネルは決まったスケジュールではリリースされません、しかし通常幾
-つかの -mm カーネル (1 から 3 が普通）が各-rc カーネルの間にリリースさ
-れます。
-
 サブシステム毎のカーネルツリーとパッチ
 -------------------------------------------
 
-カーネルの様々な領域で何が起きているかを見られるようにするため、多くの
-カーネルサブシステム開発者は彼らの開発ツリーを公開しています。これらの
-ツリーは説明したように -mm カーネルリリースに入れ込まれます。
-
-以下はさまざまなカーネルツリーの中のいくつかのリスト-
-
-  git ツリー-
-    - Kbuild の開発ツリー、Sam Ravnborg &lt;sam@ravnborg.org&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
-
-    - ACPI の開発ツリー、 Len Brown &lt;len.brown@intel.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
-
-    - Block の開発ツリー、Jens Axboe &lt;axboe@suse.de&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
-
-    - DRM の開発ツリー、Dave Airlie &lt;airlied@linux.ie&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
-
-    - ia64 の開発ツリー、Tony Luck &lt;tony.luck@intel.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
-
-    - infiniband, Roland Dreier &lt;rolandd@cisco.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
-
-    - libata, Jeff Garzik &lt;jgarzik@pobox.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
-
-    - ネットワークドライバ, Jeff Garzik &lt;jgarzik@pobox.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
-
-    - pcmcia, Dominik Brodowski &lt;linux@dominikbrodowski.net&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
-
-    - SCSI, James Bottomley &lt;James.Bottomley@hansenpartnership.com&gt;
-	git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
-
-    - x86, Ingo Molnar &lt;mingo@elte.hu&gt;
-	git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
-
-  quilt ツリー-
-    - USB, ドライバコアと I2C, Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
-	kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
+それぞれのカーネルサブシステムのメンテナ達は --- そして多くのカーネル
+サブシステムの開発者達も --- 各自の最新の開発状況をソースリポジトリに
+公開しています。そのため、自分とは異なる領域のカーネルで何が起きている
+かを他の人が見られるようになっています。開発が早く進んでいる領域では、
+開発者は自身の投稿がどのサブシステムカーネルツリーを元にしているか質問
+されるので、その投稿とすでに進行中の他の作業との衝突が避けられます。
+
+大部分のこれらのリポジトリは git ツリーです。しかしその他の SCM や
+quilt シリーズとして公開されているパッチキューも使われています。これら
+のサブシステムリポジトリのアドレスは MAINTAINERS ファイルにリストされ
+ています。これらの多くは http://git.kernel.org/ で参照することができま
+す。
 
-  その他のカーネルツリーは http://git.kernel.org/ と MAINTAINERS ファ
-  イルに一覧表があります。
+提案されたパッチがこのようなサブシステムツリーにコミットされる前に、メー
+リングリストで事前にレビューにかけられます（以下の対応するセクションを
+参照）。いくつかのカーネルサブシステムでは、このレビューは patchwork
+というツールによって追跡されます。Patchwork は web インターフェイスに
+よってパッチ投稿の表示、パッチへのコメント付けや改訂などができ、そして
+メンテナはパッチに対して、レビュー中、受付済み、拒否というようなマーク
+をつけることができます。大部分のこれらの patchwork のサイトは
+http://patchwork.kernel.org/ でリストされています。
+
+統合テストのための 2.6.x -next カーネルツリー
+---------------------------------------------
+
+サブシステムツリーの更新内容がメインラインの 2.6.x ツリーにマージされ
+る前に、それらは統合テストされる必要があります。この目的のため、実質的
+に全サブシステムツリーからほぼ毎日プルされてできる特別なテスト用のリ
+ポジトリが存在します-
+       http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
+       http://linux.f-seidel.de/linux-next/pmwiki/
+
+このやり方によって、-next カーネルは次のマージ機会でどんなものがメイン
+ラインカーネルにマージされるか、おおまかなの展望を提供します。-next 
+カーネルの実行テストを行う冒険好きなテスターは大いに歓迎されます
 
 バグレポート
 -------------
@@ -659,10 +617,9 @@
 じところからスタートしたのですから。
 
 Paolo Ciarrocchi に感謝、彼は彼の書いた &quot;Development Process&quot;
-(http://linux.tar.bz/articles/2.6-development_process)セクショ
-ンをこのテキストの原型にすることを許可してくれました。
-Rundy Dunlap と Gerrit Huizenga はメーリングリストでやるべきこととやっ
-てはいけないことのリストを提供してくれました。
+(http://lwn.net/Articles/94386/) セクションをこのテキストの原型にする
+ことを許可してくれました。Rundy Dunlap と Gerrit Huizenga はメーリング
+リストでやるべきこととやってはいけないことのリストを提供してくれました。
 以下の人々のレビュー、コメント、貢献に感謝。
 Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
 Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi
---

リリースしたい2.6.38 対応のフルテキスト

---
==================================
これは、
linux-2.6.38/Documentation/HOWTO
の和訳です。

翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
翻訳日： 2011/3/20
翻訳者： Tsugikazu Shibata &lt;tshibata at ab dot jp dot nec dot com&gt;
校正者： 松倉さん &lt;nbh--mats at nifty dot com&gt;
         小林 雅典さん (Masanori Kobayasi) &lt;zap03216 at nifty dot ne dot jp&gt;
         武井伸光さん、&lt;takei at webmasters dot gr dot jp&gt;
         かねこさん (Seiji Kaneko) &lt;skaneko at a2 dot mbn dot or dot jp&gt;
         野口さん (Kenji Noguchi) &lt;tokyo246 at gmail dot com&gt;
         河内さん (Takayoshi Kochi) &lt;t-kochi at bq dot jp dot nec dot com&gt;
         岩本さん (iwamoto) &lt;iwamoto.kn at ncos dot nec dot co dot jp&gt;
         内田さん (Satoshi Uchida) &lt;s-uchida at ap dot jp dot nec dot com&gt;
==================================

Linux カーネル開発のやり方
-------------------------------

これは上のトピック( Linux カーネル開発のやり方)の重要な事柄を網羅した
ドキュメントです。ここには Linux カーネル開発者になるための方法と
Linux カーネル開発コミュニティと共に活動するやり方を学ぶ方法が含まれて
います。カーネルプログラミングに関する技術的な項目に関することは何も含
めないようにしていますが、カーネル開発者となるための正しい方向に向かう
手助けになります。

もし、このドキュメントのどこかが古くなっていた場合には、このドキュメン
トの最後にリストしたメンテナにパッチを送ってください。

はじめに
---------

あなたは　Linux カーネルの開発者になる方法を学びたいのでしょうか？　そ
れともあなたは上司から「このデバイスの Linux ドライバを書くように」と
言われているのでしょうか？　
この文書の目的は、あなたが踏むべき手順と、コミュニティと一緒にうまく働
くヒントを書き下すことで、あなたが知るべき全てのことを教えることです。
また、このコミュニティがなぜ今うまくまわっているのかという理由の一部も
説明しようと試みています。


カーネルは 少量のアーキテクチャ依存部分がアセンブリ言語で書かれている
以外は大部分は C 言語で書かれています。C言語をよく理解していることはカー
ネル開発者には必要です。アーキテクチャ向けの低レベル部分の開発をするの
でなければ、(どんなアーキテクチャでも)アセンブリ(訳注: 言語)は必要あり
ません。以下の本は、C 言語の十分な知識や何年もの経験に取って代わるもの
ではありませんが、少なくともリファレンスとしては良い本です。
 - &quot;The C Programming Language&quot; by Kernighan and Ritchie [Prentice Hall]
 -『プログラミング言語Ｃ第2版』(B.W. カーニハン/D.M. リッチー著 石田晴久訳) [共立出版]
 - &quot;Practical C Programming&quot; by Steve Oualline [O'Reilly]
 - 『C実践プログラミング第3版』(Steve Oualline著 望月康司監訳 谷口功訳) [オライリージャパン]
 - &quot;C:  A Reference Manual&quot; by Harbison and Steele [Prentice Hall]
 - 『新・詳説 C 言語 H&amp;S リファレンス』
       (サミュエル P ハービソン/ガイ L スティール共著 斉藤 信男監訳)[ソフトバンク]

カーネルは GNU C と GNU ツールチェインを使って書かれています。カーネル
は ISO C89 仕様に準拠して書く一方で、標準には無い言語拡張を多く使って
います。カーネルは標準 C ライブラリとは関係がないといった、C 言語フリー
スタンディング環境です。そのため、C の標準で使えないものもあります。任
意の long long の除算や浮動小数点は使えません。
ときどき、カーネルがツールチェインや C 言語拡張に置いている前提がどう
なっているのかわかりにくいことがあり、また、残念なことに決定的なリファ
レンスは存在しません。情報を得るには、gcc の info ページ( info gcc )を
見てください。

あなたは既存の開発コミュニティと一緒に作業する方法を学ぼうとしているこ
とに留意してください。そのコミュニティは、コーディング、スタイル、
開発手順について高度な標準を持つ、多様な人の集まりです。
地理的に分散した大規模なチームに対してもっともうまくいくとわかったこと
をベースにしながら、これらの標準は長い時間をかけて築かれてきました。
これらはきちんと文書化されていますから、事前にこれらの標準についてでき
るだけたくさん学んでください。また皆があなたやあなたの会社のやり方に合わ
せてくれると思わないでください。

法的問題
------------

Linux カーネルのソースコードは GPL ライセンスの下でリリースされていま
す。ライセンスの詳細については、ソースツリーのメインディレクトリに存在
する、COPYING のファイルを見てください。もしライセンスについてさらに質
問があれば、Linux Kernel メーリングリストに質問するのではなく、どうぞ
法律家に相談してください。メーリングリストの人達は法律家ではなく、法的
問題については彼らの声明はあてにするべきではありません。

GPL に関する共通の質問や回答については、以下を参照してください。
	http://www.gnu.org/licenses/gpl-faq.html

ドキュメント
------------

Linux カーネルソースツリーは幅広い範囲のドキュメントを含んでおり、それ
らはカーネルコミュニティと会話する方法を学ぶのに非常に貴重なものです。
新しい機能がカーネルに追加される場合、その機能の使い方について説明した
新しいドキュメントファイルも追加することを勧めます。
カーネルの変更が、カーネルがユーザ空間に公開しているインターフェイスの
変更を引き起こす場合、その変更を説明するマニュアルページのパッチや情報
をマニュアルページのメンテナ mtk.manpages@gmail.com に送り、CC を
linux-api@ver.kernel.org に送ることを勧めます。

以下はカーネルソースツリーに含まれている読んでおくべきファイルの一覧で
す-

  README
    このファイルは Linuxカーネルの簡単な背景とカーネルを設定(訳注
    configure )し、生成(訳注 build )するために必要なことは何かが書かれ
    ています。カーネルに関して初めての人はここからスタートすると良いで
    しょう。

  Documentation/Changes
     このファイルはカーネルをうまく生成(訳注 build )し、走らせるのに最
     小限のレベルで必要な数々のソフトウェアパッケージの一覧を示してい
     ます。

  Documentation/CodingStyle
    これは Linux カーネルのコーディングスタイルと背景にある理由を記述
    しています。全ての新しいコードはこのドキュメントにあるガイドライン
    に従っていることを期待されています。大部分のメンテナはこれらのルー
    ルに従っているものだけを受け付け、多くの人は正しいスタイルのコード
    だけをレビューします。

  Documentation/SubmittingPatches
  Documentation/SubmittingDrivers
     これらのファイルには、どうやってうまくパッチを作って投稿するかに
     ついて非常に詳しく書かれており、以下を含みます(これだけに限らない
     けれども)
        - Email に含むこと
        - Email の形式
        - だれに送るか
     これらのルールに従えばうまくいくことを保証することではありません
     が (すべてのパッチは内容とスタイルについて精査を受けるので)、
     ルールに従わなければ間違いなくうまくいかないでしょう。

     この他にパッチを作る方法についてのよくできた記述は-

	&quot;The Perfect Patch&quot;
		http://userweb.kernel.org/~akpm/stuff/tpp.txt
	&quot;Linux kernel patch submission format&quot;
		http://linux.yyz.us/patch-format.html

  Documentation/stable_api_nonsense.txt
     このファイルはカーネルの中に不変のAPIを持たないことにした意識的な
     決断の背景にある理由について書かれています。以下のようなことを含
     んでいます-
       - サブシステムとの間に層を作ること(コンパチビリティのため?)
       - オペレーティングシステム間のドライバの移植性
       - カーネルソースツリーの素早い変更を遅らせる(もしくは素早い変更
         を妨げる)
     このドキュメントは Linux 開発の思想を理解するのに非常に重要です。
     そして、他のOSでの開発者が Linux に移る時にとても重要です。

  Documentation/SecurityBugs
    もし Linux カーネルでセキュリティ問題を発見したように思ったら、こ
    のドキュメントのステップに従ってカーネル開発者に連絡し、問題解決を
    支援してください。

  Documentation/ManagementStyle
    このドキュメントは Linux カーネルのメンテナ達がどう行動するか、
    彼らの手法の背景にある共有されている精神について記述しています。こ
    れはカーネル開発の初心者なら（もしくは、単に興味があるだけの人でも）
    重要です。なぜならこのドキュメントは、カーネルメンテナ達の独特な
    行動についての多くの誤解や混乱を解消するからです。

  Documentation/stable_kernel_rules.txt
    このファイルはどのように stable カーネルのリリースが行われるかのルー
    ルが記述されています。そしてこれらのリリースの中のどこかで変更を取
    り入れてもらいたい場合に何をすれば良いかが示されています。

  Documentation/kernel-docs.txt
　　カーネル開発に付随する外部ドキュメントのリストです。もしあなたが
    探しているものがカーネル内のドキュメントでみつからなかった場合、
    このリストをあたってみてください。

  Documentation/applying-patches.txt
    パッチとはなにか、パッチをどうやって様々なカーネルの開発ブランチに
    適用するのかについて正確に記述した良い入門書です。

カーネルはソースコードから自動的に生成可能な多数のドキュメントを自分自
身でもっています。これにはカーネル内 API のすべての記述や、どう正しく
ロックをかけるかの規則が含まれます。このドキュメントは
Documentation/DocBook/ ディレクトリに作られ、以下のように
	make pdfdocs
	make psdocs
	make htmldocs
	make mandocs
コマンドを実行するとメインカーネルのソースディレクトリから
それぞれ、PDF, Postscript, HTML, man page の形式で生成されます。

カーネル開発者になるには
---------------------------

もしあなたが、Linux カーネル開発について何も知らないならば、
KernelNewbies プロジェクトを見るべきです
	http://kernelnewbies.org

このサイトには役に立つメーリングリストがあり、基本的なカーネル開発に関
するほとんどどんな種類の質問もできます (既に回答されているようなことを
聞く前にまずはアーカイブを調べてください)。
またここには、リアルタイムで質問を聞くことができる IRC チャネルや、Linux
カーネルの開発に関して学ぶのに便利なたくさんの役に立つドキュメントがあ
ります。

web サイトには、コードの構成、サブシステム、現在存在するプロジェクト(ツ
リーにあるもの無いものの両方)の基本的な管理情報があります。
ここには、また、カーネルのコンパイルのやり方やパッチの当て方などの間接
的な基本情報も記述されています。

あなたがどこからスタートして良いかわからないが、Linux カーネル開発コミュ
ニティに参加して何かすることをさがしている場合には、Linux kernel
Janitor's プロジェクトにいけば良いでしょう -
	http://kernelnewbies.org/KernelJanitors
ここはそのようなスタートをするのにうってつけの場所です。ここには、
Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな
らない、単純な問題のリストが記述されています。このプロジェクトに関わる
開発者と一緒に作業することで、あなたのパッチを Linuxカーネルツリーに入
れるための基礎を学ぶことができ、そしてもしあなたがまだアイディアを持っ
ていない場合には、次にやる仕事の方向性が見えてくるかもしれません。

もしあなたが、すでにひとまとまりコードを書いていて、カーネルツリーに入
れたいと思っていたり、それに関する適切な支援を求めたい場合、カーネル
メンターズプロジェクトはそのような皆さんを助けるためにできました。
ここにはメーリングリストがあり、以下から参照できます
	http://selenic.com/mailman/listinfo/kernel-mentors

実際に Linux カーネルのコードについて修正を加える前に、どうやってその
コードが動作するのかを理解することが必要です。そのためには、特別なツー
ルの助けを借りてでも、それを直接よく読むことが最良の方法です(ほとんど
のトリッキーな部分は十分にコメントしてありますから)。そういうツールで
特におすすめなのは、Linux クロスリファレンスプロジェクトです。これは、
自己参照方式で、索引がついた web 形式で、ソースコードを参照することが
できます。この最新の素晴しいカーネルコードのリポジトリは以下で見つかり
ます-
	http://sosdg.org/~qiyong/lxr/

開発プロセス
-----------------------

Linux カーネルの開発プロセスは現在幾つかの異なるメインカーネル「ブラン
チ」と多数のサブシステム毎のカーネルブランチから構成されます。
これらのブランチとは-
  - メインの 2.6.x カーネルツリー
  - 2.6.x.y -stable カーネルツリー
  - 2.6.x -git カーネルパッチ
  - サブシステム毎のカーネルツリーとパッチ
  - 統合テストのための 2.6.x -next カーネルツリー

2.6.x カーネルツリー
-----------------

2.6.x カーネルは Linus Torvalds によってメンテナンスされ、kernel.org
の pub/linux/kernel/v2.6/ ディレクトリに存在します。この開発プロセスは
以下のとおり-

  - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
    この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
    このような差分は通常 -next カーネルに数週間含まれてきたパッチです。
    大きな変更は git(カーネルのソース管理ツール、詳細は
    http://git-scm.com/  参照) を使って送るのが好ましいやり方ですが、パッ
    チファイルの形式のまま送るのでも十分です。

  - 2週間後、-rc1 カーネルがリリースされ、この後にはカーネル全体の安定
    性に影響をあたえるような新機能は含まない類のパッチしか取り込むこと
    はできません。新しいドライバ(もしくはファイルシステム)のパッチは
    -rc1 の後で受け付けられることもあることを覚えておいてください。な
    ぜなら、変更が独立していて、追加されたコードの外の領域に影響を与え
    ない限り、退行のリスクは無いからです。-rc1 がリリースされた後、
    Linus へパッチを送付するのに git を使うこともできますが、パッチは
    レビューのために、パブリックなメーリングリストへも同時に送る必要が
    あります。

  - 新しい -rc は Linus が、最新の git ツリーがテスト目的であれば十分
    に安定した状態にあると判断したときにリリースされます。目標は毎週新
    しい -rc カーネルをリリースすることです。

  - このプロセスはカーネルが 「準備ができた」と考えられるまで継続しま
    す。このプロセスはだいたい 6週間継続します。

  - 各リリースでの既知の後戻り問題(regression: このリリースの中で新規
    に作り込まれた問題を指す) はその都度 Linux-kernel メーリングリスト
    に投稿されます。ゴールとしては、カーネルが 「準備ができた」と宣言
    する前にこのリストの長さをゼロに減らすことですが、現実には、数個の
    後戻り問題がリリース時にたびたび残ってしまいます。

Andrew Morton が Linux-kernel メーリングリストにカーネルリリースについ
て書いたことをここで言っておくことは価値があります-
  「カーネルがいつリリースされるかは誰も知りません。なぜなら、これは現
  実に認識されたバグの状況によりリリースされるのであり、前もって決めら
  れた計画によってリリースされるものではないからです。」

2.6.x.y -stable カーネルツリー
---------------------------

バージョン番号が4つの数字に分かれているカーネルは -stable カーネルです。
これには、2.6.x カーネルで見つかったセキュリティ問題や重大な後戻りに対
する比較的小さい重要な修正が含まれます。

これは、開発/実験的バージョンのテストに協力することに興味が無く、
最新の安定したカーネルを使いたいユーザに推奨するブランチです。

もし、2.6.x.y カーネルが存在しない場合には、番号が一番大きい 2.6.x が
最新の安定版カーネルです。

2.6.x.y は &quot;stable&quot; チーム &lt;stable@kernel.org&gt; でメンテされており、必
要に応じてリリースされます。通常のリリース期間は 2週間毎ですが、差し迫っ
た問題がなければもう少し長くなることもあります。セキュリティ関連の問題
の場合はこれに対してだいたいの場合、すぐにリリースがされます。

カーネルツリーに入っている、Documentation/stable_kernel_rules.txt ファ
イルにはどのような種類の変更が -stable ツリーに受け入れ可能か、またリ
リースプロセスがどう動くかが記述されています。

2.6.x -git パッチ
------------------

git リポジトリで管理されているLinus のカーネルツリーの毎日のスナップ
ショットがあります。(だから -git という名前がついています)。これらのパッ
チはおおむね毎日リリースされており、Linus のツリーの現状を表します。こ
れは -rc カーネルと比べて、パッチが大丈夫かどうかも確認しないで自動的
に生成されるので、より実験的です。

サブシステム毎のカーネルツリーとパッチ
-------------------------------------------

それぞれのカーネルサブシステムのメンテナ達は --- そして多くのカーネル
サブシステムの開発者達も --- 各自の最新の開発状況をソースリポジトリに
公開しています。そのため、自分とは異なる領域のカーネルで何が起きている
かを他の人が見られるようになっています。開発が早く進んでいる領域では、
開発者は自身の投稿がどのサブシステムカーネルツリーを元にしているか質問
されるので、その投稿とすでに進行中の他の作業との衝突が避けられます。

大部分のこれらのリポジトリは git ツリーです。しかしその他の SCM や
quilt シリーズとして公開されているパッチキューも使われています。これら
のサブシステムリポジトリのアドレスは MAINTAINERS ファイルにリストされ
ています。これらの多くは http://git.kernel.org/ で参照することができま
す。

提案されたパッチがこのようなサブシステムツリーにコミットされる前に、メー
リングリストで事前にレビューにかけられます（以下の対応するセクションを
参照）。いくつかのカーネルサブシステムでは、このレビューは patchwork
というツールによって追跡されます。Patchwork は web インターフェイスに
よってパッチ投稿の表示、パッチへのコメント付けや改訂などができ、そして
メンテナはパッチに対して、レビュー中、受付済み、拒否というようなマーク
をつけることができます。大部分のこれらの patchwork のサイトは
http://patchwork.kernel.org/ でリストされています。

統合テストのための 2.6.x -next カーネルツリー
---------------------------------------------

サブシステムツリーの更新内容がメインラインの 2.6.x ツリーにマージされ
る前に、それらは統合テストされる必要があります。この目的のため、実質的
に全サブシステムツリーからほぼ毎日プルされてできる特別なテスト用のリ
ポジトリが存在します-
       http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
       http://linux.f-seidel.de/linux-next/pmwiki/

このやり方によって、-next カーネルは次のマージ機会でどんなものがメイン
ラインカーネルにマージされるか、おおまかなの展望を提供します。-next 
カーネルの実行テストを行う冒険好きなテスターは大いに歓迎されます

バグレポート
-------------

bugzilla.kernel.org は Linux カーネル開発者がカーネルのバグを追跡する
場所です。ユーザは見つけたバグの全てをこのツールで報告すべきです。
どう kernel bugzilla を使うかの詳細は、以下を参照してください-
	http://bugzilla.kernel.org/page.cgi?id=faq.html
メインカーネルソースディレクトリにあるファイル REPORTING-BUGS はカーネ
ルバグらしいものについてどうレポートするかの良いテンプレートであり、問
題の追跡を助けるためにカーネル開発者にとってどんな情報が必要なのかの詳
細が書かれています。

バグレポートの管理
-------------------

あなたのハッキングのスキルを訓練する最高の方法のひとつに、他人がレポー
トしたバグを修正することがあります。あなたがカーネルをより安定化させる
こに寄与するということだけでなく、あなたは 現実の問題を修正することを
学び、自分のスキルも強化でき、また他の開発者があなたの存在に気がつき
ます。バグを修正することは、多くの開発者の中から自分が功績をあげる最善
の道です、なぜなら多くの人は他人のバグの修正に時間を浪費することを好ま
ないからです。

すでにレポートされたバグのために仕事をするためには、
http://bugzilla.kernel.org に行ってください。もし今後のバグレポートに
ついてアドバイスを受けたいのであれば、bugme-new メーリングリスト(新し
いバグレポートだけがここにメールされる) または bugme-janitor メーリン
グリスト(bugzilla の変更毎にここにメールされる)を購読できます。

	http://lists.linux-foundation.org/mailman/listinfo/bugme-new
	http://lists.linux-foundation.org/mailman/listinfo/bugme-janitors

メーリングリスト
-------------

上のいくつかのドキュメントで述べていますが、コアカーネル開発者の大部分
は Linux kernel メーリングリストに参加しています。このリストの登録/脱
退の方法については以下を参照してください-
	http://vger.kernel.org/vger-lists.html#linux-kernel

このメーリングリストのアーカイブは web 上の多数の場所に存在します。こ
れらのアーカイブを探すにはサーチエンジンを使いましょう。例えば-
	http://dir.gmane.org/gmane.linux.kernel

リストに投稿する前にすでにその話題がアーカイブに存在するかどうかを検索
することを是非やってください。多数の事がすでに詳細に渡って議論されて
おり、アーカイブにのみ記録されています。

大部分のカーネルサブシステムも自分の個別の開発を実施するメーリングリス
トを持っています。個々のグループがどんなリストを持っているかは、
MAINTAINERS ファイルにリストがありますので参照してください。

多くのリストは kernel.org でホストされています。これらの情報は以下にあ
ります-
	http://vger.kernel.org/vger-lists.html

メーリングリストを使う場合、良い行動習慣に従うようにしましょう。
少し安っぽいが、以下の URL は上のリスト(や他のリスト)で会話する場合の
シンプルなガイドラインを示しています-
	http://www.albion.com/netiquette/

もし複数の人があなたのメールに返事をした場合、CC: で受ける人のリストは
だいぶ多くなるでしょう。良い理由がない場合、CC: リストから誰かを削除を
しないように、また、メーリングリストのアドレスだけにリプライすることの
ないようにしましょう。1つは送信者から、もう1つはリストからのように、メー
ルを2回受けることになってもそれに慣れ、しゃれたメールヘッダーを追加し
てこの状態を変えようとしないように。人々はそのようなことは好みません。

今までのメールでのやりとりとその間のあなたの発言はそのまま残し、
&quot;John Kernlehacker wrote ...:&quot; の行をあなたのリプライの先頭行にして、
メールの先頭でなく、各引用行の間にあなたの言いたいことを追加するべきで
す。

もしパッチをメールに付ける場合は、Documentaion/SubmittingPatches に提
示されているように、それは プレーンな可読テキストにすることを忘れない
ようにしましょう。カーネル開発者は 添付や圧縮したパッチを扱いたがりま
せん-
彼らはあなたのパッチの行毎にコメントを入れたいので、そのためにはそうす
るしかありません。あなたのメールプログラムが空白やタブを圧縮しないよう
に確認した方が良いです。最初の良いテストとしては、自分にメールを送って
みて、そのパッチを自分で当ててみることです。もしそれがうまく行かないな
ら、あなたのメールプログラムを直してもらうか、正しく動くように変えるべ
きです。

とりわけ、他の登録者に対する尊敬を表すようにすることを覚えておいてくだ
さい。

コミュニティと共に働くこと
--------------------------

カーネルコミュニティのゴールは可能なかぎり最高のカーネルを提供すること
です。あなたがパッチを受け入れてもらうために投稿した場合、それは、技術
的メリットだけがレビューされます。その際、あなたは何を予想すべきでしょ
うか?
  - 批判
  - コメント
  - 変更の要求
  - パッチの正当性の証明要求
  - 沈黙

思い出してください、ここはあなたのパッチをカーネルに入れる話です。あ
なたは、あなたのパッチに対する批判とコメントを受け入れるべきで、それら
を技術的レベルで評価して、パッチを再作成するか、なぜそれらの変更をすべ
きでないかを明確で簡潔な理由の説明を提供してください。
もし、あなたのパッチに何も反応がない場合、たまにはメールの山に埋もれて
見逃され、あなたの投稿が忘れられてしまうこともあるので、数日待って再度
投稿してください。

あなたがやるべきでないものは?
  - 質問なしにあなたのパッチが受け入れられると想像すること
  - 守りに入ること
  - コメントを無視すること
  - 要求された変更を何もしないでパッチを出し直すこと

可能な限り最高の技術的解決を求めているコミュニティでは、パッチがどのく
らい有益なのかについては常に異なる意見があります。あなたは協調的である
べきですし、また、あなたのアイディアをカーネルに対してうまく合わせるよ
うにすることが望まれています。もしくは、最低限あなたのアイディアがそれ
だけの価値があるとすすんで証明するようにしなければなりません。
正しい解決に向かって進もうという意志がある限り、間違うことがあっても許
容されることを忘れないでください。

あなたの最初のパッチに単に 1ダースもの修正を求めるリストの返答になるこ
とも普通のことです。これはあなたのパッチが受け入れられないということで
は *ありません*、そしてあなた自身に反対することを意味するのでも *ありま
せん*。単に自分のパッチに対して指摘された問題を全て修正して再送すれば
良いのです。


カーネルコミュニティと企業組織のちがい
-----------------------------------------------------------------

カーネルコミュニティは大部分の伝統的な会社の開発環境とは異ったやり方で
動いています。以下は問題を避けるためにできると良いことのリストです-

  あなたの提案する変更について言うときのうまい言い方：

    - &quot;これは複数の問題を解決します&quot;
    - &quot;これは2000行のコードを削除します&quot;
    - &quot;以下のパッチは、私が言おうとしていることを説明するものです&quot;
    - &quot;私はこれを5つの異なるアーキテクチャでテストしたのですが...&quot;
    - &quot;以下は一連の小さなパッチ群ですが...&quot;
    - &quot;これは典型的なマシンでの性能を向上させます..&quot;

  やめた方が良い悪い言い方：

    - このやり方で AIX/ptx/Solaris ではできたので、できるはずだ
    - 私はこれを20年もの間やってきた、だから
    - これは、私の会社が金儲けをするために必要だ
    - これは我々のエンタープライズ向け商品ラインのためである
    - これは 私が自分のアイディアを記述した、1000ページの設計資料である
    - 私はこれについて、6ケ月作業している。
    - 以下は ... に関する5000行のパッチです
    - 私は現在のぐちゃぐちゃを全部書き直した、それが以下です...
    - 私は〆切がある、そのためこのパッチは今すぐ適用される必要がある

カーネルコミュニティが大部分の伝統的なソフトウェアエンジニアリングの労
働環境と異なるもう一つの点は、やりとりに顔を合わせないということです。
email と irc を第一のコミュニケーションの形とする一つの利点は、性別や
民族の差別がないことです。Linux カーネルの職場環境は女性や少数民族を受
容します。なぜなら、email アドレスによってのみあなたが認識されるからで
す。
国際的な側面からも活動領域を均等にするようにします。なぜならば、あなた
は人の名前で性別を想像できないからです。ある男性が アンドレアという名
前で、女性の名前は パット かもしれません (訳注 Andrea は米国では女性、
それ以外(欧州など)では男性名として使われることが多い。同様に、Pat は
Patricia (主に女性名)や Patrick (主に男性名)の略称)。
Linux カーネルの活動をして、意見を表明したことがある大部分の女性は、前
向きな経験をもっています。

言葉の壁は英語が得意でない一部の人には問題になります。
メーリングリストの中できちんとアイディアを交換するには、相当うまく英語
を操れる必要があることもあります。そのため、あなたは自分のメール
を送る前に英語で意味が通じているかをチェックすることをお薦めします。

変更を分割する
---------------------

Linux カーネルコミュニティは、一度に大量のコードの塊を喜んで受容するこ
とはありません。変更は正確に説明される必要があり、議論され、小さい、個
別の部分に分割する必要があります。これはこれまで多くの会社がやり慣れて
きたことと全く正反対のことです。あなたのプロポーザルは、開発プロセスのと
ても早い段階から紹介されるべきです。そうすれば あなたは自分のやってい
ることにフィードバックを得られます。これは、コミュニティからみれば、あ
なたが彼らと一緒にやっているように感じられ、単にあなたの提案する機能の
ゴミ捨て場として使っているのではない、と感じられるでしょう。
しかし、一度に 50 もの email をメーリングリストに送りつけるようなことは
やってはいけません、あなたのパッチ群はいつもどんな時でもそれよりは小さ
くなければなりません。

パッチを分割する理由は以下です-

1) 小さいパッチはあなたのパッチが適用される見込みを大きくします、カー
   ネルの人達はパッチが正しいかどうかを確認する時間や労力をかけないか
   らです。5行のパッチはメンテナがたった1秒見るだけで適用できます。
   しかし、500行のパッチは、正しいことをレビューするのに数時間かかるか
   もしれません(時間はパッチのサイズなどにより指数関数に比例してかかり
   ます)

   小さいパッチは何かあったときにデバッグもとても簡単になります。パッ
   チを1個1個取り除くのは、とても大きなパッチを当てた後に(かつ、何かお
   かしくなった後で)解剖するのに比べればとても簡単です。

2) 小さいパッチを送るだけでなく、送るまえに、書き直して、シンプルにす
   る(もしくは、単に順番を変えるだけでも)ことも、とても重要です。

以下はカーネル開発者の Al Viro のたとえ話です：

        &quot;生徒の数学の宿題を採点する先生のことを考えてみてください、先
        生は生徒が解に到達するまでの試行錯誤を見たいとは思わないでしょ
        う。先生は簡潔な最高の解を見たいのです。良い生徒はこれを知って
        おり、そして最終解の前の中間作業を提出することは決してないので
        す&quot;

        カーネル開発でもこれは同じです。メンテナ達とレビューア達は、
        問題を解決する解の背後になる思考プロセスを見たいとは思いません。
        彼らは単純であざやかな解決方法を見たいのです。

あざやかな解を説明するのと、コミュニティと共に仕事をし、未解決の仕事を
議論することのバランスをキープするのは難しいかもしれません。
ですから、開発プロセスの早期段階で改善のためのフィードバックをもらうよ
うにするのも良いですが、変更点を小さい部分に分割して全体ではまだ完成し
ていない仕事を(部分的に)取り込んでもらえるようにすることも良いことです。

また、でき上がっていないものや、&quot;将来直す&quot; ようなパッチを、本流に含め
てもらうように送っても、それは受け付けられないことを理解してください。

あなたの変更を正当化する
-------------------

あなたのパッチを分割するのと同時に、なぜその変更を追加しなければならな
いかを Linux コミュニティに知らせることはとても重要です。新機能は必要
性と有用性で正当化されなければなりません。

あなたの変更の説明
--------------------

あなたのパッチを送付する場合には、メールの中のテキストで何を言うかにつ
いて、特別に注意を払ってください。この情報はパッチの ChangeLog に使わ
れ、いつも皆がみられるように保管されます。これは次のような項目を含め、
パッチを完全に記述するべきです-

  - なぜ変更が必要か
  - パッチ全体の設計アプローチ
  - 実装の詳細
  - テスト結果

これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ
ントの ChangeLog セクションを見てください-
  &quot;The Perfect Patch&quot;
      http://userweb.kernel.org/~akpm/stuff/tpp.txt

これらのどれもが、時にはとても困難です。これらの慣例を完璧に実施するに
は数年かかるかもしれません。これは継続的な改善のプロセスであり、そのた
めには多数の忍耐と決意を必要とするものです。でも、諦めないで、これは可
能なことです。多数の人がすでにできていますし、彼らも皆最初はあなたと同
じところからスタートしたのですから。

Paolo Ciarrocchi に感謝、彼は彼の書いた &quot;Development Process&quot;
(http://lwn.net/Articles/94386/) セクションをこのテキストの原型にする
ことを許可してくれました。Rundy Dunlap と Gerrit Huizenga はメーリング
リストでやるべきこととやってはいけないことのリストを提供してくれました。
以下の人々のレビュー、コメント、貢献に感謝。
Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi
Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop,
David A. Wheeler, Junio Hamano, Michael Kerrisk, と Alex Shepard
彼らの支援なしでは、このドキュメントはできなかったでしょう。

Maintainer: Greg Kroah-Hartman &lt;greg@kroah.com&gt;

---
</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt">
    <title>ext4.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt</link>
    <dc:identifier>ext4.txt</dc:identifier>
    <dc:date>2011-02-04T08:09:45+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(ext4.txt)]]

[[include(Header)]]
[[Embed(ext4.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}
||お名前|| [id:hm]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking">Documentation/filesystems/Locking</a>
</div><div class="next"></div></div>
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt/attach/ext4.txt" title="ext4.txt" alt="ext4.txt" id="la-ext4.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">ext4.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-ext4.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt/attach/ext4.txt">ext4.txt</a></span></div><pre>=========================================================
これは、
inux-2.6.33/Documentation/filesystems/ext4.txt の和訳
です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2010/03/06
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
査読者 : Hiroshi Suzuki &lt;setter at reset dot jp&gt;
=========================================================

#Ext4 Filesystem
#===============
Ext4 ファイルシステム
====================

#Ext4 is an an advanced level of the ext3 filesystem which incorporates
#scalability and reliability enhancements for supporting large filesystems
#(64 bit) in keeping with increasing disk capacities and state-of-the-art
#feature requirements.
ext4 ファイルシステムは、ext3 ファイルシステムの次世代の水準として、ディス
ク容量の増加に伴う巨大なファイルシステム (64bit) を扱うのに必要な拡張性と
信頼性を向上し、最新の機能要求に応えたものです。

#Mailing list:	linux-ext4@vger.kernel.org
メーリングリスト:  linux-ext4@vger.kernel.org
#Web site:	http://ext4.wiki.kernel.org
ウェブサイト:	http://ext4.wiki.kernel.org


#1. Quick usage instructions:
#===========================
1. 簡単な利用方法
=================

#Note: More extensive information for getting started with ext4 can be
#      found at the ext4 wiki site at the URL:
#      http://ext4.wiki.kernel.org/index.php/Ext4_Howto
注記:	ext4 をはじめるに当たってのさらに詳細な説明は、下記 URL の ext4 Wiki
	サイトにあります。
      http://ext4.wiki.kernel.org/index.php/Ext4_Howto

#  - Compile and install the latest version of e2fsprogs (as of this
#    writing version 1.41.3) from:
  - 最新の e2fsprogs (現在バージョン 1.41.3) を以下から入手し、コンパイル・
    インストールしてください。

    http://sourceforge.net/project/showfiles.php?group_id=2406
	
#	or
	または

    ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/

#	or grab the latest git repository from:
	または以下から最新の git リポジトリを入手してください。

    git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git

#  - Note that it is highly important to install the mke2fs.conf file
#    that comes with the e2fsprogs 1.41.x sources in /etc/mke2fs.conf. If
#    you have edited the /etc/mke2fs.conf file installed on your system,
#    you will need to merge your changes with the version from e2fsprogs
#    1.41.x.
   - e2fsprogs 1.41.x ソース付属の mke2fs.conf ファイルを /etc/mke2fs.conf
     にインストールすることはとても重要です。システムにインストールしてある
     /etc/mke2fs.conf ファイルをすでに編集している場合は、e2fsprogs 1.41.x
     の版のものに既存の修正をマージする必要があります。

#  - Create a new filesystem using the ext4 filesystem type:
   - ext4 ファイルシステムタイプを用いて新規ファイルシステムを作成します。

    	# mke2fs -t ext4 /dev/hda1

#    Or to configure an existing ext3 filesystem to support extents:
     または、既存の ext3 ファイルシステムをエクステントをサポートするよう設
     定します。

	# tune2fs -O extents /dev/hda1

#    If the filesystem was created with 128 byte inodes, it can be
#    converted to use 256 byte for greater efficiency via:
    ファイルシステムが 128 バイト inode で作成されている場合は、効率のため
    256 バイトを使用するよう以下のように変換できます。

        # tune2fs -I 256 /dev/hda1

#    (Note: we currently do not have tools to convert an ext4
#    filesystem back to ext3; so please do not do try this on production
#    filesystems.)
     (注意: 現在のところ ext4 ファイルシステムを ext3 に戻すツールは提供
     していません。このため、業務利用しているファイルシステムで試さないでく
     ださい)

#  - Mounting:
   - マウントする:

	# mount -t ext4 /dev/hda1 /wherever

#  - When comparing performance with other filesystems, it's always
#    important to try multiple workloads; very often a subtle change in a
#    workload parameter can completely change the ranking of which
#    filesystems do well compared to others.  When comparing versus ext3,
#    note that ext4 enables write barriers by default, while ext3 does
#    not enable write barriers by default.  So it is useful to use
#    explicitly specify whether barriers are enabled or not when via the
#    '-o barriers=[0|1]' mount option for both ext3 and ext4 filesystems
#    for a fair comparison.  When tuning ext3 for best benchmark numbers,
#    it is often worthwhile to try changing the data journaling mode; '-o
#    data=writeback,nobh' can be faster for some workloads.  (Note
#    however that running mounted with data=writeback can potentially
#    leave stale data exposed in recently written files in case of an
#    unclean shutdown, which could be a security exposure in some
#    situations.)  Configuring the filesystem with a large journal can
#    also be helpful for metadata-intensive workloads.
  - 他のファイルシステムとの性能比較の際は、複数の負荷環境で試すことが常に
    重要です。ワークロードパラメータのわずかな変更が、ファイルシステムの他
    ファイルシステムとの比較評価づけをまったく変えてしまうことが頻繁に起こ
    ります。特に ext3 との比較の場合は、ext4 が書き込みバリアを標準で有効
    化しており、ext3 は標準ではライトバリアを有効にしてはいないことに留意
    してください。従って、公平な比較のためにはライトバリアの有効・無効を明
    示的に、ext3 と ext4 ファイルシステムとも '-o barriers=[0|1]' を使って
    指定するのが役に立つでしょう。ext4 を最高のベンチマーク結果となるよう
    にチューニングする場合、データジャーナリングモードの変更を試すことには
    価値があります。例えば、一部のベンチマークでは
    '-o data=writeback,nobh' は他より高速となるでしょう (注意として、
    data=writeback モードでマウント運用している場合、クリーンでないシャッ
    トダウンで直前に書いたデータがゴミとして残る可能性があるため、状況によ
    ってはセキュリティ面での情報漏洩の可能性があります)。ジャーナルを大き
    く取るよう設定することも、metadata を多用する負荷では性能の助けになり
    ます。
    &lt;!-- ext3 と書かれているのはどう見ても誤記なので、訳文では修正 --&gt;

#2. Features
#===========
2. 機能
=======

#2.1 Currently available
2.1 現在使える機能

#* ability to use filesystems &gt; 16TB (e2fsprogs support not available yet)
#* extent format reduces metadata overhead (RAM, IO for access, transactions)
#* extent format more robust in face of on-disk corruption due to magics,
#* internal redundancy in tree
#* improved file allocation (multi-block alloc)
#* lift 32000 subdirectory limit imposed by i_links_count[1]
#* nsec timestamps for mtime, atime, ctime, create time
#* inode version field on disk (NFSv4, Lustre)
#* reduced e2fsck time via uninit_bg feature
#* journal checksumming for robustness, performance
#* persistent file preallocation (e.g for streaming media, databases)
#* ability to pack bitmaps and inode tables into larger virtual groups via the
#  flex_bg feature
#* large file support
#* Inode allocation using large virtual block groups via flex_bg
#* delayed allocation
#* large block (up to pagesize) support
#* efficent new ordered mode in JBD2 and ext4(avoid using buffer head to force
#  the ordering)
* 16TB 超のファイルシステムの利用 (e2fsprogs ではまだサポートされていません)
* メタデータオーバヘッド (RAM, アクセス I/O, トランザクション) を減らすエク
  ステントフォーマット
* magic によるディスク上のデータ破壊に対して、より頑強なエクステントフォー
  マット
* 木構造の内部冗長性
* ファイル割り当ての改善 (複数ブロックアロケーション)
* i_links_count[1] による、32000 のサブディレクトリ数制限の撤廃
* mtime, atime, ctime, create time(作成時刻) に nsec 単位のタイムスタンプ
* ディスク上での inode バージョンフィールド (NFSv4、Lustre)
* uninit_bg 機能による e2fsck 時間の削減
* 頑健さと性能を向上させるためのジャーナルチェックサム機能
* 持続ファイル事前割り当て (ストリーミングメディアやデータベース向け)
* ビットマップと inode テーブルを、flex_bg 機能を使って大きな仮想グループに
  詰め込む機能。
* 巨大ファイルサポート
* flex_bg 機能による、大きな仮想ブロックグループを用いて inode を割り当てる
  機能
* 遅延割り当て
* 巨大ブロック (ページサイズまで) のサポート
* JBD2 と ext4 での効率的な新 ordered モード (順序保証のためにバッファヘッ
  ドを用いるのを避ける)

#[1] Filesystems with a block size of 1k may see a limit imposed by the
#directory hash tree having a maximum depth of two.
[1] ブロックサイズ 1k のファイルシステムでは、ディレクトリハッシュツリーが最大
深さ 2 であることから来る制限に制約されます。

#2.2 Candidate features for future inclusion
2.2 将来追加候補に挙がっている機能

#* Online defrag (patches available but not well tested)
* オンラインデフラグ (パッチはありますが、十分にはテストされていません)
#* reduced mke2fs time via lazy itable initialization in conjuction with
#  the uninit_bg feature (capability to do this is available in e2fsprogs
#  but a kernel thread to do lazy zeroing of unused inode table blocks
#  after filesystem is first mounted is required for safety)
* itable 遅延初期化と uninit_bg 機能を組み合わせた mke2fs 時間の短縮 (これ
  を実現する機能は e2fsprogs には既に組み込まれていますが、ファイルシステム
  の最初のマウント後に未使用 inode テーブルブロックを遅延初期化するためのカ
  ーネルスレッドが、安全な操作のために必要です)。

#There are several others under discussion, whether they all make it in is
#partly a function of how much time everyone has to work on them. Features like
#metadata checksumming have been discussed and planned for a bit but no patches
#exist yet so I'm not sure they're in the near-term roadmap.
これ以外にも幾つかの機能が、組み込みに関して議論中です。議論の結果はその機能で
これから必要な作業時間 (の見通し) に依存するでしょう。メタデータチェックサムの
ような機能は議論されて多少の計画もありますが、現時点ではパッチがなく、近い将来
のロードマップに現われるかどうかは定かではありません。

#The big performance win will come with mballoc, delalloc and flex_bg
#grouping of bitmaps and inode tables.  Some test results available here:
ビットマップと inode テーブルにmballoc、delalloc と、flex_bg グルーピング
を導入したことにより大きな性能改善が実現されています。性能測定結果の一部は
以下で公開されています。

 - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-write-2.6.27-rc1.html
 - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-readwrite-2.6.27-rc1.html

#3. Options
#==========
3. マウントオプション
====================

#When mounting an ext4 filesystem, the following option are accepted:
#(*) == default
ext4 ファイルシステムマウント時、以下のオプションが使えます。
(*) == 既定値

#ro                   	Mount filesystem read only. Note that ext4 will
#                     	replay the journal (and thus write to the
#                     	partition) even when mounted &quot;read only&quot;. The
#                     	mount options &quot;ro,noload&quot; can be used to prevent
#		     	writes to the filesystem.
ro			ファイルシステムをリードオンリーでマウントする。ext4
			はリードオンリーでマウントした場合にもジャーナルのリ
			プレイを行う (従ってパーティションに書き込みを行う)
			ことに注意してください。マウントオプション
			&quot;ro,noload&quot; をファイルシステムへの書き込みを阻止す
			るために使用することができます。

#journal_checksum	Enable checksumming of the journal transactions.
#			This will allow the recovery code in e2fsck and the
#			kernel to detect corruption in the kernel.  It is a
#			compatible change and will be ignored by older kernels.
journal_checksum	ジャーナルトランザクション時にチェックサムを有効にし
			ます。これにより e2fsck のリカバリコードを有効にし、
			カーネル内での破壊を検出できるようにします。これは互
			換性を持った変更で、従来のカーネルでは単に無視されま
			す。

#journal_async_commit	Commit block can be written to disk without waiting
#			for descriptor blocks. If enabled older kernels cannot
#			mount the device. This will enable 'journal_checksum'
#			internally.
journal_async_commit	ディスクリプタブロックの書き込みを待たずに、コミット
			したブロックのディスクへの書き込みを許します。有効に
			している場合、従来のカーネルではデバイスをマウントで
			きません。これにより、内部的に journal_checksum が
			有効にされます。

#journal=update		Update the ext4 file system's journal to the current
#			format.
journal=update		ext4 ファイルシステムのジャーナルを現在の形式にアッ
			プデートします。

#journal_dev=devnum	When the external journal device's major/minor numbers
#			have changed, this option allows the user to specify
#			the new journal location.  The journal device is
#			identified through its new major/minor numbers encoded
#			in devnum.
journal_dev=devnum	外部ジャーナルデバイスの major/minor 番号が変化した
			場合、このオプションを使って新しいジャーナルの位置を
			指定します。ジャーナルデバイスは devnum 形式でエンコ
			ードされた major/minor 番号で指定されます。

#noload			Don't load the journal on mounting.  Note that
#                     	if the filesystem was not unmounted cleanly,
#                     	skipping the journal replay will lead to the
#                     	filesystem containing inconsistencies that can
#                     	lead to any number of problems.
norecovery		マウント時にジャーナルをロードしません。もしファイルシス
noload			テムがクリーンにアンマウントされていなかった場合には、ジ
			ャーナルリプレイを飛ばすことによりファイルシステムに不整
			合が発生するでしょうし、その結果様々な問題が起きるでしょ
			う。

#data=journal		All data are committed into the journal prior to being
#			written into the main file system.
data=journal		全データは、メインのファイルシステムに書き込む前に、
			ジャーナルにコミットされます。

#data=ordered	(*)	All data are forced directly out to the main file
#			system prior to its metadata being committed to the
#			journal.
data=ordered	(*)	全データは、そのメタデータがジャーナルにコミットされ
			る前に、メインファイルシステムに直接出力されます。

#data=writeback		Data ordering is not preserved, data may be written
#			into the main file system after its metadata has been
#			committed to the journal.
data=writeback		データの順序は保存されません。データは、そのメタデー
			タがジャーナルにコミットされたあとに、メインファイル
			システムに書き込まれるかもしれません。

#commit=nrsec	(*)	Ext4 can be told to sync all its data and metadata
#			every 'nrsec' seconds. The default value is 5 seconds.
#			This means that if you lose your power, you will lose
#			as much as the latest 5 seconds of work (your
#			filesystem will not be damaged though, thanks to the
#			journaling).  This default value (or any low value)
#			will hurt performance, but it's good for data-safety.
#			Setting it to 0 will have the same effect as leaving
#			it at the default (5 seconds).
#			Setting it to very large values will improve
#			performance.
commit=nrsec	(*)	Ext4 はデータとメタデータを、'nrsec' 秒毎に同期できま
			す。デフォルトは、5 秒です。これは、電源が切れてしまっ
			た時、最後の 5 秒間の作業内容が失われてしまうことを意
			味します (しかし、ファイルシステムは、ジャーナリングの
			おかげで破壊されないでしょう)。
			このデフォルト値 (または、より小さい値) は、性能に影響
			を与えますが、データの安全性は向上します。0 にした場
			合は、デフォルトの 5 秒にしたのと同じ効果となります。
			とても大きな値にするとパフォーマンスが向上します。

#barrier=&lt;0|1(*)&gt;	This enables/disables the use of write barriers in
#barrier(*)		the jbd code.  barrier=0 disables, barrier=1 enables.
#nobarrier		This also requires an IO stack which can support
#			barriers, and if jbd gets an error on a barrier
#			write, it will disable again with a warning.
#			Write barriers enforce proper on-disk ordering
#			of journal commits, making volatile disk write caches
#			safe to use, at some performance penalty.  If
#			your disks are battery-backed in one way or another,
#			disabling barriers may safely improve performance.
#			The mount options &quot;barrier&quot; and &quot;nobarrier&quot; can
#			also be used to enable or disable barriers, for
#			consistency with other ext4 mount options.
barrier=&lt;0|1(*)&gt;	jbd コードでのライトバリアの利用を有効/無効にします。
barrier(*)		barrier=0 は無効化し、barrier=1 は有効にします。こ
nobarrier		のライトバリアの有効化のためにはバリアを有効化した
			IO スタックが必要で、さらに jbd がバリアライト時に
			エラーを受けたならば警告とともに無効にもどります。ラ
			イトバリアは多少の性能の犠牲により、適切なディスク上
			のジャーナルコミットの順序を実現し、揮発性のディスク
			ライトキャッシュを安全に使用できるようにします。
			もし使用しているディスクコントローラが電池でバック
			アップされているなどの場合には、バリアを無効化する
			ことにより安全に性能を向上できます。
			マウントオプション &quot;barrier&quot; と &quot;nobarrier&quot; をバリ
			アの有効無効を指定するために用いることができます。こ
			のオプションは、他の ext4 マウントオプションとの一貫
			性維持のため提供されています。

#inode_readahead_blks=n	This tuning parameter controls the maximum
#			number of inode table blocks that ext4's inode
#			table readahead algorithm will pre-read into
#			the buffer cache.  The default value is 32 blocks.
inode_readahead_blks=n	このチューニングパラメータは、ext4 inode テーブル先読
			みアルゴリズムがバッファキャッシュに先読みする、inode
			テーブルブロックの数の最大値を制御します。既定値は 32
			ブロックです。

#orlov		(*)	This enables the new Orlov block allocator. It is
#			enabled by default.
orlov		(*)	新しい、Orlov ブロックアロケータを有効にします。デフ
			ォルトで有効です。

#oldalloc		This disables the Orlov block allocator and enables
#			the old block allocator.  Orlov should have better
#			performance - we'd like to get some feedback if it's
#			the contrary for you.
oldalloc		Orlov ブロックアロケータを無効にして、古いブロックア
			ロケータを有効にします。Orlov の方が性能が良いはずですが、
			もし、逆効果なら、知らせてください。

#user_xattr		Enables Extended User Attributes.  Additionally, you
#			need to have extended attribute support enabled in the
#			kernel configuration (CONFIG_EXT4_FS_XATTR).  See the
#			attr(5) manual page and http://acl.bestbits.at/ to
#			learn more about extended attributes.
user_xattr		POSIX 拡張属性を有効にします。有効にするには、さらにカー
			ネル設定で拡張属性のサポート (CONFIG_EXT4_FS_XATTR) を
			組み込む必要があります。
			POSIX 拡張属性の詳細を学ぶには、attr(5) のマニュアルペー
			ジと http://acl.bestbits.at を見てください。

#nouser_xattr		Disables Extended User Attributes.
nouser_xattr		POSIX 拡張属性 を無効にします。

#acl			Enables POSIX Access Control Lists support.
#			Additionally, you need to have ACL support enabled in
#			the kernel configuration (CONFIG_EXT4_FS_POSIX_ACL).
#			See the acl(5) manual page and http://acl.bestbits.at/
#			for more information.
acl			POSIX アクセス制御リスト (POSIX ACL) サポートを有効に
			します。有効にするには、さらにカーネル設定で ACL のサポ
			ート (CONFIG_EXT4_FS_POSIX_ACL) を組み込む必要があり
			ます。
			ACL の詳細は、acl(5) のマニュアルページと
			http://acl.bestbits.at を見てください。

#noacl			This option disables POSIX Access Control List
#			support.
noacl			POSIX アクセス制御リスト(POSIX ACL) を無効にします。

reservation

noreservation

#bsddf		(*)	Make 'df' act like BSD.
#minixdf			Make 'df' act like Minix.
bsddf		(*)	'df' の動作を BSD と同様にします。
minixdf			'df' の動作を Minix と同様にします。

#debug			Extra debugging information is sent to syslog.
debug			追加デバッグ情報を syslog に送ります。

#abort			Simulate the effects of calling ext4_abort() for
#			debugging purposes.  This is normally used while
#			remounting a filesystem which is already mounted.
abort			デバッグのため ext4_abort() 呼び出しの効果をシミ
			ュレートします。これは通常は、既にマウントされてい
			るファイルシステムを再マウントしようとするばあいに
			利用 (発生) されます。

#errors=remount-ro	Remount the filesystem read-only on an error.
#errors=continue		Keep going on a filesystem error.
#errors=panic		Panic and halt the machine if an error occurs.
#                        (These mount options override the errors behavior
#                        specified in the superblock, which can be configured
#                        using tune2fs)
errors=remount-ro(*)	エラー時、読み込み専用でファイルシステムを再マウント
			します。
errors=continue		ファイルシステムエラーが発生しても継続します。
errors=panic		エラーが発生したら、PANIC して、マシンを停止します
			(これらのオプションは、tune2fs で設定時に指定した、
			superblock で指定したエラー時の挙動指定を上書きします)。

#data_err=ignore(*)	Just print an error message if an error occurs
#			in a file data buffer in ordered mode.
#data_err=abort		Abort the journal if an error occurs in a file
#			data buffer in ordered mode.
data_err=ignore(*)	オーダードモードでファイルデータバッファでエラーが発生し
			た場合、単にエラーメッセージを出力するだけです。
data_err=abort		オーダードモードでファイルデータバッファでエラーが発生し
			た場合、ジャーナルを異常終了します。

#grpid			Give objects the same group ID as their creator.
#bsdgroups
grpid			オブジェクトの作成時に、作成先ディレクトリと同じグループ
bsdgroups		ID を与えます。

#nogrpid	(*)	New objects have the group ID of their creator.
#sysvgroups
nogrpid		(*)	オブジェクトの作成時に、作成先ディレクトリに setgid ビ
sysvgroups		ットがセットされていない場合、作成プロセスと同じグループ
			ID を与えます。作成先ディレクトリに setgid ビットがセッ
			トされていた場合には、作成先ディレクトリのグループ ID と
			作成されたのがディレクトリであった場合には setgid ビット
			が引き継がれます。

#resgid=n		The group ID which may use the reserved blocks.
resgid=n		予約ブロックを使用するグループ ID です。

#resuid=n		The user ID which may use the reserved blocks.
resuid=n		予約ブロックを使用するユーザ ID です。

#sb=n			Use alternate superblock at this location.
sb=n			この位置の代替スーパーブロックを使います。

#quota			These options are ignored by the filesystem. They
#noquota			are used only by quota tools to recognize volumes
#grpquota		where quota should be turned on. See documentation
#usrquota		in the quota-tools package for more details
#			(http://sourceforge.net/projects/linuxquota).
quota			このファイルシステムでは、これらのオプションは無視され
noquota			ます。これらフラグは Quota を有効にすべき場合に、Quota
grpquota		ツールでボリュームを認識するためにのみ利用されます。
usrquota		詳しくは quota-tools パッケージ同梱の文書を参照ください。
			(http://sourceforge.net/projects/linuxquota).

#jqfmt=&lt;quota type&gt;	These options tell filesystem details about quota
#usrjquota=&lt;file&gt;	so that quota information can be properly updated
#grpjquota=&lt;file&gt;	during journal replay. They replace the above
#			quota options. See documentation in the quota-tools
#			package for more details
#			(http://sourceforge.net/projects/linuxquota).
jqfmt=&lt;quota type&gt;	これらのオプションはジャーナルリプレイ時に Quota 情報
usrjquota=&lt;file&gt;	が正しく更新されるよう、ファイルシステムに Quota の詳
grpjquota=&lt;file&gt;	細を指定するためのものです。これらは上記の quota オプ
			ションを置き換えます。
			詳しくは quota-tools パッケージ同梱の文書を参照ください。
			(http://sourceforge.net/projects/linuxquota).

#bh		(*)	ext4 associates buffer heads to data pages to
#nobh			(a) cache disk block mapping information
#			(b) link pages into transaction to provide
#			    ordering guarantees.
#			&quot;bh&quot; option forces use of buffer heads.
#			&quot;nobh&quot; option tries to avoid associating buffer
#			heads (supported only for &quot;writeback&quot; mode).
bh		(*)	ext4 はバッファ先頭を以下の情報に関連づけます。
nobh			(a) キャッシュディスクブロックマップ情報
			(b) 順序保証のためのトランザクション内のリンクページ
			bh オプションではバッファヘッドの利用を強制し、nobh
			オプションではバッファ先頭との関連づけを避けます
			(writeback モードでのみサポートされます)。

#stripe=n		Number of filesystem blocks that mballoc will try
#			to use for allocation size and alignment. For RAID5/6
#			systems this should be the number of data
#			disks *  RAID chunk size in file system blocks.
#delalloc	(*)	Deferring block allocation until write-out time.
#nodelalloc		Disable delayed allocation. Blocks are allocation
#			when data is copied from user to page cache.
stripe=n		mballoc がアロケーション単位とアラインに使用しようと
			するファイルシステムブロック数です。RAID5/6 では、こ
			の値はデータディスク数と、ファイルシステムブロックの
			RAID チャンクサイズとの積にすべきです。
delalloc	(*)	書き込み時までブロック割り当てを遅延させます。
nodelalloc		遅延割り当てを無効にします。データがユーザからページ
			キャッシュに書き込まれた時点でブロック割り当てが行な
			われます。
#delalloc	(*)	Defer block allocation until just before ext4
#			writes out the block(s) in question.  This
#			allows ext4 to better allocation decisions
#			more efficiently.
#nodelalloc		Disable delayed allocation.  Blocks are allocated
#			when the data is copied from userspace to the
#			page cache, either via the write(2) system call
#			or when an mmap'ed page which was previously
#			unallocated is written for the first time.
delalloc	(*)	ext4 が対象ブロックを書き込む直前までブロック割り当
			てを遅延させます。これにより、ext4 の割り当て判断が
			改善かつ効率化されます。
nodelalloc		遅延割り当てを無効にします。write(2) システムコール、
			または未割り当てだった mmap されているページが最初に
			書き込まれることによって、データがユーザからページ
			キャッシュに書き込まれた時点でブロック割り当てが行な
			われます。
#max_batch_time=usec	Maximum amount of time ext4 should wait for
#			additional filesystem operations to be batch
#			together with a synchronous write operation.
#			Since a synchronous write operation is going to
#			force a commit and then a wait for the I/O
#			complete, it doesn't cost much, and can be a
#			huge throughput win, we wait for a small amount
#			of time to see if any other transactions can
#			piggyback on the synchronous write.   The
#			algorithm used is designed to automatically tune
#			for the speed of the disk, by measuring the
#			amount of time (on average) that it takes to
#			finish committing a transaction.  Call this time
#			the &quot;commit time&quot;.  If the time that the
#			transaction has been running is less than the
#			commit time, ext4 will try sleeping for the
#			commit time to see if other operations will join
#			the transaction.   The commit time is capped by
#			the max_batch_time, which defaults to 15000us
#			(15ms).   This optimization can be turned off
#			entirely by setting max_batch_time to 0.
max_batch_time=usec	ext4 の同期書き込み操作時に、別のファイル操作を合わせて
			バッチするために待つ時間の最大値を指定します。同期書き
			込み処理は強制的なコミットを行い、その後 I/O 処理の完了
			を待つため、同期書き込みと一緒にできる他のトランザクシ
			ョンの有無を短時間待つことは、コストが小さくスループッ
			ト面で大きな改善になります。ここで使われているアルゴリ
			ズムは、ディスクのトランザクションのコミット完了に要す
			る時間 (平均時間) を測定することにより、ディスク速度に
			最適化するよう設計されたものです。ここで上記の「コミッ
			ト完了に要する時間」を ”Commit time&quot; と呼ぶことにしま
			す。もし、トランザクションを実行している時間が Commit
			time より小さいならば、ext4 は Commit time だけスリー
			プして他の処理がトランザクションに合流できるかどうかを
			調べます。この Commit time は max_batch_time により
			上限が指定されます。max_batch_time の標準値は
			15000us (15ms) です。max_batch_time を 0 と指定する
			ことで、この最適化を完全に無効化できます。

#min_batch_time=usec	This parameter sets the commit time (as
#			described above) to be at least min_batch_time.
#			It defaults to zero microseconds.  Increasing
#			this parameter may improve the throughput of
#			multi-threaded, synchronous workloads on very
#			fast disks, at the cost of increasing latency.
min_batch_time=usec	このパラメータは commit time (上記参照) が、少なくとも
			min_batch_time 以上であることを指定します。標準値は 0
			ms です。このパラメータを増やした場合、マルチスレッドで
			同期を使う処理負荷を高速なディスクで実行している場合、レ
			イテンシィの増加のコストを代償にスループットが改善します。

#journal_ioprio=prio	The I/O priority (from 0 to 7, where 0 is the
#			highest priorty) which should be used for I/O
#			operations submitted by kjournald2 during a
#			commit operation.  This defaults to 3, which is
#			a slightly higher priority than the default I/O
#			priority.
journal_ioprio=prio	kjournald2 が、コミット処理中に発行する I/O 処理で用い
			る I/O プライオリティ (0 から 7 で、0 が最高のプライオ
			リティです) を指定します。標準値は 3 で、これは通常の
			I/O プライオリティより少し高くなっています。

#auto_da_alloc(*)	Many broken applications don't use fsync() when
#noauto_da_alloc		replacing existing files via patterns such as
#			fd = open(&quot;foo.new&quot;)/write(fd,..)/close(fd)/
#			rename(&quot;foo.new&quot;, &quot;foo&quot;), or worse yet,
#			fd = open(&quot;foo&quot;, O_TRUNC)/write(fd,..)/close(fd).
#			If auto_da_alloc is enabled, ext4 will detect
#			the replace-via-rename and replace-via-truncate
#			patterns and force that any delayed allocation
#			blocks are allocated such that at the next
#			journal commit, in the default data=ordered
#			mode, the data blocks of the new file are forced
#			to disk before the rename() operation is
#			committed.  This provides roughly the same level
#			of guarantees as ext3, and avoids the
#			&quot;zero-length&quot; problem that can happen when a
#			system crashes before the delayed allocation
#			blocks are forced to disk.
auto_da_alloc(*)	多くの壊れたアプリケーションは、fd = open(&quot;foo.new&quot;)/
noauto_da_alloc		write(fd,..)/close(fd)/rename(&quot;foo.new&quot;, &quot;foo&quot;) な
			どのパターン、あるいはそれより邪悪な
			fd = open(&quot;foo&quot;, O_TRUNC)/write(fd,..)/close(fd)
			パターンで、fsync() を使わないで既存のファイルを入れ
			替えます。auto_da_alloc が有効な場合、ext4 はこのリ
			ネームによるファイルの入れ替えと truncate によるファ
			イルの入れ替えのパターンを検知し、標準のデータオーダー
			ドモードの場合に、リネーム処理がコミットされる前に新規
			ファイルのデータブロックがディスクに書き込まれるよう、
			遅延割り当てされたブロックを次のジャーナルコミット時に
			強制的に割り当てます。この処理でほぼ ext3 と同程度の保
			証ができ、遅延割り当てされたブロックがディスクに書かれ
			る前にシステムがクラッシュした場合の「長さ 0 になる」
			問題を (同程度に) 回避できます。

#discard		Controls whether ext4 should issue discard/TRIM
#nodiscard(*)		commands to the underlying block device when
#			blocks are freed.  This is useful for SSD devices
#			and sparse/thinly-provisioned LUNs, but it is off
#			by default until sufficient testing has been done.
discard			ext4 が discard/TRIM コマンドを発行するか否かを制御
nodiscard(*)		します。discard/TRIM コマンドはブロック開放時に下位
			のデバイスに対して発行されます。このコマンドは SSD
			デバイスやシンプロビジョニングを用いた LUN で役に立
			ちますが、現在十分なテストが行われていないため標準
			では無効になっています。

#Data Mode
#=========
データモード
===========
#There are 3 different data modes:
3 つの異なるデータモードを提供しています。

#* writeback mode
#In data=writeback mode, ext4 does not journal data at all.  This mode provides
#a similar level of journaling as that of XFS, JFS, and ReiserFS in its default
#mode - metadata journaling.  A crash+recovery can cause incorrect data to
#appear in files which were written shortly before the crash.  This mode will
#typically provide the best ext4 performance.
* ライトバックモード
data=writeback モードのとき、ext4 はデータを全くジャーナルしません。
これは、XFS, JFS, ReiserFS のデフォルトモード (メタデータジャーナリング) と
同レベルのジャーナリングを提供します。
クラッシュ + リカバリ で、クラッシュ直前に書き込まれたファイル内に不正データ
が現れるかもしれません。通常このモードは最高の ext4 パフォーマンスが得られま
す。

#* ordered mode
#In data=ordered mode, ext4 only officially journals metadata, but it logically
#groups metadata information related to data changes with the data blocks into a
#single unit called a transaction.  When it's time to write the new metadata
#out to disk, the associated data blocks are written first.  In general,
#this mode performs slightly slower than writeback but significantly faster than
journal mode.
* オーダードモード
data=ordered モードのとき、ext4 は公式にはメタデータのみをジャーナルします
が、この際にメタデータとデータブロックはトランザクションと呼ばれる 1 つの単
位に、論理的にまとめられています。ディスクに新しいメタデータを書き込む時が
きたら、関連データブロックが先に書き込まれます。一般的に、このモードは、ラ
イトバックより多少遅い動作となりますが、ジャーナルモードよりはかなり速くな
ります。

#* journal mode
#data=journal mode provides full data and metadata journaling.  All new data is
#written to the journal first, and then to its final location.
#In the event of a crash, the journal can be replayed, bringing both data and
#metadata into a consistent state.  This mode is the slowest except when data
#needs to be read from and written to disk at the same time where it
#outperforms all others modes.  Currently ext4 does not have delayed
#allocation support if this data journalling mode is selected.
* ジャーナルモード
data=journal モードは、データとメタデータの完全なジャーナリングを備えます。
すべての新しいデータは、先にジャーナルに書き込まれ、その後に所定の位置へ書き
こまれます。クラッシュの際、ジャーナルはリプレイされ、データとメタデータの両方
は矛盾の無い状態に回復されます。このモードはもっとも遅いですが、ディスクへの
データの読みだしと書き込みを同時に行う必要がある時は、他のモードより高性能で
す。現在の ext4 では、このデータジャーナリングモードが選択されているとき、
遅延アロケーションはサポートされていません。

#References
#==========
参考資料
========

#kernel source:	&lt;file:fs/ext4/&gt;
#		&lt;file:fs/jbd2/&gt;
カーネルソース:	&lt;file:fs/ext4/&gt;
		&lt;file:fs/jbd2/&gt;

#programs:	http://e2fsprogs.sourceforge.net/
プログラム:	http://e2fsprogs.sourceforge.net/

#useful links:	http://fedoraproject.org/wiki/ext3-devel
#		http://www.bullopensource.org/ext4/
#		http://ext4.wiki.kernel.org/index.php/Main_Page
#		http://fedoraproject.org/wiki/Features/Ext4
役に立つリンク:	http://fedoraproject.org/wiki/ext3-devel
		http://www.bullopensource.org/ext4/
		http://ext4.wiki.kernel.org/index.php/Main_Page
		http://fedoraproject.org/wiki/Features/Ext4

</pre></div><p>
</p><table class="wikitable" border="1"><tbody><tr><td>お名前</td><td> <a href="/users/hmatrjp" class="user" style="background-image: url(http://sourceforge.jp/usericon.php?user=hmatrjp);padding-left: 12px;">hmatrjp</a> (2011-02-04 08:09:45 ICT)</td></tr><tr><td>コメント</td><td> ext4 を最高のベンチマーク結果となるようにチューニングする場合<br /><br />原文では ext3 になっているところを、<br />&lt;!-- ext3 と書かれているのはどう見ても誤記なので、訳文では修正 --&gt;<br />されているようですが、ここは ext3, ext4 両方に当てはまる── ext4 にしてしまうのが<br />正しいとは限らない──のでは？<br /><br />原文の著者に当たってみないとはっきりしませんが、<br />比較対象としての ext3 の設定について、書いている可能性もあるかと思いました。</td></tr><tr><td> </td><td> </td></tr><tr><td>お名前</td><td> <a href="/users/yasikoba" class="user" style="background-image: url(http://sourceforge.jp/usericon.php?user=yasikoba);padding-left: 12px;">yasikoba</a> (2009-06-20 18:43:31 JST)</td></tr><tr><td>コメント</td><td> ご指摘ありがとうございます。</td></tr><tr><td> </td><td> </td></tr><tr><td>お名前</td><td> anonymous (2009-05-08 01:36:54 JST)</td></tr><tr><td>コメント</td><td> data=writeback モードのとき、ext3 はデータを全くジャーナルしません。<br />↓<br />data=writeback モードのとき、ext4 はデータを全くジャーナルしません。<br /><br />以後、ext4がext3になっている箇所が２つあります。<br /><br />訳に立つリンク<br />↓<br />役に立つリンク</td></tr><tr><td> </td><td> </td></tr></tbody></table><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p><div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking">Documentation/filesystems/Locking</a>
</div><div class="next"></div></div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">
    <title>FrontPage</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/FrontPage</link>
    <dc:identifier>FrontPage</dc:identifier>
    <dc:date>2010-10-30T01:46:53+09:00</dc:date>
        <description>
      <![CDATA[= Linux JF (Japanese FAQ) Project Wiki =

[http://linuxjf.sourceforge.jp/ Linux JF Project]
の Wiki ページへようこそ。

== 仮公開中のドラフト文書 ==
[[include(Header)]]
[[include(NavigationList)]]

== 関連リンク ==
]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-Linux.20JF.20.28Japanese.20FAQ.29.20Project.20Wiki">Linux JF (Japanese FAQ) Project Wiki</h1><p><a href="http://linuxjf.sourceforge.jp/" class="external" rel="nofollow">Linux JF Project</a>
の Wiki ページへようこそ。
</p><h2 id="h2-.E4.BB.AE.E5.85.AC.E9.96.8B.E4.B8.AD.E3.81.AE.E3.83.89.E3.83.A9.E3.83.95.E3.83.88.E6.96.87.E6.9B.B8">仮公開中のドラフト文書</h2><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<ul><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt">Documentation/filesystems/ceph.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt">Documentation/filesystems/vfs.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt">Documentation/filesystems/gfs2.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">Documentation/filesystems/exofs.txt</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking">Documentation/filesystems/Locking</a>
</li><li><a href="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt">Documentation/filesystems/ext4.txt</a>
</li></ul>
<h2 id="h2-.E9.96.A2.E9.80.A3.E3.83.AA.E3.83.B3.E3.82.AF">関連リンク</h2><ul><li><a href="http://sourceforge.jp/projects/linux-kernel-docs/wiki/FrontPage">Linuxカーネルドキュメントプロジェクト</a><br /> 
Linuxカーネル2.6解読室の本文、Linuxカーネルの構造解説文書など
</li></ul><ul><li><a href="http://sourceforge.jp/projects/opensource/wiki/FrontPage">オープンソースグループ・ジャパン</a><br /> 
<a href="http://sourceforge.jp/projects/opensource/wiki/Open_Source_Definition">オープンソースの定義</a>、<a href="http://sourceforge.jp/projects/opensource/wiki/licenses">OSI承認オープンソースライセンス日本語訳</a>など
</li></ul><ul><li><a href="http://sourceforge.jp/projects/lfsbookja/">LFSブック日本語版</a><br /> 
LFS (Linux From Scratch) ブックの日本語版を作成するプロジェクト
</li></ul><div class="dashboard-widget"><h3 class="titlebar">Recent Tickets</h3><div class="dashboard-body"><table class="event-list"><tr class="row-even"><td><a href="/ticket/browse.php?group_id=3627&amp;tid=16988">x86/i386/boot.txt → x86/boot.txt に文書を移動する</a></td><td class="date">2011-04-25 00:18</td></tr><tr class="row-even"><td class="extrainfo">x86/i386/boot.txt → x86/boot.txt に文書を移動する。</td><td class="userinfo">(None)</td></tr><tr class="row-odd"><td><a href="/ticket/browse.php?group_id=3627&amp;tid=17114">vfs.txt の和訳について (フォーラムメッセージ [#43435] からの引用)</a></td><td class="date">2011-04-15 22:25</td></tr><tr class="row-odd"><td class="extrainfo">フォーラム JF Project 掲示板 [#43435] からの引用
[forum: 43435]
はじめまして。mshio と申します。
「Linux 仮想ファ...</td><td class="userinfo">(None)</td></tr></table><div class="list_link"><a href="/projects/linuxjf/ticket/">Go to Ticket List</a></div></div></div>
]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt">
    <title>ceph.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt</link>
    <dc:identifier>ceph.txt</dc:identifier>
    <dc:date>2010-06-19T00:30:06+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(ceph.txt)]]

[[include(Header)]]
[[Embed(ceph.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くなった場合]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="pagenavi"><div class="up"></div><div class="prev"></div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt">Documentation/filesystems/vfs.txt</a>
</div></div>
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt/attach/ceph.txt" title="ceph.txt" alt="ceph.txt" id="la-ceph.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">ceph.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-ceph.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/ceph.txt/attach/ceph.txt">ceph.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.35rc3/Documentation/filesystems/ceph.txt の和訳です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2010/6/15
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
#Ceph Distributed File System
#============================
Ceph 分散ファイルシステム
=========================

#Ceph is a distributed network file system designed to provide good
#performance, reliability, and scalability.
Ceph は良好な性能、信頼性、拡張性を追求して設計された分散ネットワークファ
イルシステムです。

#Basic features include:
以下の基本機能が提供されています。

# * POSIX semantics
# * Seamless scaling from 1 to many thousands of nodes
# * High availability and reliability.  No single point of failure.
# * N-way replication of data across storage nodes
# * Fast recovery from node failures
# * Automatic rebalancing of data on node addition/removal
# * Easy deployment: most FS components are userspace daemons
 * POSIX 互換
 * 1 から数千のノードまでシームレスに拡張可能
 * 高可用、高信頼性。単一故障点の排除
 * ストレージノード間での N-way 複製機能
 * ノード故障からの速やかな回復
 * ノード追加・削除に対するデータの自動再バランス
 * 容易なノード展開: 殆どの FS コンポーネントはユーザ空間で動作するデー
   モン

#Also,
# * Flexible snapshots (on any directory)
# * Recursive accounting (nested files, directories, bytes)
また
 * 柔軟なスナップショット (どのディレクトリでも可)
 * 再帰アカウンティング (ファイル、ディレクトリ、バイトデータのネスト)

#In contrast to cluster filesystems like GFS, OCFS2, and GPFS that rely
#on symmetric access by all clients to shared block devices, Ceph
#separates data and metadata management into independent server
#clusters, similar to Lustre.  Unlike Lustre, however, metadata and
#storage nodes run entirely as user space daemons.  Storage nodes
#utilize btrfs to store data objects, leveraging its advanced features
#(checksumming, metadata replication, etc.).  File data is striped
#across storage nodes in large chunks to distribute workload and
#facilitate high throughputs.  When storage nodes fail, data is
#re-replicated in a distributed fashion by the storage nodes themselves
#(with some minimal coordination from a cluster monitor), making the
#system extremely efficient and scalable.
GFS、OCFS2 そして GPFS などのクラスタファイルシステムは、各クライアント
からの共有ブロックデバイスへの対称なアクセスを前提としていますが、Ceph
は Lustre と似た、データとメタデータを分離して独立のサーバクラスタに置
く構成を採っています。一方、Lustre とは違ってメタデータとストレージノ
ードは完全にユーザ空間デーモンで走ります。ストレージノードはデータオブ
ジェクトの格納に btrfs を使って、先進機能 (チェックサム、メタデータレ
プリケーション) を活用しています。ファイルデータは、大きなチャンク単位
でストレージノード間でストライプされ、負荷を分散して高いスループットを
実現しています。一つのストレージノードが故障した場合、クラスタモニタの
最小限の介入だけで、ストレージノード間自身で再度データのレプリケーショ
ンが行われるため、システムは極めて効率的で拡張性に富んだものとなってい
ます。

#Metadata servers effectively form a large, consistent, distributed
#in-memory cache above the file namespace that is extremely scalable,
#dynamically redistributes metadata in response to workload changes,
#and can tolerate arbitrary (well, non-Byzantine) node failures.  The
#metadata server takes a somewhat unconventional approach to metadata
#storage to significantly improve performance for common workloads.  In
#particular, inodes with only a single link are embedded in
#directories, allowing entire directories of dentries and inodes to be
#loaded into its cache with a single I/O operation.  The contents of
#extremely large directories can be fragmented and managed by
#independent metadata servers, allowing scalable concurrent access.
メタデータサーバは、実効的には上記のファイル名前空間に対する、巨大で整
合性の採れた分散インメモリキャッシュを構成します。このメタデータサーバ
は極めて拡張性が高く、負荷の変動に伴って動的にメタデータを再配置し、
(まぁ、特にまずい場合でなければ) 任意のノードの故障に耐えるようになっ
ています。
メタデータサーバでは、一般的な負荷での性能を大きく向上するため、メタデ
ータストレージとしてはやや一般的ではない手法を採っています。特に、リン
クの一つしかない inode はディレクトリに埋め込まれ、dentry と inode の
ディレクトリ全体が一つの I/O 処理でキャッシュに取り込めるようにしてい
ます。極めて巨大なディレクトリの内容は複数の独立なメタデータサーバに分
割されて管理されるため、拡張性に優れた並行アクセスが可能になっています。

#The system offers automatic data rebalancing/migration when scaling
#from a small cluster of just a few nodes to many hundreds, without
#requiring an administrator carve the data set into static volumes or
#go through the tedious process of migrating data between servers.
#When the file system approaches full, new nodes can be easily added
#and things will &quot;just work.&quot;
システムでは、管理者のデータセット指定なしの、小さな (数ノード) クラス
タから数百までの拡張を行った場合の自動データ再バランス/マイグレーショ
ン機能を提供しています。管理者は固定サイズのボリュームにデータセットを
作成したり、サーバ間でデータの移動を行ったりの疲れる作業から解放されま
す。また、ファイルシステムが一杯になりつつある場合、新しいノードを簡単
に追加し、「即動作」を可能としています。

#Ceph includes flexible snapshot mechanism that allows a user to create
#a snapshot on any subdirectory (and its nested contents) in the
#system.  Snapshot creation and deletion are as simple as 'mkdir
#.snap/foo' and 'rmdir .snap/foo'.
Ceph には柔軟なスナップショット機能が提供されていて、ユーザはシステム
の任意のサブディレクトリ (およびネストされたコンテンツ) のスナップショ
ットを作成可能です。スナップショットの作成と削除は、'mkdir .snap/foo'
と 'rmdir .snap/foo' を行うだけの簡単さです。

#Ceph also provides some recursive accounting on directories for nested
#files and bytes.  That is, a 'getfattr -d foo' on any directory in the
#system will reveal the total number of nested regular files and
#subdirectories, and a summation of all nested file sizes.  This makes
#the identification of large disk space consumers relatively quick, as
#no 'du' or similar recursive scan of the file system is required.
さらに、Ceph にはネストされたディレクトリやデータに対する再帰的アカウ
ンティング機能が提供されています。具体的には、システムのどのディレクト
リででも 'getfattr -d foo' を実行すればネストされた通常のファイルとサ
ブディレクトリ数、ネストされたファイルサイズの合計が得られます。これに
より、du などのファイルシステムの再帰スキャン処理を必要とせずに、多量
のディスクを消費している犯人を比較的速く摘発できます。


#Mount Syntax
#============
マウントの書式
==============

#The basic mount syntax is:
基本的なマウントの書式は以下のとおりです。

 # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt

#You only need to specify a single monitor, as the client will get the
#full list when it connects.  (However, if the monitor you specify
#happens to be down, the mount won't succeed.)  The port can be left
#off if the monitor is using the default.  So if the monitor is at
#1.2.3.4,
一つ以上のモニタを指定する必要はありません。クライアントは接続時にモニ
タ全体のリストを取得するためです。但し、指定したモニタが万が一ダウンし
ていた場合、マウントは失敗します。ポートは、モニタが既定値を用いている
場合、指定する必要はありません。まとめると、モニタが 1.2.3.4 にある場
合、以下の指定で十分となります。

 # mount -t ceph 1.2.3.4:/ /mnt/ceph

#is sufficient.  If /sbin/mount.ceph is installed, a hostname can be
#used instead of an IP address.
/sbin/mount.ceph がインストールされているなら、IP アドレスの代わりにホ
スト名も使えます。


#Mount Options
#=============
マウントオプション
==================

  ip=A.B.C.D[:N]
#	Specify the IP and/or port the client should bind to locally.
#	There is normally not much reason to do this.  If the IP is not
#	specified, the client's IP address is determined by looking at the
#	address it's connection to the monitor originates from.
	クライアントがローカルで設定すべき IP および/または ポートを指
	定します。通常はこれを行う理由はあまりありません。IP 番号が指
	定されていない場合、クライアントの IP アドレスはモニタへの接続
	を行ったアドレスを調べることで決定されます。
	&lt;!-- TODO: 良く分かりません --&gt;

  wsize=X
#	Specify the maximum write size in bytes.  By default there is no
#	maximum.  Ceph will normally size writes based on the file stripe
#	size.
	書き込める最大のバイト数を指定します。既定値としては、最大値制
	限はありません。Ceph は通常はファイルストライプサイズを基準に
	書き込みを行います。

  rsize=X
#	Specify the maximum readahead.
	先読みの最大長を指定します。

  mount_timeout=X
#	Specify the timeout value for mount (in seconds), in the case
#	of a non-responsive Ceph file system.  The default is 30
#	seconds.
	Ceph ファイルシステムが応答しない場合、マウント時のタイムアウ
	ト時間を秒で指定します。既定値は 30 秒です。

  rbytes
#	When stat() is called on a directory, set st_size to 'rbytes',
#	the summation of file sizes over all files nested beneath that
#	directory.  This is the default.
	stat() がディレクトリに対して呼ばれた場合、st_size に rbytes、
	つまりディレクトリ以下にネストされているファイルサイズの合計値
	を代入します。これが既定値です。

  norbytes
#	When stat() is called on a directory, set st_size to the
#	number of entries in that directory.
	stat() がディレクトリに対して呼ばれた場合、st_size にディレク
	トリ内のエントリ数を代入します。

  nocrc
#	Disable CRC32C calculation for data writes.  If set, the storage node
#	must rely on TCP's error correction to detect data corruption
#	in the data payload.
	データ書き込み時に CRC32C 計算を行いません。このフラグがセット
	されている場合、ストレージノードのデータペイロードの破壊検出は
	TCP のエラー訂正機能に依存します。

  noasyncreaddir
#	Disable client's use its local cache to satisfy	readdir
#	requests.  (This does not change correctness; the client uses
#	cached metadata only when a lease or capability ensures it is
#	valid.)
	クライアント側での readdir リクエスト処理を行う際に、ローカル
	キャッシュを利用しません (これはファイルシステムの正当性には影
	響しません。クライアントは、リースまたはケーパビリティによって
	キャッシュされたメタデータが有効であることが保証されている場合
	にのみ、キャッシュされたデータを用いるからです)。


#More Information
#================
追加情報
========

#For more information on Ceph, see the home page at
#	http://ceph.newdream.net/wiki
Ceph についてもっと知りたい場合は、以下のホームページをご覧ください。
	http://ceph.newdream.net/wiki

#The Linux kernel client source tree is available at
#	git://ceph.newdream.net/git/ceph-client.git
#	git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
Linux カーネルのクライアントソースツリーは以下から提供されています。
	git://ceph.newdream.net/git/ceph-client.git
	git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git

#and the source for the full system is at
#	git://ceph.newdream.net/git/ceph.git
システム全体のソースは以下から提供されています。
	git://ceph.newdream.net/git/ceph.git

</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p><div class="pagenavi"><div class="up"></div><div class="prev"></div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt">Documentation/filesystems/vfs.txt</a>
</div></div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt">
    <title>gfs2.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt</link>
    <dc:identifier>gfs2.txt</dc:identifier>
    <dc:date>2010-06-19T00:28:24+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(gfs2.txt)]]

[[include(Header)]]
[[Embed(gfs2.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くなった場合]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt">Documentation/filesystems/vfs.txt</a>
</div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">Documentation/filesystems/exofs.txt</a>
</div></div>
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt/attach/gfs2.txt" title="gfs2.txt" alt="gfs2.txt" id="la-gfs2.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">gfs2.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-gfs2.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt/attach/gfs2.txt">gfs2.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.34/Documentation/filesystems/gfs2.txt の和訳です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2010/5/21
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
#Global File System
#------------------
Global File System
------------------

#http://sources.redhat.com/cluster/
http://sources.redhat.com/cluster/

#GFS is a cluster file system. It allows a cluster of computers to
#simultaneously use a block device that is shared between them (with FC,
#iSCSI, NBD, etc).  GFS reads and writes to the block device like a local
#file system, but also uses a lock module to allow the computers coordinate
#their I/O so file system consistency is maintained.  One of the nifty
#features of GFS is perfect consistency -- changes made to the file system
#on one machine show up immediately on all other machines in the cluster.
GFS はクラスタファイルシステムです。このファイルシステムでは、コンピュ
ータクラスタ間で共有された (FC、iSCSI、NBD 等のインターフェースで) ブ
ロックデバイスを同時に利用することができます。GFS はブロックデバイスを
ローカルファイルシステムのように読み書きし、同時にコンピュータ間での
I/O 処理の調停を行うためのロックモジュールを使ってファイルシステムの整
合性を維持しています。GFS の特徴的な機能として、完全な一貫性の維持があ
ります - 一台のマシンからのファイルシステムへの変更は、クラスタ内の他
の全てのマシンに即座に反映 (観測) されます。

#GFS uses interchangable inter-node locking mechanisms, the currently
#supported mechanisms are:
GFS は、交換可能なノード間のロック機構を幾つか用いています。現在提供さ
れているロック機構は以下のものです。

#  lock_nolock -- allows gfs to be used as a local file system
  lock_nolock -- gfs をローカルファイルシステムとして利用することを可
  能とします。

#  lock_dlm -- uses a distributed lock manager (dlm) for inter-node locking
#  The dlm is found at linux/fs/dlm/
  lock_dlm -- ノード間のロックに分散ロックマネージャ (dim) を使用します。
  dlm は linux/fs/dlm/ 以下にあります。

#Lock_dlm depends on user space cluster management systems found
#at the URL above.
Lock_dim は上記の URL で提供されているユーザ空間用クラスタ管理システム
を必要とします。

#To use gfs as a local file system, no external clustering systems are
#needed, simply:
gfs をローカルファイルシステムとして用いる場合、外部のクラスタ管理シス
テムは必要ありません。単に以下のようにしてください。

#  $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
#  $ mount -t gfs2 /dev/block_device /dir
  $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
  $ mount -t gfs2 /dev/block_device /dir

#If you are using Fedora, you need to install the gfs2-utils package
#and, for lock_dlm, you will also need to install the cman package
#and write a cluster.conf as per the documentation.
Fedora ディストリビューションを用いている場合、gfs2-utils パッケージの
インストールが必要で、さらに lock_dim を用いる場合は cman パッケージを
インストールして、説明文書の指示にしたがって cluster.conf を記述する必
要があります。

#GFS2 is not on-disk compatible with previous versions of GFS, but it
#is pretty close.
GFS2 では、以前の版の GFS とのディスク上の構造の同一性は維持されていま
せん。但し、とてもよく似ています。

#The following man pages can be found at the URL above:
#  fsck.gfs2	to repair a filesystem
#  gfs2_grow	to expand a filesystem online
#  gfs2_jadd	to add journals to a filesystem online
#  gfs2_tool	to manipulate, examine and tune a filesystem
#  gfs2_quota	to examine and change quota values in a filesystem
#  gfs2_convert	to convert a gfs filesystem to gfs2 in-place
#  mount.gfs2	to help mount(8) mount a filesystem
#  mkfs.gfs2	to make a filesystem
上記の URL からは以下の man ページが提供されています。
  fsck.gfs2	ファイルシステムを修復する。
  gfs2_grow	ファイルシステムをオンラインで拡張する。
  gfs2_jadd	ファイルシステムにオンラインでジャーナルを加える。
  gfs2_tool	ファイルシステムを操作、調査および最適化する。
  gfs2_quota	ファイルシステムの Quota 値を調べたり変更したりする。
  gfs2_convert	gfs ファイルシステムを gfs2 ファイルシステムにその場で
  		(コピーなしで) 変換する。
  mount.gfs2	ファイルシステムのマウント時の mount(8) のヘルプ
  mkfs.gfs2	ファイルシステムを作成する。

</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p><div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfs.txt">Documentation/filesystems/vfs.txt</a>
</div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">Documentation/filesystems/exofs.txt</a>
</div></div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/KDoc-2.6-in-Progress">
    <title>KDoc-2.6-in-Progress</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/KDoc-2.6-in-Progress</link>
    <dc:identifier>KDoc-2.6-in-Progress</dc:identifier>
    <dc:date>2010-06-02T12:30:12+09:00</dc:date>
        <description>
      <![CDATA[[[Embed(KDoc-2.6-in-Progress.txt)]]]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="embed-code" id="emb-KDoc-2.6-in-Progress.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/KDoc-2.6-in-Progress/attach/KDoc-2.6-in-Progress.txt">KDoc-2.6-in-Progress.txt</a></span></div><pre>JF: Kernel-Docs 2.6 in progress

Sat Jun 19 00:23:13 JST 2010

この文書はカーネル 2.6 付属文書の翻訳作業情報をリストしたものです.

LDP 文書などの翻訳作業に関しては、 JF in Progress をご覧下さい。

作業リストの読み方

 ・ ◎は最新の翻訳がなされていることを示します。
 ・ ○は翻訳はされているが、最新のものではないことを示します。
 ・ ×は翻訳されていないものを示します。

 ・ Ｒは文書が予約済であることを示します。
 ・ Ｄは草稿が出ていることを示します。

作業リスト

 名前                                           最新版   現翻訳    翻訳日付 状況
----------------------------------------------  ------  --------  ---------- --
00-INDEX                                        2.6.32                       ×
ABI/README                                      2.6.18                       ×
ABI/obsolete/dv1394                             2.6.21                       ×
ABI/obsolete/o2cb                               2.6.26                       ×
ABI/removed/devfs                               2.6.22                       ×
ABI/removed/raw1394_legacy_isochronous          2.6.23                       ×
ABI/stable/o2cb                                 2.6.26                       ×
ABI/stable/syscalls                             2.6.18                       ×
ABI/stable/sysfs-class-backlight                2.6.32                       ×
ABI/stable/sysfs-class-ubi                      2.6.26                       ×
ABI/stable/sysfs-devices-node                   2.6.34                       ×
ABI/stable/sysfs-driver-qla2xxx                 2.6.33                       ×
ABI/stable/sysfs-driver-usb-usbtmc              2.6.28                       ×
ABI/stable/sysfs-module                         2.6.18                       ×
ABI/testing/debugfs-kmemtrace                   2.6.30                       ×
ABI/testing/debugfs-pktcdvd                     2.6.30                       ×
ABI/testing/ima_policy                          2.6.33                       ×
ABI/testing/procfs-diskstats                    2.6.33                       ×
ABI/testing/sysfs-block                         2.6.34                       ×
ABI/testing/sysfs-bus-css                       2.6.27                       ×
ABI/testing/sysfs-bus-pci                       2.6.32                       ×
ABI/testing/sysfs-bus-pci-devices-cciss         2.6.32                       ×
ABI/testing/sysfs-bus-umc                       2.6.28                       ×
ABI/testing/sysfs-bus-usb                       2.6.34                       ×
ABI/testing/sysfs-bus-usb-devices-usbsevseg     2.6.28                       ×
ABI/testing/sysfs-c2port                        2.6.28                       ×
ABI/testing/sysfs-class                         2.6.18                       ×
ABI/testing/sysfs-class-bdi                     2.6.26                       ×
ABI/testing/sysfs-class-lcd                     2.6.32                       ×
ABI/testing/sysfs-class-led                     2.6.32                       ×
ABI/testing/sysfs-class-mtd                     2.6.31                       ×
ABI/testing/sysfs-class-pktcdvd                 2.6.21                       ×
ABI/testing/sysfs-class-regulator               2.6.30                       ×
ABI/testing/sysfs-class-uwb_rc                  2.6.29                       ×
ABI/testing/sysfs-class-uwb_rc-wusbhc           2.6.33                       ×
ABI/testing/sysfs-dev                           2.6.27                       ×
ABI/testing/sysfs-devices                       2.6.18                       ×
ABI/testing/sysfs-devices-memory                2.6.33                       ×
ABI/testing/sysfs-devices-power                 2.6.34                       ×
ABI/testing/sysfs-devices-system-cpu            2.6.33                       ×
ABI/testing/sysfs-firmware-acpi                 2.6.30                       ×
ABI/testing/sysfs-firmware-memmap               2.6.29                       ×
ABI/testing/sysfs-firmware-sgi_uv               2.6.27                       ×
ABI/testing/sysfs-fs-ext4                       2.6.31                       ×
ABI/testing/sysfs-gpio                          2.6.32                       ×
ABI/testing/sysfs-ibft                          2.6.26                       ×
ABI/testing/sysfs-kernel-mm                     2.6.27                       ×
ABI/testing/sysfs-kernel-mm-hugepages           2.6.27                       ×
ABI/testing/sysfs-kernel-slab                   2.6.33                       ×
ABI/testing/sysfs-kernel-uids                   2.6.25                       ×
ABI/testing/sysfs-memory-page-offline           2.6.33                       ×
ABI/testing/sysfs-ocfs2                         2.6.26                       ×
ABI/testing/sysfs-platform-asus-laptop          2.6.34                       ×
ABI/testing/sysfs-platform-eeepc-laptop         2.6.34                       ×
ABI/testing/sysfs-power                         2.6.34                       ×
ABI/testing/sysfs-pps                           2.6.31                       ×
ABI/testing/sysfs-profiling                     2.6.28                       ×
ABI/testing/sysfs-wusb_cbaf                     2.6.28                       ×
BUG-HUNTING                                     2.6.25  2.6.5     2004/03/23 ○
Changes                                         2.6.33                       ×
CodingStyle                                     2.6.31  2.6.24    2008/03/26 ○
DMA-API-HOWTO.txt                               2.6.34                       ×
DMA-API.txt                                     2.6.34                       ×
DMA-ISA-LPC.txt                                 2.6.20                       ×
DMA-attributes.txt                              2.6.27                       ×
DocBook/alsa-driver-api.tmpl                    2.6.30                       ×
DocBook/debugobjects.tmpl                       2.6.31                       ×
DocBook/device-drivers.tmpl                     2.6.34                       ×
DocBook/deviceiobook.tmpl                       2.6.34                       ×
DocBook/dvb/.gitignore                          2.6.32                       ×
DocBook/dvb/audio.xml                           2.6.32                       ×
DocBook/dvb/ca.xml                              2.6.32                       ×
DocBook/dvb/demux.xml                           2.6.32                       ×
DocBook/dvb/dvbapi.xml                          2.6.33                       ×
DocBook/dvb/dvbproperty.xml                     2.6.33                       ×
DocBook/dvb/examples.xml                        2.6.32                       ×
DocBook/dvb/frontend.h.xml                      2.6.33                       ×
DocBook/dvb/frontend.xml                        2.6.33                       ×
DocBook/dvb/intro.xml                           2.6.32                       ×
DocBook/dvb/kdapi.xml                           2.6.32                       ×
DocBook/dvb/net.xml                             2.6.32                       ×
DocBook/dvb/video.xml                           2.6.32                       ×
DocBook/filesystems.tmpl                        2.6.25                       ×
DocBook/gadget.tmpl                             2.6.28                       ×
DocBook/genericirq.tmpl                         2.6.33                       ×
DocBook/kernel-api.tmpl                         2.6.30                       ×
DocBook/kernel-hacking.tmpl                     2.6.33                       ×
DocBook/kernel-locking.tmpl                     2.6.27                       ×
DocBook/kgdb.tmpl                               2.6.30                       ×
DocBook/libata.tmpl                             2.6.34                       ×
DocBook/librs.tmpl                              2.6.22                       ×
DocBook/lsm.tmpl                                2.6.25                       ×
DocBook/mac80211.tmpl                           2.6.34                       ×
DocBook/mcabook.tmpl                            2.6.28                       ×
DocBook/media-entities.tmpl                     2.6.33                       ×
DocBook/media-indices.tmpl                      2.6.33                       ×
DocBook/media.tmpl                              2.6.32                       ×
DocBook/mtdnand.tmpl                            2.6.34                       ×
DocBook/networking.tmpl                         2.6.29                       ×
DocBook/rapidio.tmpl                            2.6.26                       ×
DocBook/regulator.tmpl                          2.6.29                       ×
DocBook/s390-drivers.tmpl                       2.6.27                       ×
DocBook/scsi.tmpl                               2.6.32                       ×
DocBook/sh.tmpl                                 2.6.27                       ×
DocBook/tracepoint.tmpl                         2.6.34                       ×
DocBook/uio-howto.tmpl                          2.6.32                       ×
DocBook/usb.tmpl                                2.6.22                       ×
DocBook/v4l/.gitignore                          2.6.32                       ×
DocBook/v4l/biblio.xml                          2.6.32                       ×
DocBook/v4l/capture.c.xml                       2.6.32                       ×
DocBook/v4l/common.xml                          2.6.34                       ×
DocBook/v4l/compat.xml                          2.6.33                       ×
DocBook/v4l/controls.xml                        2.6.33                       ×
DocBook/v4l/dev-capture.xml                     2.6.32                       ×
DocBook/v4l/dev-codec.xml                       2.6.32                       ×
DocBook/v4l/dev-effect.xml                      2.6.32                       ×
DocBook/v4l/dev-osd.xml                         2.6.32                       ×
DocBook/v4l/dev-output.xml                      2.6.32                       ×
DocBook/v4l/dev-overlay.xml                     2.6.32                       ×
DocBook/v4l/dev-radio.xml                       2.6.32                       ×
DocBook/v4l/dev-raw-vbi.xml                     2.6.32                       ×
DocBook/v4l/dev-rds.xml                         2.6.32                       ×
DocBook/v4l/dev-sliced-vbi.xml                  2.6.32                       ×
DocBook/v4l/dev-teletext.xml                    2.6.32                       ×
DocBook/v4l/driver.xml                          2.6.32                       ×
DocBook/v4l/fdl-appendix.xml                    2.6.32                       ×
DocBook/v4l/func-close.xml                      2.6.32                       ×
DocBook/v4l/func-ioctl.xml                      2.6.32                       ×
DocBook/v4l/func-mmap.xml                       2.6.32                       ×
DocBook/v4l/func-munmap.xml                     2.6.32                       ×
DocBook/v4l/func-open.xml                       2.6.32                       ×
DocBook/v4l/func-poll.xml                       2.6.32                       ×
DocBook/v4l/func-read.xml                       2.6.32                       ×
DocBook/v4l/func-select.xml                     2.6.32                       ×
DocBook/v4l/func-write.xml                      2.6.32                       ×
DocBook/v4l/io.xml                              2.6.34                       ×
DocBook/v4l/keytable.c.xml                      2.6.32                       ×
DocBook/v4l/libv4l.xml                          2.6.32                       ×
DocBook/v4l/pixfmt-grey.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-nv12.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-nv16.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-packed-rgb.xml               2.6.32                       ×
DocBook/v4l/pixfmt-packed-yuv.xml               2.6.32                       ×
DocBook/v4l/pixfmt-sbggr16.xml                  2.6.32                       ×
DocBook/v4l/pixfmt-sbggr8.xml                   2.6.32                       ×
DocBook/v4l/pixfmt-sgbrg8.xml                   2.6.32                       ×
DocBook/v4l/pixfmt-sgrbg8.xml                   2.6.32                       ×
DocBook/v4l/pixfmt-uyvy.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-vyuy.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-y16.xml                      2.6.32                       ×
DocBook/v4l/pixfmt-y41p.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-yuv410.xml                   2.6.32                       ×
DocBook/v4l/pixfmt-yuv411p.xml                  2.6.32                       ×
DocBook/v4l/pixfmt-yuv420.xml                   2.6.32                       ×
DocBook/v4l/pixfmt-yuv422p.xml                  2.6.32                       ×
DocBook/v4l/pixfmt-yuyv.xml                     2.6.32                       ×
DocBook/v4l/pixfmt-yvyu.xml                     2.6.32                       ×
DocBook/v4l/pixfmt.xml                          2.6.33                       ×
DocBook/v4l/remote_controllers.xml              2.6.32                       ×
DocBook/v4l/v4l2.xml                            2.6.33                       ×
DocBook/v4l/v4l2grab.c.xml                      2.6.32                       ×
DocBook/v4l/videodev2.h.xml                     2.6.33                       ×
DocBook/v4l/vidioc-cropcap.xml                  2.6.32                       ×
DocBook/v4l/vidioc-dbg-g-chip-ident.xml         2.6.32                       ×
DocBook/v4l/vidioc-dbg-g-register.xml           2.6.32                       ×
DocBook/v4l/vidioc-encoder-cmd.xml              2.6.32                       ×
DocBook/v4l/vidioc-enum-dv-presets.xml          2.6.33                       ×
DocBook/v4l/vidioc-enum-fmt.xml                 2.6.32                       ×
DocBook/v4l/vidioc-enum-frameintervals.xml      2.6.32                       ×
DocBook/v4l/vidioc-enum-framesizes.xml          2.6.32                       ×
DocBook/v4l/vidioc-enumaudio.xml                2.6.32                       ×
DocBook/v4l/vidioc-enumaudioout.xml             2.6.32                       ×
DocBook/v4l/vidioc-enuminput.xml                2.6.33                       ×
DocBook/v4l/vidioc-enumoutput.xml               2.6.33                       ×
DocBook/v4l/vidioc-enumstd.xml                  2.6.32                       ×
DocBook/v4l/vidioc-g-audio.xml                  2.6.32                       ×
DocBook/v4l/vidioc-g-audioout.xml               2.6.32                       ×
DocBook/v4l/vidioc-g-crop.xml                   2.6.32                       ×
DocBook/v4l/vidioc-g-ctrl.xml                   2.6.32                       ×
DocBook/v4l/vidioc-g-dv-preset.xml              2.6.33                       ×
DocBook/v4l/vidioc-g-dv-timings.xml             2.6.33                       ×
DocBook/v4l/vidioc-g-enc-index.xml              2.6.32                       ×
DocBook/v4l/vidioc-g-ext-ctrls.xml              2.6.32                       ×
DocBook/v4l/vidioc-g-fbuf.xml                   2.6.33                       ×
DocBook/v4l/vidioc-g-fmt.xml                    2.6.32                       ×
DocBook/v4l/vidioc-g-frequency.xml              2.6.32                       ×
DocBook/v4l/vidioc-g-input.xml                  2.6.32                       ×
DocBook/v4l/vidioc-g-jpegcomp.xml               2.6.32                       ×
DocBook/v4l/vidioc-g-modulator.xml              2.6.32                       ×
DocBook/v4l/vidioc-g-output.xml                 2.6.32                       ×
DocBook/v4l/vidioc-g-parm.xml                   2.6.34                       ×
DocBook/v4l/vidioc-g-priority.xml               2.6.32                       ×
DocBook/v4l/vidioc-g-sliced-vbi-cap.xml         2.6.32                       ×
DocBook/v4l/vidioc-g-std.xml                    2.6.33                       ×
DocBook/v4l/vidioc-g-tuner.xml                  2.6.32                       ×
DocBook/v4l/vidioc-log-status.xml               2.6.32                       ×
DocBook/v4l/vidioc-overlay.xml                  2.6.32                       ×
DocBook/v4l/vidioc-qbuf.xml                     2.6.34                       ×
DocBook/v4l/vidioc-query-dv-preset.xml          2.6.33                       ×
DocBook/v4l/vidioc-querybuf.xml                 2.6.34                       ×
DocBook/v4l/vidioc-querycap.xml                 2.6.32                       ×
DocBook/v4l/vidioc-queryctrl.xml                2.6.32                       ×
DocBook/v4l/vidioc-querystd.xml                 2.6.33                       ×
DocBook/v4l/vidioc-reqbufs.xml                  2.6.34                       ×
DocBook/v4l/vidioc-s-hw-freq-seek.xml           2.6.32                       ×
DocBook/v4l/vidioc-streamon.xml                 2.6.32                       ×
DocBook/writing-an-alsa-driver.tmpl             2.6.33                       ×
DocBook/writing_usb_driver.tmpl                 2.6.26                       ×
DocBook/z8530book.tmpl                          2.6.28                       ×
HOWTO                                           2.6.34  2.6.28    2008/10/24 ○
IO-mapping.txt                                  2.6.33                       ×
IPMI.txt                                        2.6.34  2.6.10    2005/03/04 ○
IRQ-affinity.txt                                2.6.27  2.6.0     2002/09/30 ○
IRQ.txt                                         2.6.18                       ×
Intel-IOMMU.txt                                 2.6.32                       ×
Makefile                                        2.6.34                       ×
ManagementStyle                                 2.6.28  2.6.20    2007/02/21 ○
PCI/00-INDEX                                    2.6.28                       ×
PCI/MSI-HOWTO.txt                               2.6.30                       ×
PCI/PCIEBUS-HOWTO.txt                           2.6.29                       ×
PCI/pci-error-recovery.txt                      2.6.32                       ×
PCI/pci-iov-howto.txt                           2.6.30                       ×
PCI/pci.txt                                     2.6.29                       ×
PCI/pcieaer-howto.txt                           2.6.31                       ×
RCU/00-INDEX                                    2.6.34                       ×
RCU/NMI-RCU.txt                                 2.6.34                       ×
RCU/RTFP.txt                                    2.6.34                       ×
RCU/UP.txt                                      2.6.32                       ×
RCU/arrayRCU.txt                                2.6.9                        ×
RCU/checklist.txt                               2.6.34                       ×
RCU/listRCU.txt                                 2.6.30                       ×
RCU/lockdep.txt                                 2.6.34                       ×
RCU/rcu.txt                                     2.6.34                       ×
RCU/rcubarrier.txt                              2.6.32                       ×
RCU/rculist_nulls.txt                           2.6.31                       ×
RCU/rcuref.txt                                  2.6.28                       ×
RCU/stallwarn.txt                               2.6.34                       ×
RCU/torture.txt                                 2.6.34                       ×
RCU/trace.txt                                   2.6.33                       ×
RCU/whatisRCU.txt                               2.6.34                       ×
README.DAC960                                           2.6.18    2006/11/21 ◎
SAK.txt                                         2.6.28  2.6.4     2004/03/31 ○
SELinux.txt                                     2.6.28                       ×
SM501.txt                                       2.6.31                       ×
SecurityBugs                                    2.6.12                       ×
Smack.txt                                       2.6.31                       ×
SubmitChecklist                                 2.6.34  2.6.26    2008/06/19 ○
SubmittingDrivers                               2.6.28  2.6.6     2004/05/10 ○
SubmittingPatches                               2.6.32  2.6.23    2007/10/17 ○
VGA-softcursor.txt                              2.6.0   2.6.0     2001/11/13 ◎
accounting/.gitignore                           2.6.28                       ×
accounting/Makefile                             2.6.27                       ×
accounting/cgroupstats.txt                      2.6.24                       ×
accounting/delay-accounting.txt                 2.6.27                       ×
accounting/getdelays.c                          2.6.32                       ×
accounting/taskstats-struct.txt                 2.6.27                       ×
accounting/taskstats.txt                        2.6.20                       ×
acpi/debug.txt                                  2.6.28                       ×
acpi/dsdt-override.txt                          2.6.25                       ×
acpi/method-customizing.txt                     2.6.33                       ×
acpi/method-tracing.txt                         2.6.25                       ×
aoe/aoe.txt                                     2.6.12                       ×
aoe/autoload.sh                                 2.6.11                       ×
aoe/mkdevs.sh                                   2.6.25                       ×
aoe/mkshelf.sh                                  2.6.14                       ×
aoe/status.sh                                   2.6.12                       ×
aoe/todo.txt                                    2.6.19                       ×
aoe/udev-install.sh                             2.6.25                       ×
aoe/udev.txt                                    2.6.25                       ×
applying-patches.txt                            2.6.16                       ×
arm/00-INDEX                                    2.6.24  2.6.3     2004/02/13 ○
arm/Booting                                     2.6.17  2.6.3     2004/02/13 ○
arm/IXP2000                                     2.6.12                       ×
arm/IXP4xx                                      2.6.27                       ×
arm/Interrupts                                  2.6.27            2004/03/19 Ｄ
arm/Netwinder                                   2.6.0   2.6.0     2001/11/26 ◎
arm/OMAP/DSS                                    2.6.33                       ×
arm/OMAP/omap_pm                                2.6.32                       ×
arm/Porting                                     2.6.0   2.6.4     2004/03/21 ◎
arm/README                                      2.6.27  2.6.6     2004/05/23 ○
arm/SA1100/ADSBitsy                             2.6.32  2.6.0     2002/03/08 ○
arm/SA1100/Assabet                              2.6.32  2.6.3     2004/03/11 ○
arm/SA1100/Brutus                               2.6.32  2.6.2     2004/02/08 ○
arm/SA1100/CERF                                 2.6.2   2.6.3     2004/02/10 ◎
arm/SA1100/FreeBird                             2.6.0   2.6.0     2002/03/19 ◎
arm/SA1100/GraphicsClient                       2.6.32  2.6.0     2002/04/12 ○
arm/SA1100/GraphicsMaster                       2.6.32  2.6.0     2002/04/12 ○
arm/SA1100/HUW_WEBPANEL                         2.6.0   2.6.2     2004/02/08 ◎
arm/SA1100/Itsy                                 2.6.0   2.6.2     2004/02/08 ◎
arm/SA1100/LART                                 2.6.17  2.6.0     2002/03/19 ○
arm/SA1100/PLEB                                 2.6.0   2.6.0     2002/03/19 ◎
arm/SA1100/Pangolin                             2.6.0   2.6.2     2004/02/08 ◎
arm/SA1100/Tifon                                2.6.0   2.6.0     2002/02/07 ◎
arm/SA1100/Victor                               2.6.32  2.6.0     2002/03/08 ○
arm/SA1100/Yopy                                 2.6.0   2.6.0     2002/02/07 ◎
arm/SA1100/empeg                                2.6.0   2.6.0     2002/02/07 ◎
arm/SA1100/nanoEngine                           2.6.0   2.6.2     2004/02/08 ◎
arm/SA1100/serial_UART                          2.6.19  2.6.2     2004/02/08 ○
arm/Samsung-S3C24XX/CPUfreq.txt                 2.6.34                       ×
arm/Samsung-S3C24XX/DMA.txt                     2.6.24                       ×
arm/Samsung-S3C24XX/EB2410ITX.txt               2.6.33                       ×
arm/Samsung-S3C24XX/GPIO.txt                    2.6.33                       ×
arm/Samsung-S3C24XX/H1940.txt                   2.6.22                       ×
arm/Samsung-S3C24XX/NAND.txt                    2.6.26                       ×
arm/Samsung-S3C24XX/Overview.txt                2.6.33                       ×
arm/Samsung-S3C24XX/S3C2412.txt                 2.6.33                       ×
arm/Samsung-S3C24XX/S3C2413.txt                 2.6.33                       ×
arm/Samsung-S3C24XX/SMDK2440.txt                2.6.12                       ×
arm/Samsung-S3C24XX/Suspend.txt                 2.6.33                       ×
arm/Samsung-S3C24XX/USB-Host.txt                2.6.33                       ×
arm/Samsung/Overview.txt                        2.6.34                       ×
arm/Samsung/clksrc-change-registers.awk         2.6.34                       ×
arm/Setup                                       2.6.17  2.6.2     2002/01/31 ○
arm/Sharp-LH/ADC-LH7-Touchscreen                2.6.18                       ×
arm/Sharp-LH/CompactFlash                       2.6.6                        ×
arm/Sharp-LH/IOBarrier                          2.6.25                       ×
arm/Sharp-LH/KEV7A400                           2.6.6                        ×
arm/Sharp-LH/LCDPanels                          2.6.18                       ×
arm/Sharp-LH/LPD7A400                           2.6.6                        ×
arm/Sharp-LH/LPD7A40X                           2.6.6                        ×
arm/Sharp-LH/SDRAM                              2.6.8                        ×
arm/Sharp-LH/VectoredInterruptController        2.6.6                        ×
arm/VFP/release-notes.txt                       2.6.15                       ×
arm/empeg/README                                        2.6.0     2002/09/10 ◎
arm/mem_alignment                               2.6.28                       ×
arm/memory.txt                                  2.6.34                       ×
arm/nwfpe/NOTES                                 2.6.0   2.6.0     2002/09/10 ◎
arm/nwfpe/README                                2.6.0                        ×
arm/nwfpe/README.FPE                            2.6.0                        ×
arm/nwfpe/TODO                                  2.6.0                        ×
arm/pxa/mfp.txt                                 2.6.29                       ×
arm/tcm.txt                                     2.6.32                       ×
atomic_ops.txt                                  2.6.31                       ×
auxdisplay/.gitignore                           2.6.28                       ×
auxdisplay/Makefile                             2.6.27                       ×
auxdisplay/cfag12864b                           2.6.26                       ×
auxdisplay/cfag12864b-example.c                 2.6.32                       ×
auxdisplay/ks0108                               2.6.26                       ×
bad_memory.txt                                  2.6.29                       ×
basic_profiling.txt                             2.6.13  2.6.5     2004/04/11 ○
binfmt_misc.txt                                 2.6.22  2.6.5     2004/04/22 ○
blackfin/00-INDEX                               2.6.33                       ×
blackfin/Filesystems                            2.6.22                       ×
blackfin/Makefile                               2.6.33                       ×
blackfin/bfin-gpio-notes.txt                    2.6.29                       ×
blackfin/cachefeatures.txt                      2.6.33                       ×
blackfin/gptimers-example.c                     2.6.33                       ×
block/00-INDEX                                  2.6.33                       ×
block/barrier.txt                               2.6.23                       ×
block/biodoc.txt                                2.6.34                       ×
block/capability.txt                            2.6.22                       ×
block/data-integrity.txt                        2.6.31                       ×
block/deadline-iosched.txt                      2.6.31                       ×
block/ioprio.txt                                2.6.24                       ×
block/queue-sysfs.txt                           2.6.34                       ×
block/request.txt                               2.6.24                       ×
block/stat.txt                                  2.6.16                       ×
block/switching-sched.txt                       2.6.30                       ×
blockdev/00-INDEX                               2.6.30                       ×
blockdev/README.DAC960                          2.6.28                       ×
blockdev/cciss.txt                              2.6.28                       ×
blockdev/cpqarray.txt                           2.6.28                       ×
blockdev/drbd/DRBD-8.3-data-packets.svg         2.6.33                       ×
blockdev/drbd/DRBD-data-packets.svg             2.6.33                       ×
blockdev/drbd/README.txt                        2.6.33                       ×
blockdev/drbd/conn-states-8.dot                 2.6.33                       ×
blockdev/drbd/disk-states-8.dot                 2.6.33                       ×
blockdev/drbd/drbd-connection-state-overview.dot2.6.33                       ×
blockdev/drbd/node-states-8.dot                 2.6.33                       ×
blockdev/floppy.txt                             2.6.28                       ×
blockdev/mflash.txt                             2.6.30                       ×
blockdev/nbd.txt                                2.6.28                       ×
blockdev/paride.txt                             2.6.28                       ×
blockdev/ramdisk.txt                            2.6.28                       ×
braille-console.txt                             2.6.31                       ×
bt8xxgpio.txt                                   2.6.27                       ×
btmrvl.txt                                      2.6.32                       ×
cachetlb.txt                                    2.6.34                       ×
cciss.txt                                               2.6.6     2004/05/10 ◎
cdrom/00-INDEX                                  2.6.23                       ×
cdrom/Makefile                                  2.6.0                        ×
cdrom/cdrom-standard.tex                        2.6.26                       ×
cdrom/ide-cd                                    2.6.34                       ×
cdrom/packet-writing.txt                        2.6.31                       ×
cgroups/00-INDEX                                2.6.30                       ×
cgroups/blkio-controller.txt                    2.6.33                       ×
cgroups/cgroup_event_listener.c                 2.6.34                       ×
cgroups/cgroups.txt                             2.6.34                       ×
cgroups/cpuacct.txt                             2.6.30                       ×
cgroups/cpusets.txt                             2.6.34                       ×
cgroups/devices.txt                             2.6.30                       ×
cgroups/freezer-subsystem.txt                   2.6.28                       ×
cgroups/memcg_test.txt                          2.6.34                       ×
cgroups/memory.txt                              2.6.34                       ×
cgroups/resource_counter.txt                    2.6.30                       ×
circular-buffers.txt                            2.6.34                       ×
cli-sti-removal.txt                                     2.6.5     2004/05/04 ◎
connector/.gitignore                            2.6.28                       ×
connector/Makefile                              2.6.32                       ×
connector/cn_test.c                             2.6.34                       ×
connector/connector.txt                         2.6.32                       ×
connector/ucon.c                                2.6.32                       ×
console/console.txt                             2.6.34                       ×
cpqarray.txt                                            2.6.4     2001/11/21 ◎
cpu-freq/amd-powernow.txt                       2.6.7                        ×
cpu-freq/core.txt                               2.6.20                       ×
cpu-freq/cpu-drivers.txt                        2.6.33                       ×
cpu-freq/cpufreq-nforce2.txt                    2.6.20                       ×
cpu-freq/cpufreq-stats.txt                      2.6.22                       ×
cpu-freq/governors.txt                          2.6.33                       ×
cpu-freq/index.txt                              2.6.27                       ×
cpu-freq/pcc-cpufreq.txt                        2.6.34                       ×
cpu-freq/user-guide.txt                         2.6.33                       ×
cpu-hotplug.txt                                 2.6.33                       ×
cpu-load.txt                                    2.6.21                       ×
cpuidle/core.txt                                2.6.25                       ×
cpuidle/driver.txt                              2.6.25                       ×
cpuidle/governor.txt                            2.6.25                       ×
cpuidle/sysfs.txt                               2.6.25                       ×
cputopology.txt                                 2.6.32                       ×
credentials.txt                                 2.6.29                       ×
cris/README                                     2.6.28                       ×
crypto/api-intro.txt                            2.6.25                       ×
crypto/async-tx-api.txt                         2.6.32                       ×
crypto/descore-readme.txt                       2.6.14                       ×
dcdbas.txt                                      2.6.14                       ×
debugging-modules.txt                           2.6.25  2.6.5     2004/04/15 ○
debugging-via-ohci1394.txt                      2.6.32                       ×
dell_rbu.txt                                    2.6.31  2.6.29    2009/06/11 ○
development-process/1.Intro                     2.6.28                       ×
development-process/2.Process                   2.6.28                       ×
development-process/3.Early-stage               2.6.28                       ×
development-process/4.Coding                    2.6.29                       ×
development-process/5.Posting                   2.6.31                       ×
development-process/6.Followthrough             2.6.28                       ×
development-process/7.AdvancedTopics            2.6.28                       ×
development-process/8.Conclusion                2.6.28                       ×
device-mapper/delay.txt                         2.6.22                       ×
device-mapper/dm-crypt.txt                      2.6.26                       ×
device-mapper/dm-io.txt                         2.6.8                        ×
device-mapper/dm-log.txt                        2.6.31                       ×
device-mapper/dm-queue-length.txt               2.6.31                       ×
device-mapper/dm-service-time.txt               2.6.31                       ×
device-mapper/dm-uevent.txt                     2.6.24                       ×
device-mapper/kcopyd.txt                        2.6.8                        ×
device-mapper/linear.txt                        2.6.8                        ×
device-mapper/snapshot.txt                      2.6.34  2.6.16    2006/07/18 ○
device-mapper/striped.txt                       2.6.8                        ×
device-mapper/zero.txt                          2.6.8                        ×
devices.txt                                     2.6.30                       ×
digiepca.txt                                            2.6.5     2004/05/04 ◎
dmaengine.txt                                   2.6.29                       ×
driver-model/binding.txt                        2.6.0                        ×
driver-model/bus.txt                            2.6.12                       ×
driver-model/class.txt                          2.6.19                       ×
driver-model/device.txt                         2.6.31                       ×
driver-model/devres.txt                         2.6.31                       ×
driver-model/driver.txt                         2.6.33                       ×
driver-model/interface.txt                      2.6.0                        ×
driver-model/overview.txt                       2.6.19                       ×
driver-model/platform.txt                       2.6.34                       ×
driver-model/porting.txt                        2.6.20                       ×
dvb/README.dvb-usb                              2.6.33                       ×
dvb/avermedia.txt                               2.6.19                       ×
dvb/bt8xx.txt                                   2.6.25                       ×
dvb/cards.txt                                   2.6.20                       ×
dvb/ci.txt                                      2.6.20                       ×
dvb/contributors.txt                            2.6.22                       ×
dvb/faq.txt                                     2.6.24                       ×
dvb/get_dvb_firmware                            2.6.34                       ×
dvb/opera-firmware.txt                          2.6.23                       ×
dvb/readme.txt                                  2.6.17                       ×
dvb/technisat.txt                               2.6.32                       ×
dvb/ttusb-dec.txt                               2.6.16                       ×
dvb/udev.txt                                    2.6.10                       ×
dynamic-debug-howto.txt                         2.6.30                       ×
early-userspace/README                          2.6.26  2.6.7     2004/06/29 ○
early-userspace/buffer-format.txt               2.6.0   2.6.3     2004/02/26 ◎
edac.txt                                        2.6.33                       ×
eisa.txt                                        2.6.34  2.6.6     2004/05/23 ○
email-clients.txt                               2.6.34                       ×
exception.txt                                           2.6.0     2001/05/25 ◎
fault-injection/fault-injection.txt             2.6.33                       ×
fault-injection/provoke-crashes.txt             2.6.34                       ×
fb/00-INDEX                                     2.6.30                       ×
fb/arkfb.txt                                    2.6.22                       ×
fb/aty128fb.txt                                 2.6.22                       ×
fb/cirrusfb.txt                                 2.6.0                        ×
fb/cmap_xfbdev.txt                              2.6.25                       ×
fb/deferred_io.txt                              2.6.25                       ×
fb/efifb.txt                                    2.6.34                       ×
fb/ep93xx-fb.txt                                2.6.32                       ×
fb/fbcon.txt                                    2.6.19                       ×
fb/framebuffer.txt                              2.6.32  2.6.13    2005/08/28 ○
fb/gxfb.txt                                     2.6.26                       ×
fb/intel810.txt                                 2.6.19                       ×
fb/intelfb.txt                                  2.6.28                       ×
fb/internals.txt                                2.6.0   2.6.13    2005/08/28 ◎
fb/lxfb.txt                                     2.6.26                       ×
fb/matroxfb.txt                                 2.6.32                       ×
fb/metronomefb.txt                              2.6.26                       ×
fb/modedb.txt                                   2.6.26  2.6.13    2005/08/30 ○
fb/pvr2fb.txt                                   2.6.23                       ×
fb/pxafb.txt                                    2.6.29                       ×
fb/s3fb.txt                                     2.6.22                       ×
fb/sa1100fb.txt                                 2.6.0                        ×
fb/sh7760fb.txt                                 2.6.31                       ×
fb/sisfb.txt                                    2.6.19  2.6.12    2005/07/15 ○
fb/sstfb.txt                                    2.6.22                       ×
fb/tgafb.txt                                    2.6.0                        ×
fb/tridentfb.txt                                2.6.27                       ×
fb/uvesafb.txt                                  2.6.30                       ×
fb/vesafb.txt                                   2.6.31  2.6.12    2005/08/22 ○
fb/viafb.modes                                  2.6.28                       ×
fb/viafb.txt                                    2.6.33                       ×
fb/vt8623fb.txt                                 2.6.22                       ×
feature-removal-schedule.txt                    2.6.34                       ×
filesystems/00-INDEX                            2.6.34                       ×
filesystems/9p.txt                              2.6.34                       ×
filesystems/Locking                             2.6.34            2008/11/29 Ｄ
filesystems/Makefile                            2.6.34                       ×
filesystems/adfs.txt                            2.6.20  2.6.0     2001/07/06 ○
filesystems/affs.txt                            2.6.15  2.6.0     2001/08/10 ○
filesystems/afs.txt                             2.6.31                       ×
filesystems/autofs4-mount-control.txt           2.6.31                       ×
filesystems/automount-support.txt               2.6.18                       ×
filesystems/befs.txt                            2.6.19                       ×
filesystems/bfs.txt                             2.6.27  2.6.0     2001/10/17 ○
filesystems/btrfs.txt                           2.6.29                       ×
filesystems/caching/backend-api.txt             2.6.30                       ×
filesystems/caching/cachefiles.txt              2.6.30                       ×
filesystems/caching/fscache.txt                 2.6.32                       ×
filesystems/caching/netfs-api.txt               2.6.32                       ×
filesystems/caching/object.txt                  2.6.30                       ×
filesystems/caching/operations.txt              2.6.30                       ×
filesystems/ceph.txt                            2.6.34            2010/05/23 Ｄ
filesystems/cifs.txt                            2.6.0   2.6.28    2009/03/20 ◎
filesystems/coda.txt                            2.6.0   2.6.0     2001/12/25 ◎
filesystems/configfs/Makefile                   2.6.27                       ×
filesystems/configfs/configfs.txt               2.6.27                       ×
filesystems/configfs/configfs_example_explicit.c2.6.27                       ×
filesystems/configfs/configfs_example_macros.c  2.6.27                       ×
filesystems/cramfs.txt                          2.6.0   2.6.26.5  2008/11/03 ◎
filesystems/debugfs.txt                         2.6.31                       ×
filesystems/dentry-locking.txt                  2.6.34  2.6.29    2009/07/09 ○
filesystems/devpts.txt                          2.6.29                       ×
filesystems/directory-locking                   2.6.22                       ×
filesystems/dlmfs.txt                           2.6.19                       ×
filesystems/dnotify.txt                         2.6.34  2.6.3     2004/02/08 ○
filesystems/dnotify_test.c                      2.6.34                       ×
filesystems/ecryptfs.txt                        2.6.23                       ×
filesystems/exofs.txt                           2.6.33            2009/06/12 Ｄ
filesystems/ext2.txt                            2.6.31  2.6.0     2001/12/04 ○
filesystems/ext3.txt                            2.6.33  2.6.12    2005/08/01 ○
filesystems/ext4.txt                            2.6.33  2.6.31.1  2009/10/18 ○
filesystems/fiemap.txt                          2.6.31  2.6.33.1  2010/02/10 ◎
filesystems/files.txt                           2.6.29  2.6.29    2009/05/26 ◎
filesystems/fuse.txt                            2.6.20                       ×
filesystems/gfs2-glocks.txt                     2.6.31                       ×
filesystems/gfs2-uevents.txt                    2.6.32                       ×
filesystems/gfs2.txt                            2.6.31            2010/05/23 Ｄ
filesystems/hfs.txt                             2.6.4   2.6.26.5  2008/10/24 ◎
filesystems/hfsplus.txt                         2.6.23  2.6.26.5  2008/10/24 ◎
filesystems/hpfs.txt                            2.6.22                       ×
filesystems/inotify.txt                         2.6.18  2.6.26.5  2008/11/29 ◎
filesystems/isofs.txt                           2.6.31  2.6.28    2009/03/20 ○
filesystems/jfs.txt                             2.6.22  2.6.26.5  2008/11/03 ◎
filesystems/locks.txt                           2.6.24  2.6.5     2004/04/17 ○
filesystems/logfs.txt                           2.6.34            2010/05/23 Ｒ
filesystems/mandatory-locking.txt               2.6.24  2.6.0     2001/12/26 ○
filesystems/ncpfs.txt                           2.6.32  2.6.0     2001/06/25 ○
filesystems/nfs/00-INDEX                        2.6.33                       ×
filesystems/nfs/Exporting                       2.6.33                       ×
filesystems/nfs/knfsd-stats.txt                 2.6.33                       ×
filesystems/nfs/nfs-rdma.txt                    2.6.33                       ×
filesystems/nfs/nfs.txt                         2.6.33                       ×
filesystems/nfs/nfs41-server.txt                2.6.34                       ×
filesystems/nfs/nfsroot.txt                     2.6.34                       ×
filesystems/nfs/rpc-cache.txt                   2.6.33                       ×
filesystems/nfsroot.txt                                 2.6.0     2002/01/17 ◎
filesystems/nilfs2.txt                          2.6.34  2.6.31.1  2009/10/13 ○
filesystems/ntfs.txt                            2.6.27                       ×
filesystems/ocfs2.txt                           2.6.32                       ×
filesystems/omfs.txt                            2.6.27                       ×
filesystems/pohmelfs/design_notes.txt           2.6.30                       ×
filesystems/pohmelfs/info.txt                   2.6.30                       ×
filesystems/pohmelfs/network_protocol.txt       2.6.30                       ×
filesystems/porting                             2.6.33                       ×
filesystems/proc.txt                            2.6.34                       ×
filesystems/quota.txt                           2.6.27                       ×
filesystems/ramfs-rootfs-initramfs.txt          2.6.28  2.6.18    2007/01/28 ○
filesystems/relay.txt                           2.6.27                       ×
filesystems/romfs.txt                           2.6.0   2.6.0     2001/09/04 ◎
filesystems/seq_file.txt                        2.6.33                       ×
filesystems/sharedsubtree.txt                   2.6.34                       ×
filesystems/smbfs.txt                           2.6.0   2.6.0     2001/06/29 ◎
filesystems/spufs.txt                           2.6.20                       ×
filesystems/squashfs.txt                        2.6.29                       ×
filesystems/sysfs-pci.txt                       2.6.31  2.6.13    2005/08/28 ○
filesystems/sysfs.txt                           2.6.33  2.6.13    2005/08/28 ○
filesystems/sysv-fs.txt                         2.6.20                       ×
filesystems/tmpfs.txt                           2.6.34  2.6.12    2005/07/25 ○
filesystems/ubifs.txt                           2.6.29  2.6.29    2009/03/25 ◎
filesystems/udf.txt                             2.6.30  2.6.0     2001/11/01 ○
filesystems/ufs.txt                             2.6.21  2.6.0     2001/07/02 ○
filesystems/vfat.txt                            2.6.32  2.6.29    2009/06/03 ○
filesystems/vfs.txt                             2.6.33            2008/10/18 Ｄ
filesystems/xfs.txt                             2.6.29  2.6.29    2009/04/19 ◎
filesystems/xip.txt                             2.6.28  2.6.29    2009/06/03 ◎
firmware_class/README                           2.6.31                       ×
firmware_class/hotplug-script                   2.6.9                        ×
flexible-arrays.txt                             2.6.32                       ×
frv/README.txt                                  2.6.25                       ×
frv/atomic-ops.txt                              2.6.25                       ×
frv/booting.txt                                 2.6.25                       ×
frv/clock.txt                                   2.6.25                       ×
frv/configuring.txt                             2.6.25                       ×
frv/features.txt                                2.6.25                       ×
frv/gdbinit                                     2.6.25                       ×
frv/gdbstub.txt                                 2.6.25                       ×
frv/kernel-ABI.txt                              2.6.25                       ×
frv/mmu-layout.txt                              2.6.25                       ×
futex-requeue-pi.txt                            2.6.31                       ×
gcov.txt                                        2.6.32                       ×
gpio.txt                                        2.6.34                       ×
hayes-esp.txt                                           2.6.7     2004/07/29 ◎
highuid.txt                                     2.6.26  2.6.6     2004/05/17 ○
hw_random.txt                                   2.6.25  2.6.6     2004/05/23 ○
hwmon/abituguru                                 2.6.34                       ×
hwmon/abituguru-datasheet                       2.6.29                       ×
hwmon/abituguru3                                2.6.23                       ×
hwmon/acpi_power_meter                          2.6.32                       ×
hwmon/adm1021                                   2.6.13                       ×
hwmon/adm1025                                   2.6.13                       ×
hwmon/adm1026                                   2.6.22                       ×
hwmon/adm1031                                   2.6.23                       ×
hwmon/adm9240                                   2.6.19                       ×
hwmon/ads7828                                   2.6.25                       ×
hwmon/adt7411                                   2.6.34                       ×
hwmon/adt7462                                   2.6.28                       ×
hwmon/adt7470                                   2.6.29                       ×
hwmon/adt7475                                   2.6.33                       ×
hwmon/amc6821                                   2.6.33                       ×
hwmon/asb100                                    2.6.13                       ×
hwmon/asc7621                                   2.6.34                       ×
hwmon/coretemp                                  2.6.32                       ×
hwmon/dme1737                                   2.6.27                       ×
hwmon/ds1621                                    2.6.30                       ×
hwmon/f71805f                                   2.6.24                       ×
hwmon/f71882fg                                  2.6.33                       ×
hwmon/g760a                                     2.6.30                       ×
hwmon/gl518sm                                   2.6.22                       ×
hwmon/hpfall.c                                  2.6.32                       ×
hwmon/ibmaem                                    2.6.31                       ×
hwmon/it87                                      2.6.34                       ×
hwmon/k10temp                                   2.6.33                       ×
hwmon/k8temp                                    2.6.20                       ×
hwmon/lis3lv02d                                 2.6.33                       ×
hwmon/lm63                                      2.6.13                       ×
hwmon/lm70                                      2.6.29                       ×
hwmon/lm75                                      2.6.13                       ×
hwmon/lm77                                      2.6.13                       ×
hwmon/lm78                                      2.6.25                       ×
hwmon/lm80                                      2.6.13                       ×
hwmon/lm83                                      2.6.22                       ×
hwmon/lm85                                      2.6.29                       ×
hwmon/lm87                                      2.6.28                       ×
hwmon/lm90                                      2.6.34                       ×
hwmon/lm92                                      2.6.13                       ×
hwmon/lm93                                      2.6.24                       ×
hwmon/ltc4215                                   2.6.32                       ×
hwmon/ltc4245                                   2.6.32                       ×
hwmon/max1619                                   2.6.13                       ×
hwmon/max6650                                   2.6.22                       ×
hwmon/mc13783-adc                               2.6.33                       ×
hwmon/pc87360                                   2.6.28                       ×
hwmon/pc87427                                   2.6.32                       ×
hwmon/pcf8591                                   2.6.32                       ×
hwmon/sis5595                                   2.6.22                       ×
hwmon/smsc47b397                                2.6.23                       ×
hwmon/smsc47m1                                  2.6.22                       ×
hwmon/smsc47m192                                2.6.22                       ×
hwmon/sysfs-interface                           2.6.33  2.6.14    2006/01/30 ○
hwmon/thmc50                                    2.6.23                       ×
hwmon/tmp401                                    2.6.31                       ×
hwmon/tmp421                                    2.6.32                       ×
hwmon/userspace-tools                           2.6.25                       ×
hwmon/via686a                                   2.6.22                       ×
hwmon/vt1211                                    2.6.19                       ×
hwmon/w83627ehf                                 2.6.33                       ×
hwmon/w83627hf                                  2.6.33                       ×
hwmon/w83781d                                   2.6.28                       ×
hwmon/w83791d                                   2.6.28                       ×
hwmon/w83792d                                   2.6.22                       ×
hwmon/w83793                                    2.6.20                       ×
hwmon/w83l785ts                                 2.6.26                       ×
hwmon/w83l786ng                                 2.6.25                       ×
hwmon/wm831x                                    2.6.32                       ×
hwmon/wm8350                                    2.6.32                       ×
i2c/busses/i2c-ali1535                          2.6.12                       ×
i2c/busses/i2c-ali1563                          2.6.12                       ×
i2c/busses/i2c-ali15x3                          2.6.12                       ×
i2c/busses/i2c-amd756                           2.6.12                       ×
i2c/busses/i2c-amd8111                          2.6.20                       ×
i2c/busses/i2c-i801                             2.6.34                       ×
i2c/busses/i2c-nforce2                          2.6.30                       ×
i2c/busses/i2c-ocores                           2.6.31                       ×
i2c/busses/i2c-parport                          2.6.34                       ×
i2c/busses/i2c-parport-light                    2.6.34                       ×
i2c/busses/i2c-pca-isa                          2.6.12                       ×
i2c/busses/i2c-piix4                            2.6.32                       ×
i2c/busses/i2c-sis5595                          2.6.12                       ×
i2c/busses/i2c-sis630                           2.6.12                       ×
i2c/busses/i2c-sis96x                           2.6.28                       ×
i2c/busses/i2c-taos-evm                         2.6.23                       ×
i2c/busses/i2c-via                              2.6.22                       ×
i2c/busses/i2c-viapro                           2.6.31                       ×
i2c/busses/scx200_acb                           2.6.18                       ×
i2c/dev-interface                               2.6.28                       ×
i2c/fault-codes                                 2.6.27                       ×
i2c/functionality                               2.6.26                       ×
i2c/i2c-protocol                                2.6.24                       ×
i2c/i2c-stub                                    2.6.33                       ×
i2c/instantiating-devices                       2.6.32                       ×
i2c/old-module-parameters                       2.6.33                       ×
i2c/smbus-protocol                              2.6.34                       ×
i2c/summary                                     2.6.24                       ×
i2c/ten-bit-addresses                           2.6.0                        ×
i2c/upgrading-clients                           2.6.27                       ×
i2c/writing-clients                             2.6.34                       ×
i2o/README                                      2.6.22                       ×
i2o/ioctl                                       2.6.16                       ×
ia64/.gitignore                                 2.6.28                       ×
ia64/IRQ-redir.txt                              2.6.0                        ×
ia64/Makefile                                   2.6.27                       ×
ia64/README                                     2.6.0   2.6.5     2001/06/29 ◎
ia64/aliasing-test.c                            2.6.32                       ×
ia64/aliasing.txt                               2.6.23                       ×
ia64/efirtc.txt                                 2.6.19  2.6.5     2001/07/02 ○
ia64/err_inject.txt                             2.6.24                       ×
ia64/fsys.txt                                   2.6.19                       ×
ia64/kvm.txt                                    2.6.30                       ×
ia64/mca.txt                                    2.6.19                       ×
ia64/paravirt_ops.txt                           2.6.27                       ×
ia64/serial.txt                                 2.6.19                       ×
ia64/xen.txt                                    2.6.28                       ×
ide/00-INDEX                                    2.6.25                       ×
ide/ChangeLog.ide-cd.1994-2004                  2.6.25                       ×
ide/ChangeLog.ide-floppy.1996-2002              2.6.25                       ×
ide/ChangeLog.ide-tape.1995-2002                2.6.25                       ×
ide/ide-tape.txt                                2.6.26                       ×
ide/ide.txt                                     2.6.31                       ×
ide/warm-plug-howto.txt                         2.6.29                       ×
infiniband/core_locking.txt                     2.6.13                       ×
infiniband/ipoib.txt                            2.6.33                       ×
infiniband/sysfs.txt                            2.6.11                       ×
infiniband/user_mad.txt                         2.6.32                       ×
infiniband/user_verbs.txt                       2.6.32                       ×
init.txt                                        2.6.34                       ×
initrd.txt                                      2.6.25                       ×
input/amijoy.txt                                2.6.20                       ×
input/appletouch.txt                            2.6.16                       ×
input/atarikbd.txt                              2.6.24                       ×
input/bcm5974.txt                               2.6.30                       ×
input/cd32.txt                                  2.6.0                        ×
input/cs461x.txt                                2.6.27                       ×
input/elantech.txt                              2.6.34                       ×
input/ff.txt                                    2.6.24                       ×
input/gameport-programming.txt                  2.6.27                       ×
input/iforce-protocol.txt                       2.6.24                       ×
input/input-programming.txt                     2.6.28                       ×
input/input.txt                                 2.6.31                       ×
input/joystick-api.txt                          2.6.27                       ×
input/joystick-parport.txt                      2.6.27                       ×
input/joystick.txt                              2.6.27                       ×
input/multi-touch-protocol.txt                  2.6.34                       ×
input/notifier.txt                              2.6.25                       ×
input/rotary-encoder.txt                        2.6.34                       ×
input/sentelic.txt                              2.6.34                       ×
input/walkera0701.txt                           2.6.29                       ×
input/xpad.txt                                  2.6.22                       ×
input/yealink.txt                               2.6.20                       ×
intel_txt.txt                                   2.6.32                       ×
io-mapping.txt                                  2.6.28                       ×
io_ordering.txt                                 2.6.0   2.6.5     2004/05/04 ◎
ioctl-number.txt                                        2.6.7     2004/06/29 ◎
ioctl/00-INDEX                                  2.6.28                       ×
ioctl/cdrom.txt                                 2.6.27                       ×
ioctl/hdio.txt                                  2.6.27                       ×
ioctl/ioctl-decoding.txt                        2.6.27                       ×
ioctl/ioctl-number.txt                          2.6.34                       ×
iostats.txt                                     2.6.27                       ×
irqflags-tracing.txt                            2.6.18                       ×
isapnp.txt                                      2.6.0   2.6.5     2004/04/11 ◎
isdn/00-INDEX                                   2.6.31                       ×
isdn/CREDITS                                    2.6.28                       ×
isdn/HiSax.cert                                 2.6.0                        ×
isdn/INTERFACE                                  2.6.7                        ×
isdn/INTERFACE.CAPI                             2.6.34                       ×
isdn/INTERFACE.fax                              2.6.19                       ×
isdn/README                                     2.6.22                       ×
isdn/README.FAQ                                 2.6.0                        ×
isdn/README.HiSax                               2.6.0                        ×
isdn/README.act2000                             2.6.0                        ×
isdn/README.audio                               2.6.0                        ×
isdn/README.avmb1                               2.6.0                        ×
isdn/README.concap                              2.6.24                       ×
isdn/README.diversion                           2.6.0                        ×
isdn/README.fax                                 2.6.0                        ×
isdn/README.gigaset                             2.6.34                       ×
isdn/README.hfc-pci                             2.6.0                        ×
isdn/README.hysdn                               2.6.19                       ×
isdn/README.icn                                 2.6.22                       ×
isdn/README.mISDN                               2.6.27                       ×
isdn/README.pcbit                               2.6.0                        ×
isdn/README.sc                                  2.6.0                        ×
isdn/README.syncppp                             2.6.0                        ×
isdn/README.x25                                 2.6.0                        ×
isdn/syncPPP.FAQ                                2.6.0                        ×
java.txt                                        2.6.24  2.6.6     2004/05/11 ○
kbuild/00-INDEX                                 2.6.29                       ×
kbuild/kbuild.txt                               2.6.33                       ×
kbuild/kconfig-language.txt                     2.6.26                       ×
kbuild/kconfig.txt                              2.6.33                       ×
kbuild/makefiles.txt                            2.6.32                       ×
kbuild/modules.txt                              2.6.31                       ×
kdump/gdbmacros.txt                             2.6.18                       ×
kdump/kdump.txt                                 2.6.31                       ×
kernel-doc-nano-HOWTO.txt                       2.6.33  2.6.5     2004/05/04 ○
kernel-docs.txt                                 2.6.26                       ×
kernel-parameters.txt                           2.6.34                       ×
keys-request-key.txt                            2.6.26                       ×
keys.txt                                        2.6.32                       ×
kmemcheck.txt                                   2.6.32                       ×
kmemleak.txt                                    2.6.32                       ×
kobject.txt                                     2.6.34                       ×
kprobes.txt                                     2.6.34                       ×
kref.txt                                        2.6.32                       ×
kvm/api.txt                                     2.6.34                       ×
laptops/00-INDEX                                2.6.34                       ×
laptops/Makefile                                2.6.34                       ×
laptops/acer-wmi.txt                            2.6.31                       ×
laptops/asus-laptop.txt                         2.6.32                       ×
laptops/disk-shock-protection.txt               2.6.28                       ×
laptops/dslm.c                                  2.6.34                       ×
laptops/laptop-mode.txt                         2.6.34                       ×
laptops/sony-laptop.txt                         2.6.31                       ×
laptops/sonypi.txt                              2.6.25  2.6.6     2004/05/23 ○
laptops/thinkpad-acpi.txt                       2.6.34                       ×
ldm.txt                                         2.6.22  2.6.5     2004/05/04 ○
leds-class.txt                                  2.6.32                       ×
leds-lp3944.txt                                 2.6.31                       ×
lguest/.gitignore                               2.6.30                       ×
lguest/Makefile                                 2.6.31                       ×
lguest/extract                                  2.6.23                       ×
lguest/lguest.c                                 2.6.34                       ×
lguest/lguest.txt                               2.6.31                       ×
local_ops.txt                                   2.6.31                       ×
lockdep-design.txt                              2.6.31                       ×
lockstat.txt                                    2.6.33                       ×
logo.txt                                        2.6.30  2.6.0     1999/01/29 ○
m68k/00-INDEX                                   2.6.2                        ×
m68k/README.buddha                              2.6.22                       ×
m68k/kernel-options.txt                         2.6.25                       ×
magic-number.txt                                2.6.29                       ×
make/headers_install.txt                        2.6.24                       ×
mca.txt                                         2.6.25                       ×
md.txt                                          2.6.33  2.6.5     2004/04/22 ○
memory-barriers.txt                             2.6.34                       ×
memory-hotplug.txt                              2.6.33                       ×
memory.txt                                      2.6.32  2.6.5     2004/04/11 ○
mips/00-INDEX                                   2.6.25                       ×
mips/AU1xxx_IDE.README                          2.6.29                       ×
misc-devices/ad525x_dpot.txt                    2.6.33                       ×
misc-devices/c2port.txt                         2.6.33                       ×
misc-devices/eeprom                             2.6.32                       ×
misc-devices/ics932s401                         2.6.33                       ×
misc-devices/isl29003                           2.6.30                       ×
misc-devices/max6875                            2.6.32                       ×
mn10300/ABI.txt                                 2.6.31                       ×
mn10300/compartmentalisation.txt                2.6.25                       ×
mono.txt                                        2.6.19  2.6.5     2004/05/04 ○
mtd/nand_ecc.txt                                2.6.31                       ×
mtrr.txt                                                2.6.0     2001/10/25 ◎
mutex-design.txt                                2.6.24                       ×
namespaces/compatibility-list.txt               2.6.24                       ×
nbd.txt                                                 2.6.5     2004/04/15 ◎
netlabel/00-INDEX                               2.6.19                       ×
netlabel/cipso_ipv4.txt                         2.6.19                       ×
netlabel/draft-ietf-cipso-ipsecurity-01.txt     2.6.19                       ×
netlabel/introduction.txt                       2.6.22                       ×
netlabel/lsm_interface.txt                      2.6.19                       ×
networking/.gitignore                           2.6.28                       ×
networking/00-INDEX                             2.6.34                       ×
networking/3c359.txt                            2.6.0                        ×
networking/3c505.txt                            2.6.24  2.6.0     2001/09/18 ○
networking/3c509.txt                            2.6.33                       ×
networking/6pack.txt                            2.6.31  2.6.0     1999/08/10 ○
networking/DLINK.txt                            2.6.12                       ×
networking/LICENSE.qla3xxx                      2.6.19                       ×
networking/LICENSE.qlge                         2.6.28                       ×
networking/Makefile                             2.6.34                       ×
networking/PLIP.txt                             2.6.0                        ×
networking/README.ipw2100                       2.6.17                       ×
networking/README.ipw2200                       2.6.29                       ×
networking/README.sb1000                        2.6.0                        ×
networking/alias.txt                            2.6.29                       ×
networking/arcnet-hardware.txt                  2.6.19                       ×
networking/arcnet.txt                           2.6.26                       ×
networking/atm.txt                              2.6.0                        ×
networking/ax25.txt                             2.6.21  2.6.0     2002/10/11 ○
networking/baycom.txt                           2.6.4   2.6.0     2001/01/28 ○
networking/bonding.txt                          2.6.33  2.6.25    2008/02/20 ○
networking/bridge.txt                           2.6.26  2.6.0     2002/10/04 ○
networking/can.txt                              2.6.31                       ×
networking/cops.txt                             2.6.0   2.6.0     2001/07/02 ◎
networking/cs89x0.txt                           2.6.28                       ×
networking/cxacru-cf.py                         2.6.34                       ×
networking/cxacru.txt                           2.6.34                       ×
networking/cxgb.txt                             2.6.19                       ×
networking/dccp.txt                             2.6.34                       ×
networking/de4x5.txt                            2.6.0   2.6.0     2001/11/26 ◎
networking/decnet.txt                           2.6.25                       ×
networking/depca.txt                            2.6.0                        ×
networking/dl2k.txt                             2.6.19                       ×
networking/dm9000.txt                           2.6.31                       ×
networking/dmfe.txt                             2.6.28                       ×
networking/driver.txt                           2.6.29                       ×
networking/e100.txt                             2.6.17                       ×
networking/e1000.txt                            2.6.27                       ×
networking/eql.txt                              2.6.0                        ×
networking/ewrk3.txt                            2.6.0                        ×
networking/fib_trie.txt                         2.6.19                       ×
networking/filter.txt                           2.6.0   2.6.0     2002/02/02 ◎
networking/fore200e.txt                         2.6.0                        ×
networking/framerelay.txt                       2.6.0                        ×
networking/gen_stats.txt                        2.6.19                       ×
networking/generic-hdlc.txt                     2.6.29                       ×
networking/generic_netlink.txt                  2.6.20                       ×
networking/gianfar.txt                          2.6.16                       ×
networking/ieee802154.txt                       2.6.32                       ×
networking/ifenslave.c                          2.6.27                       ×
networking/ip-sysctl.txt                        2.6.34                       ×
networking/ip_dynaddr.txt                       2.6.0                        ×
networking/ipddp.txt                            2.6.0   2.6.0     2001/07/06 ◎
networking/iphase.txt                           2.6.20                       ×
networking/ipv6.txt                             2.6.31                       ×
networking/ipvs-sysctl.txt                      2.6.18                       ×
networking/irda.txt                             2.6.15                       ×
networking/ixgb.txt                             2.6.27                       ×
networking/ixgbe.txt                            2.6.30                       ×
networking/ixgbevf.txt                          2.6.34                       ×
networking/l2tp.txt                             2.6.31                       ×
networking/lapb-module.txt                      2.6.0                        ×
networking/ltpc.txt                             2.6.4   2.6.0     2001/06/29 ○
networking/mac80211-injection.txt               2.6.31                       ×
networking/mac80211_hwsim/README                2.6.29                       ×
networking/mac80211_hwsim/hostapd.conf          2.6.27                       ×
networking/mac80211_hwsim/wpa_supplicant.conf   2.6.27                       ×
networking/multicast.txt                        2.6.13                       ×
networking/multiqueue.txt                       2.6.28                       ×
networking/netconsole.txt                       2.6.29  2.6.12    2005/07/21 ○
networking/netdevices.txt                       2.6.31                       ×
networking/netif-msg.txt                        2.6.19                       ×
networking/olympic.txt                          2.6.0                        ×
networking/operstates.txt                       2.6.31                       ×
networking/packet_mmap.txt                      2.6.34                       ×
networking/phonet.txt                           2.6.31                       ×
networking/phy.txt                              2.6.28                       ×
networking/pktgen.txt                           2.6.32                       ×
networking/policy-routing.txt                   2.6.0                        ×
networking/ppp_generic.txt                      2.6.0                        ×
networking/proc_net_tcp.txt                     2.6.24                       ×
networking/radiotap-headers.txt                 2.6.23                       ×
networking/ray_cs.txt                           2.6.17                       ×
networking/rds.txt                              2.6.30                       ×
networking/regulatory.txt                       2.6.34                       ×
networking/rxrpc.txt                            2.6.29                       ×
networking/s2io.txt                             2.6.27                       ×
networking/sctp.txt                             2.6.0                        ×
networking/secid.txt                            2.6.19                       ×
networking/skfp.txt                             2.6.34                       ×
networking/smc9.txt                             2.6.0                        ×
networking/smctr.txt                            2.6.19                       ×
networking/spider_net.txt                       2.6.23                       ×
networking/stmmac.txt                           2.6.34                       ×
networking/tc-actions-env-rules.txt             2.6.27                       ×
networking/tcp-thin.txt                         2.6.34                       ×
networking/tcp.txt                              2.6.25                       ×
networking/timestamping.txt                     2.6.34                       ×
networking/timestamping/.gitignore              2.6.30                       ×
networking/timestamping/Makefile                2.6.34                       ×
networking/timestamping/timestamping.c          2.6.34                       ×
networking/tlan.txt                             2.6.0                        ×
networking/tms380tr.txt                         2.6.22                       ×
networking/tproxy.txt                           2.6.28                       ×
networking/tuntap.txt                           2.6.29                       ×
networking/udplite.txt                          2.6.27                       ×
networking/vortex.txt                           2.6.28                       ×
networking/vxge.txt                             2.6.30                       ×
networking/wavelan.txt                          2.6.24                       ×
networking/x25-iface.txt                        2.6.0                        ×
networking/x25.txt                              2.6.0                        ×
networking/xfrm_proc.txt                        2.6.25                       ×
networking/xfrm_sync.txt                        2.6.20                       ×
networking/xfrm_sysctl.txt                      2.6.22                       ×
networking/z8530drv.txt                         2.6.0                        ×
nmi_watchdog.txt                                2.6.29  2.6.5     2004/05/04 ○
nommu-mmap.txt                                  2.6.33                       ×
numastat.txt                                    2.6.32                       ×
oops-tracing.txt                                2.6.33                       ×
parisc/00-INDEX                                 2.6.12                       ×
parisc/debugging                                2.6.8                        ×
parisc/registers                                2.6.10                       ×
parport-lowlevel.txt                            2.6.24                       ×
parport.txt                                     2.6.12                       ×
pcmcia/.gitignore                               2.6.28                       ×
pcmcia/Makefile                                 2.6.27                       ×
pcmcia/crc32hash.c                              2.6.32                       ×
pcmcia/devicetable.txt                          2.6.18                       ×
pcmcia/driver-changes.txt                       2.6.33                       ×
pcmcia/driver.txt                               2.6.22                       ×
pcmcia/locking.txt                              2.6.34                       ×
pi-futex.txt                                    2.6.19                       ×
pnp.txt                                         2.6.34  2.6.6     2004/05/17 ○
power/00-INDEX                                  2.6.27                       ×
power/apm-acpi.txt                              2.6.27                       ×
power/basic-pm-debugging.txt                    2.6.25                       ×
power/devices.txt                               2.6.31                       ×
power/drivers-testing.txt                       2.6.25                       ×
power/freezing-of-tasks.txt                     2.6.24                       ×
power/interface.txt                             2.6.24  2.6.13    2005/09/07 ○
power/notifiers.txt                             2.6.25                       ×
power/pci.txt                                   2.6.23                       ×
power/pm_qos_interface.txt                      2.6.27                       ×
power/power_supply_class.txt                    2.6.32                       ×
power/regulator/consumer.txt                    2.6.33                       ×
power/regulator/design.txt                      2.6.32                       ×
power/regulator/machine.txt                     2.6.32                       ×
power/regulator/overview.txt                    2.6.32                       ×
power/regulator/regulator.txt                   2.6.32                       ×
power/runtime_pm.txt                            2.6.34                       ×
power/s2ram.txt                                 2.6.31                       ×
power/states.txt                                2.6.22  2.6.13    2005/09/06 ○
power/swsusp-and-swap-files.txt                 2.6.24                       ×
power/swsusp-dmcrypt.txt                        2.6.14                       ×
power/swsusp.txt                                2.6.25  2.6.14    2005/12/20 ○
power/tricks.txt                                2.6.19                       ×
power/userland-swsusp.txt                       2.6.31                       ×
power/video.txt                                 2.6.19                       ×
power/video_extension.txt                       2.6.13  2.6.13    2005/09/06 ◎
powerpc/00-INDEX                                2.6.28                       ×
powerpc/booting-without-of.txt                  2.6.31                       ×
powerpc/bootwrapper.txt                         2.6.27                       ×
powerpc/cpu_features.txt                        2.6.29                       ×
powerpc/dts-bindings/4xx/emac.txt               2.6.31                       ×
powerpc/dts-bindings/4xx/ndfc.txt               2.6.29                       ×
powerpc/dts-bindings/4xx/ppc440spe-adma.txt     2.6.33                       ×
powerpc/dts-bindings/can/sja1000.txt            2.6.31                       ×
powerpc/dts-bindings/ecm.txt                    2.6.31                       ×
powerpc/dts-bindings/fsl/83xx-512x-pci.txt      2.6.28                       ×
powerpc/dts-bindings/fsl/8xxx_gpio.txt          2.6.28                       ×
powerpc/dts-bindings/fsl/board.txt              2.6.33                       ×
powerpc/dts-bindings/fsl/can.txt                2.6.34                       ×
powerpc/dts-bindings/fsl/cpm_qe/cpm.txt         2.6.31                       ×
powerpc/dts-bindings/fsl/cpm_qe/cpm/brg.txt     2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/cpm/i2c.txt     2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/cpm/pic.txt     2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/cpm/usb.txt     2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/gpio.txt        2.6.31                       ×
powerpc/dts-bindings/fsl/cpm_qe/network.txt     2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/qe.txt          2.6.34                       ×
powerpc/dts-bindings/fsl/cpm_qe/qe/firmware.txt 2.6.30                       ×
powerpc/dts-bindings/fsl/cpm_qe/qe/par_io.txt   2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/qe/pincfg.txt   2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/qe/ucc.txt      2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/qe/usb.txt      2.6.27                       ×
powerpc/dts-bindings/fsl/cpm_qe/serial.txt      2.6.27                       ×
powerpc/dts-bindings/fsl/diu.txt                2.6.27                       ×
powerpc/dts-bindings/fsl/dma.txt                2.6.34                       ×
powerpc/dts-bindings/fsl/esdhc.txt              2.6.32                       ×
powerpc/dts-bindings/fsl/gtm.txt                2.6.27                       ×
powerpc/dts-bindings/fsl/guts.txt               2.6.27                       ×
powerpc/dts-bindings/fsl/i2c.txt                2.6.34                       ×
powerpc/dts-bindings/fsl/lbc.txt                2.6.27                       ×
powerpc/dts-bindings/fsl/mcm.txt                2.6.31                       ×
powerpc/dts-bindings/fsl/mcu-mpc8349emitx.txt   2.6.27                       ×
powerpc/dts-bindings/fsl/mpc5121-psc.txt        2.6.34                       ×
powerpc/dts-bindings/fsl/mpc5200.txt            2.6.34                       ×
powerpc/dts-bindings/fsl/mpic.txt               2.6.33                       ×
powerpc/dts-bindings/fsl/msi-pic.txt            2.6.31                       ×
powerpc/dts-bindings/fsl/pmc.txt                2.6.31                       ×
powerpc/dts-bindings/fsl/sata.txt               2.6.27                       ×
powerpc/dts-bindings/fsl/sec.txt                2.6.27                       ×
powerpc/dts-bindings/fsl/spi.txt                2.6.34                       ×
powerpc/dts-bindings/fsl/ssi.txt                2.6.30                       ×
powerpc/dts-bindings/fsl/tsec.txt               2.6.30                       ×
powerpc/dts-bindings/fsl/upm-nand.txt           2.6.30                       ×
powerpc/dts-bindings/fsl/usb.txt                2.6.27                       ×
powerpc/dts-bindings/gpio/gpio.txt              2.6.31                       ×
powerpc/dts-bindings/gpio/led.txt               2.6.31                       ×
powerpc/dts-bindings/gpio/mdio.txt              2.6.31                       ×
powerpc/dts-bindings/marvell.txt                2.6.32                       ×
powerpc/dts-bindings/mmc-spi-slot.txt           2.6.30                       ×
powerpc/dts-bindings/mtd-physmap.txt            2.6.32                       ×
powerpc/dts-bindings/nintendo/gamecube.txt      2.6.33                       ×
powerpc/dts-bindings/nintendo/wii.txt           2.6.33                       ×
powerpc/dts-bindings/phy.txt                    2.6.31                       ×
powerpc/dts-bindings/spi-bus.txt                2.6.31                       ×
powerpc/dts-bindings/usb-ehci.txt               2.6.31                       ×
powerpc/dts-bindings/xilinx.txt                 2.6.33                       ×
powerpc/eeh-pci-error-recovery.txt              2.6.27                       ×
powerpc/hvcs.txt                                2.6.19                       ×
powerpc/kvm_440.txt                             2.6.26                       ×
powerpc/mpc52xx.txt                             2.6.9                        ×
powerpc/phyp-assisted-dump.txt                  2.6.26                       ×
powerpc/ptrace.txt                              2.6.34                       ×
powerpc/qe_firmware.txt                         2.6.31                       ×
powerpc/sound.txt                               2.6.0                        ×
powerpc/zImage_layout.txt                       2.6.0   2.6.0     2002/03/19 ◎
pps/pps.txt                                     2.6.31                       ×
prctl/disable-tsc-ctxt-sw-stress-test.c         2.6.26                       ×
prctl/disable-tsc-on-off-stress-test.c          2.6.26                       ×
prctl/disable-tsc-test.c                        2.6.26                       ×
preempt-locking.txt                             2.6.0             2004/04/07 Ｄ
printk-formats.txt                              2.6.28                       ×
prio_tree.txt                                   2.6.19                       ×
rbtree.txt                                      2.6.31                       ×
rfkill.txt                                      2.6.31                       ×
riscom8.txt                                             2.6.0     1999/01/30 ◎
robust-futex-ABI.txt                            2.6.31                       ×
robust-futexes.txt                              2.6.20                       ×
rocket.txt                                              2.6.5     2004/04/17 ◎
rt-mutex-design.txt                             2.6.19                       ×
rt-mutex.txt                                    2.6.18                       ×
rtc.txt                                         2.6.32  2.6.0     2002/03/19 ○
s390/00-INDEX                                   2.6.24                       ×
s390/3270.ChangeLog                             2.6.0                        ×
s390/3270.txt                                   2.6.19                       ×
s390/CommonIO                                   2.6.34                       ×
s390/DASD                                       2.6.0                        ×
s390/Debugging390.txt                           2.6.31                       ×
s390/TAPE                                       2.6.0                        ×
s390/cds.txt                                    2.6.29                       ×
s390/config3270.sh                              2.6.0                        ×
s390/driver-model.txt                           2.6.34                       ×
s390/kvm.txt                                    2.6.34                       ×
s390/monreader.txt                              2.6.19                       ×
s390/s390dbf.txt                                2.6.32                       ×
s390/zfcpdump.txt                               2.6.22                       ×
scheduler/00-INDEX                              2.6.30                       ×
scheduler/sched-arch.txt                        2.6.29                       ×
scheduler/sched-coding.txt                              2.6.3     2004/01/29 ◎
scheduler/sched-design-CFS.txt                  2.6.29                       ×
scheduler/sched-domains.txt                     2.6.27                       ×
scheduler/sched-nice-design.txt                 2.6.31                       ×
scheduler/sched-rt-group.txt                    2.6.31                       ×
scheduler/sched-stats.txt                       2.6.25                       ×
scsi/00-INDEX                                   2.6.25                       ×
scsi/53c700.txt                                 2.6.0                        ×
scsi/BusLogic.txt                               2.6.3                        ×
scsi/ChangeLog.1992-1997                        2.6.19                       ×
scsi/ChangeLog.arcmsr                           2.6.25                       ×
scsi/ChangeLog.ips                              2.6.0                        ×
scsi/ChangeLog.lpfc                             2.6.34                       ×
scsi/ChangeLog.megaraid                         2.6.32                       ×
scsi/ChangeLog.megaraid_sas                     2.6.34                       ×
scsi/ChangeLog.ncr53c8xx                        2.6.29                       ×
scsi/ChangeLog.sym53c8xx                        2.6.29                       ×
scsi/ChangeLog.sym53c8xx_2                      2.6.0                        ×
scsi/FlashPoint.txt                             2.6.0                        ×
scsi/LICENSE.FlashPoint                         2.6.0                        ×
scsi/LICENSE.qla2xxx                            2.6.15                       ×
scsi/Mylex.txt                                  2.6.0                        ×
scsi/NinjaSCSI.txt                              2.6.19                       ×
scsi/aacraid.txt                                2.6.30                       ×
scsi/advansys.txt                               2.6.24                       ×
scsi/aha152x.txt                                2.6.22                       ×
scsi/aic79xx.txt                                2.6.31                       ×
scsi/aic7xxx.txt                                2.6.24                       ×
scsi/aic7xxx_old.txt                            2.6.22                       ×
scsi/arcmsr_spec.txt                            2.6.24                       ×
scsi/cxgb3i.txt                                 2.6.29                       ×
scsi/dc395x.txt                                 2.6.19                       ×
scsi/dpti.txt                                   2.6.19                       ×
scsi/dtc3x80.txt                                2.6.0                        ×
scsi/g_NCR5380.txt                              2.6.0                        ×
scsi/hptiop.txt                                 2.6.32                       ×
scsi/ibmmca.txt                                 2.6.27                       ×
scsi/in2000.txt                                 2.6.20                       ×
scsi/libsas.txt                                 2.6.20                       ×
scsi/link_power_management_policy.txt           2.6.24                       ×
scsi/lpfc.txt                                   2.6.27                       ×
scsi/megaraid.txt                               2.6.19                       ×
scsi/ncr53c8xx.txt                              2.6.31                       ×
scsi/osd.txt                                    2.6.30                       ×
scsi/osst.txt                                   2.6.19                       ×
scsi/ppa.txt                                    2.6.19                       ×
scsi/qlogicfas.txt                              2.6.15                       ×
scsi/scsi-changer.txt                           2.6.20                       ×
scsi/scsi-generic.txt                           2.6.0                        ×
scsi/scsi.txt                                   2.6.0                        ×
scsi/scsi_eh.txt                                2.6.20                       ×
scsi/scsi_fc_transport.txt                      2.6.32                       ×
scsi/scsi_mid_low_api.txt                       2.6.31                       ×
scsi/st.txt                                     2.6.26                       ×
scsi/sym53c500_cs.txt                           2.6.7                        ×
scsi/sym53c8xx_2.txt                            2.6.31                       ×
scsi/tmscsim.txt                                2.6.22                       ×
serial-console.txt                              2.6.17  2.6.0     2002/02/07 ○
serial/00-INDEX                                 2.6.28                       ×
serial/README.cycladesZ                         2.6.28                       ×
serial/computone.txt                            2.6.28                       ×
serial/digiepca.txt                             2.6.28                       ×
serial/driver                                   2.6.27                       ×
serial/moxa-smartio                             2.6.28                       ×
serial/riscom8.txt                              2.6.28                       ×
serial/rocket.txt                               2.6.28                       ×
serial/specialix.txt                            2.6.28                       ×
serial/stallion.txt                             2.6.28                       ×
serial/sx.txt                                   2.6.28                       ×
serial/tty.txt                                  2.6.34                       ×
sgi-ioc4.txt                                    2.6.13                       ×
sgi-visws.txt                                   2.6.0   2.6.0     2001/07/13 ◎
sh/clk.txt                                      2.6.27                       ×
sh/new-machine.txt                              2.6.28                       ×
sh/register-banks.txt                           2.6.19                       ×
slow-work.txt                                   2.6.32                       ×
sound/alsa/ALSA-Configuration.txt               2.6.34                       ×
sound/alsa/Audigy-mixer.txt                     2.6.20                       ×
sound/alsa/Audiophile-Usb.txt                   2.6.27                       ×
sound/alsa/Bt87x.txt                            2.6.22                       ×
sound/alsa/CMIPCI.txt                           2.6.24                       ×
sound/alsa/ControlNames.txt                     2.6.33                       ×
sound/alsa/HD-Audio-Models.txt                  2.6.34                       ×
sound/alsa/HD-Audio.txt                         2.6.34                       ×
sound/alsa/Joystick.txt                         2.6.10                       ×
sound/alsa/MIXART.txt                           2.6.19                       ×
sound/alsa/OSS-Emulation.txt                    2.6.24                       ×
sound/alsa/Procfile.txt                         2.6.33                       ×
sound/alsa/README.maya44                        2.6.31                       ×
sound/alsa/SB-Live-mixer.txt                    2.6.20                       ×
sound/alsa/VIA82xx-mixer.txt                    2.6.12                       ×
sound/alsa/emu10k1-jack.txt                     2.6.13                       ×
sound/alsa/hda_codec.txt                        2.6.31                       ×
sound/alsa/hdspm.txt                            2.6.13                       ×
sound/alsa/powersave.txt                        2.6.24                       ×
sound/alsa/seq_oss.html                         2.6.0                        ×
sound/alsa/serial-u16550.txt                    2.6.12                       ×
sound/alsa/soc/DAI.txt                          2.6.25                       ×
sound/alsa/soc/clocking.txt                     2.6.25                       ×
sound/alsa/soc/codec.txt                        2.6.25                       ×
sound/alsa/soc/dapm.txt                         2.6.31                       ×
sound/alsa/soc/jack.txt                         2.6.30                       ×
sound/alsa/soc/machine.txt                      2.6.29                       ×
sound/alsa/soc/overview.txt                     2.6.25                       ×
sound/alsa/soc/platform.txt                     2.6.25                       ×
sound/alsa/soc/pops_clicks.txt                  2.6.25                       ×
sound/oss/ALS                                   2.6.0                        ×
sound/oss/AudioExcelDSP16                       2.6.4                        ×
sound/oss/CMI8330                               2.6.4                        ×
sound/oss/CS4232                                        2.6.0     1999/05/06 ◎
sound/oss/ESS                                   2.6.0                        ×
sound/oss/ESS1868                               2.6.0                        ×
sound/oss/Introduction                          2.6.30                       ×
sound/oss/MultiSound                            2.6.0                        ×
sound/oss/OPL3                                  2.6.0                        ×
sound/oss/Opti                                  2.6.4                        ×
sound/oss/PAS16                                 2.6.8                        ×
sound/oss/PSS                                   2.6.0                        ×
sound/oss/PSS-updates                           2.6.0                        ×
sound/oss/README.OSS                            2.6.0                        ×
sound/oss/README.modules                        2.6.10                       ×
sound/oss/README.ymfsb                          2.6.0                        ×
sound/oss/SoundPro                              2.6.1                        ×
sound/oss/Soundblaster                          2.6.0                        ×
sound/oss/Tropez+                               2.6.0                        ×
sound/oss/VIBRA16                               2.6.7                        ×
sound/oss/WaveArtist                            2.6.0                        ×
sound/oss/btaudio                               2.6.0                        ×
sound/oss/mwave                                 2.6.22                       ×
sound/oss/ultrasound                            2.6.19                       ×
sound/oss/vwsnd                                 2.6.19                       ×
sparc/README-2.5                                2.6.0                        ×
sparse.txt                                      2.6.30                       ×
spi/.gitignore                                  2.6.28                       ×
spi/Makefile                                    2.6.27                       ×
spi/butterfly                                   2.6.16                       ×
spi/pxa2xx                                      2.6.28                       ×
spi/spi-lm70llp                                 2.6.29                       ×
spi/spi-summary                                 2.6.33                       ×
spi/spidev                                      2.6.26                       ×
spi/spidev_fdx.c                                2.6.26                       ×
spi/spidev_test.c                               2.6.34                       ×
spinlocks.txt                                   2.6.33                       ×
stable_api_nonsense.txt                         2.6.23  2.6.22    2007/06/11 ○
stable_kernel_rules.txt                         2.6.34  2.6.29    2009/01/14 ○
svga.txt                                        2.6.0   2.6.13    2005/08/30 ◎
sysctl/00-INDEX                                 2.6.30                       ×
sysctl/README                                   2.6.8   2.6.7     2004/07/29 ○
sysctl/abi.txt                                  2.6.0   2.6.7     2004/07/02 ◎
sysctl/fs.txt                                   2.6.32  2.6.7     2004/07/29 ○
sysctl/kernel.txt                               2.6.33  2.6.7     2004/07/29 ○
sysctl/net.txt                                  2.6.30                       ×
sysctl/sunrpc.txt                               2.6.0   2.6.7     2004/07/02 ◎
sysctl/vm.txt                                   2.6.34  2.6.7     2004/07/29 ○
sysfs-rules.txt                                 2.6.30                       ×
sysrq.txt                                       2.6.31                       ×
telephony/00-INDEX                              2.6.24                       ×
telephony/ixj.txt                               2.6.27                       ×
thermal/sysfs-api.txt                           2.6.33                       ×
timers/00-INDEX                                 2.6.34                       ×
timers/Makefile                                 2.6.34                       ×
timers/highres.txt                              2.6.27                       ×
timers/hpet.txt                                 2.6.34                       ×
timers/hpet_example.c                           2.6.34                       ×
timers/hrtimers.txt                             2.6.26                       ×
timers/timer_stats.txt                          2.6.31                       ×
tomoyo.txt                                      2.6.30                       ×
trace/events-kmem.txt                           2.6.33                       ×
trace/events.txt                                2.6.32                       ×
trace/ftrace-design.txt                         2.6.34                       ×
trace/ftrace.txt                                2.6.34                       ×
trace/function-graph-fold.vim                   2.6.32                       ×
trace/kmemtrace.txt                             2.6.31                       ×
trace/kprobetrace.txt                           2.6.34                       ×
trace/mmiotrace.txt                             2.6.33                       ×
trace/postprocess/trace-pagealloc-postprocess.pl2.6.32                       ×
trace/ring-buffer-design.txt                    2.6.33                       ×
trace/tracepoint-analysis.txt                   2.6.33                       ×
trace/tracepoints.txt                           2.6.30                       ×
uml/UserModeLinux-HOWTO.txt                     2.6.20                       ×
unaligned-memory-access.txt                     2.6.27                       ×
unicode.txt                                     2.6.11  2.6.0     1999/01/29 ○
unshare.txt                                     2.6.19                       ×
usb/CREDITS                                     2.6.22                       ×
usb/URB.txt                                     2.6.19                       ×
usb/WUSB-Design-overview.txt                    2.6.31                       ×
usb/acm.txt                                     2.6.20                       ×
usb/anchors.txt                                 2.6.31                       ×
usb/authorization.txt                           2.6.32                       ×
usb/callbacks.txt                               2.6.31                       ×
usb/dma.txt                                     2.6.29                       ×
usb/ehci.txt                                    2.6.0                        ×
usb/error-codes.txt                             2.6.34                       ×
usb/gadget_printer.txt                          2.6.25                       ×
usb/gadget_serial.txt                           2.6.28                       ×
usb/hiddev.txt                                  2.6.20                       ×
usb/hotplug.txt                                 2.6.0   2.6.12    2005/08/17 ◎
usb/iuu_phoenix.txt                             2.6.25                       ×
usb/linux.inf                                   2.6.6                        ×
usb/misc_usbsevseg.txt                          2.6.28                       ×
usb/mtouchusb.txt                               2.6.19                       ×
usb/ohci.txt                                    2.6.0   2.6.14    2005/11/12 ◎
usb/persist.txt                                 2.6.27                       ×
usb/power-management.txt                        2.6.34                       ×
usb/proc_usb_info.txt                           2.6.28                       ×
usb/rio.txt                                     2.6.20                       ×
usb/uhci.txt                                            2.6.14    2005/11/13 ◎
usb/usb-help.txt                                2.6.25  2.6.0     2002/02/27 ○
usb/usb-serial.txt                              2.6.26                       ×
usb/usbmon.txt                                  2.6.32                       ×
usb/wusb-cbaf                                   2.6.29                       ×
vgaarbiter.txt                                  2.6.33                       ×
video-output.txt                                2.6.21                       ×
video4linux/.gitignore                          2.6.28                       ×
video4linux/API.html                            2.6.29                       ×
video4linux/CARDLIST.au0828                     2.6.28                       ×
video4linux/CARDLIST.bttv                       2.6.30                       ×
video4linux/CARDLIST.cx23885                    2.6.34                       ×
video4linux/CARDLIST.cx88                       2.6.33                       ×
video4linux/CARDLIST.em28xx                     2.6.33                       ×
video4linux/CARDLIST.ivtv                       2.6.25                       ×
video4linux/CARDLIST.saa7134                    2.6.34                       ×
video4linux/CARDLIST.saa7164                    2.6.32                       ×
video4linux/CARDLIST.tuner                      2.6.34                       ×
video4linux/CARDLIST.usbvision                  2.6.25                       ×
video4linux/CQcam.txt                           2.6.32                       ×
video4linux/Makefile                            2.6.27                       ×
video4linux/README.cpia                         2.6.17                       ×
video4linux/README.cpia2                        2.6.17                       ×
video4linux/README.cx88                         2.6.29                       ×
video4linux/README.ir                           2.6.2                        ×
video4linux/README.ivtv                         2.6.22                       ×
video4linux/README.pvrusb2                      2.6.22                       ×
video4linux/README.saa7134                      2.6.15                       ×
video4linux/README.tlg2300                      2.6.34                       ×
video4linux/Zoran                               2.6.30                       ×
video4linux/bttv/CONTRIBUTORS                   2.6.28                       ×
video4linux/bttv/Cards                          2.6.15                       ×
video4linux/bttv/ICs                            2.6.17                       ×
video4linux/bttv/Insmod-options                 2.6.30                       ×
video4linux/bttv/MAKEDEV                        2.6.0                        ×
video4linux/bttv/Modprobe.conf                  2.6.4                        ×
video4linux/bttv/Modules.conf                   2.6.4                        ×
video4linux/bttv/PROBLEMS                       2.6.17                       ×
video4linux/bttv/README                         2.6.30                       ×
video4linux/bttv/README.WINVIEW                 2.6.0                        ×
video4linux/bttv/README.freeze                  2.6.15                       ×
video4linux/bttv/README.quirks                  2.6.17                       ×
video4linux/bttv/Sound-FAQ                      2.6.15                       ×
video4linux/bttv/Specs                          2.6.0                        ×
video4linux/bttv/THANKS                         2.6.17                       ×
video4linux/bttv/Tuners                         2.6.15                       ×
video4linux/cafe_ccic                           2.6.20                       ×
video4linux/cpia2_overview.txt                  2.6.17                       ×
video4linux/cx18.txt                            2.6.31                       ×
video4linux/cx2341x/README.hm12                 2.6.30                       ×
video4linux/cx2341x/README.vbi                  2.6.19                       ×
video4linux/cx2341x/fw-calling.txt              2.6.18                       ×
video4linux/cx2341x/fw-decoder-api.txt          2.6.21                       ×
video4linux/cx2341x/fw-decoder-regs.txt         2.6.22                       ×
video4linux/cx2341x/fw-dma.txt                  2.6.21                       ×
video4linux/cx2341x/fw-encoder-api.txt          2.6.23                       ×
video4linux/cx2341x/fw-memory.txt               2.6.21                       ×
video4linux/cx2341x/fw-osd-api.txt              2.6.22                       ×
video4linux/cx2341x/fw-upload.txt               2.6.18                       ×
video4linux/cx88/hauppauge-wintv-cx88-ir.txt    2.6.19                       ×
video4linux/et61x251.txt                        2.6.21                       ×
video4linux/extract_xc3028.pl                   2.6.26                       ×
video4linux/gspca.txt                           2.6.34                       ×
video4linux/hauppauge-wintv-cx88-ir.txt         2.6.19                       ×
video4linux/ibmcam.txt                          2.6.18                       ×
video4linux/lifeview.txt                        2.6.15                       ×
video4linux/m5602.txt                           2.6.28                       ×
video4linux/meye.txt                            2.6.22                       ×
video4linux/not-in-cx2388x-datasheet.txt        2.6.13                       ×
video4linux/ov511.txt                           2.6.22                       ×
video4linux/pxa_camera.txt                      2.6.31                       ×
video4linux/radiotrack.txt                      2.6.17                       ×
video4linux/se401.txt                           2.6.17                       ×
video4linux/sh_mobile_ceu_camera.txt            2.6.33                       ×
video4linux/si470x.txt                          2.6.30                       ×
video4linux/si4713.txt                          2.6.33                       ×
video4linux/sn9c102.txt                         2.6.27                       ×
video4linux/soc-camera.txt                      2.6.32                       ×
video4linux/stv680.txt                          2.6.17                       ×
video4linux/v4l2-framework.txt                  2.6.34                       ×
video4linux/v4lgrab.c                           2.6.32                       ×
video4linux/videobuf                            2.6.34                       ×
video4linux/w9966.txt                           2.6.17                       ×
video4linux/w9968cf.txt                         2.6.27                       ×
video4linux/zc0301.txt                          2.6.21                       ×
video4linux/zr364xx.txt                         2.6.33                       ×
vm/.gitignore                                   2.6.32                       ×
vm/00-INDEX                                     2.6.34                       ×
vm/Makefile                                     2.6.34                       ×
vm/active_mm.txt                                2.6.30                       ×
vm/balance                                      2.6.31                       ×
vm/hugepage-mmap.c                              2.6.34                       ×
vm/hugepage-shm.c                               2.6.34                       ×
vm/hugetlbpage.txt                              2.6.34                       ×
vm/hwpoison.txt                                 2.6.33                       ×
vm/ksm.txt                                      2.6.33                       ×
vm/locking                                      2.6.32                       ×
vm/map_hugetlb.c                                2.6.34                       ×
vm/numa                                         2.6.19  2.6.0     2001/02/17 ○
vm/numa_memory_policy.txt                       2.6.30                       ×
vm/overcommit-accounting                        2.6.10                       ×
vm/page-types.c                                 2.6.33                       ×
vm/page_migration                               2.6.30                       ×
vm/pagemap.txt                                  2.6.32                       ×
vm/slabinfo.c                                   2.6.32                       ×
vm/slub.txt                                     2.6.34                       ×
vm/unevictable-lru.txt                          2.6.30                       ×
volatile-considered-harmful.txt                 2.6.34                       ×
voyager.txt                                             2.6.5     2004/04/22 ◎
w1/00-INDEX                                     2.6.28                       ×
w1/masters/00-INDEX                             2.6.29                       ×
w1/masters/ds2482                               2.6.32                       ×
w1/masters/ds2490                               2.6.28                       ×
w1/masters/mxc-w1                               2.6.29                       ×
w1/masters/omap-hdq                             2.6.28                       ×
w1/masters/w1-gpio                              2.6.25                       ×
w1/slaves/00-INDEX                              2.6.28                       ×
w1/slaves/w1_therm                              2.6.28                       ×
w1/w1.generic                                   2.6.28                       ×
w1/w1.netlink                                   2.6.29                       ×
watchdog/00-INDEX                               2.6.23                       ×
watchdog/hpwdt.txt                              2.6.31                       ×
watchdog/pcwd-watchdog.txt                      2.6.22                       ×
watchdog/src/.gitignore                         2.6.28                       ×
watchdog/src/Makefile                           2.6.27                       ×
watchdog/src/watchdog-simple.c                  2.6.34                       ×
watchdog/src/watchdog-test.c                    2.6.34                       ×
watchdog/watchdog-api.txt                       2.6.34                       ×
watchdog/wdt.txt                                2.6.22                       ×
wimax/README.i2400m                             2.6.29                       ×
wimax/README.wimax                              2.6.29                       ×
x86/00-INDEX                                    2.6.31                       ×
x86/boot.txt                                    2.6.32                       ×
x86/earlyprintk.txt                             2.6.32                       ×
x86/exception-tables.txt                        2.6.31                       ×
x86/i386/IO-APIC.txt                            2.6.27                       ×
x86/i386/boot.txt                                       2.6.5     2004/04/11 ◎
x86/i386/usb-legacy-support.txt                         2.6.3     2004/02/07 ◎
x86/i386/zero-page.txt                                  2.6.5     2004/04/05 ◎
x86/mtrr.txt                                    2.6.28                       ×
x86/pat.txt                                     2.6.29                       ×
x86/usb-legacy-support.txt                      2.6.28                       ×
x86/x86_64/00-INDEX                             2.6.27                       ×
x86/x86_64/boot-options.txt                     2.6.34                       ×
x86/x86_64/cpu-hotplug-spec                     2.6.27                       ×
x86/x86_64/fake-numa-for-cpusets                2.6.30                       ×
x86/x86_64/kernel-stacks                        2.6.27                       ×
x86/x86_64/machinecheck                         2.6.31                       ×
x86/x86_64/mm.txt                               2.6.31                       ×
x86/x86_64/uefi.txt                             2.6.27                       ×
x86/zero-page.txt                               2.6.32                       ×
zorro.txt                                       2.6.0   2.6.5     2004/04/15 ◎


このページの先頭に戻る

JF Project メインページへ
JF Project 全般に関わるご意見ご要望は jf@listserv.linux.or.jp までお願いします.
$Id: KDoc-2.6-in-Progress.m4,v 1.5 2009/05/17 15:52:52 mdk Exp $
</pre></div><p></p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">
    <title>exofs.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt</link>
    <dc:identifier>exofs.txt</dc:identifier>
    <dc:date>2010-05-24T01:02:49+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(exofs.txt)]]

[[include(Header)]]
[[Embed(exofs.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くなった]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt">Documentation/filesystems/gfs2.txt</a>
</div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking">Documentation/filesystems/Locking</a>
</div></div>
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt/attach/exofs.txt" title="exofs.txt" alt="exofs.txt" id="la-exofs.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">exofs.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-exofs.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt/attach/exofs.txt">exofs.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.34/Documentation/filesystems/exofs.txt の和訳です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2010/3/15
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
===============================================================================
#WHAT IS EXOFS?
EXOFS とは何か
===============================================================================

#exofs is a file system that uses an OSD and exports the API of a normal Linux
#file system. Users access exofs like any other local file system, and exofs
#will in turn issue commands to the local OSD initiator.
exofs とは OSD を用い、通常の Linux ファイルシステムの API を公開したフ
ァイルシステムです。exofs に対するユーザアクセスは他のローカルファイルシ
ステムへのアクセスと同じように行い、exofs はそのアクセスをローカルの OSD
イニシエータへのコマンドとして実行します。

#OSD is a new T10 command set that views storage devices not as a large/flat
#array of sectors but as a container of objects, each having a length, quota,
#time attributes and more. Each object is addressed by a 64bit ID, and is
#contained in a 64bit ID partition. Each object has associated attributes
#attached to it, which are integral part of the object and provide metadata about
#the object. The standard defines some common obligatory attributes, but user
#attributes can be added as needed.
OSD とは、新しい T10 コマンドセットで、ストレージデバイスを巨大でフラッ
トなセクタの配列としてではなく、サイズやクオータや時間関係の属性などを持
ったオブジェクトの格納先として扱うものです。各オブジェクトは 64 ビットの
識別子でアドレスされ、64 bit 識別子をもつパーティションに含まれます。
各オブジェクトには関連付けられた付属属性が付加され、この属性はオブジェク
トに統合されたオブジェクトの一部として、そのメタデータを格納します。
標準には幾つかの共通の必須属性が定義されていますが、必要に応じてユーザ定
義属性を加えることも可能です。

===============================================================================
#ENVIRONMENT
動作環境
===============================================================================

#To use this file system, you need to have an object store to run it on.  You
#may download a target from:
このファイルシステムを使うには、このファイルシステムで用いるためのオブジ
ェクトストアが必要です。ターゲットを以下からダウンロードして使うことも可
能です。

http://open-osd.org

#See Documentation/scsi/osd.txt for how to setup a working osd environment.
osd 環境を設定して動かすための手順については、Documentation/scsi/osd.txt
を参照ください。

===============================================================================
#USAGE
利用方法
===============================================================================

#1. Download and compile exofs and open-osd initiator:
#  You need an external Kernel source tree or kernel headers from your
#  distribution. (anything based on 2.6.26 or later).
1. exofs と open-osd イニシエータをダウンロードしてコンパイルする:
  使っているディストリビューションで配布されているカーネルソースツリー
  またはカーネルヘッダ (2.6.26 またはそれ以降ならどのバージョンでも可)
  が別途必要です。

#  a. download open-osd including exofs source using:
  a. exofs ソースを含む open-osd を以下のようにしてダウンロードする。
     [parent-directory]$ git clone git://git.open-osd.org/open-osd.git

#  b. Build the library module like this:
  b. ライブラリモジュールを以下のコマンドで作成する。
     [parent-directory]$ make -C KSRC=$(KER_DIR) open-osd

#     This will build both the open-osd initiator as well as the exofs kernel
#     module. Use whatever parameters you compiled your Kernel with and
#     $(KER_DIR) above pointing to the Kernel you compile against. See the file
#     open-osd/top-level-Makefile for an example.
     これにより、open-osd イニシエータと exofs カーネルモジュールの両
     方がビルドされます。カーネルコンパイル時に与えているパラメータに
     加え、コンパイル対象とするカーネルを指す $(KER_DIR) を設定してく
     ださい。例は open-osd/top-level-Makefile を参照ください。

#2. Get the OSD initiator and target set up properly, and login to the target.
#  See Documentation/scsi/osd.txt for farther instructions. Also see ./do-osd
#  for example script that does all these steps.
2. OSD イニシエータとターゲットを適切に設定し、ターゲットにログインし
ます。設定手順の詳細は Documentation/scsi/osd.txt を参照ください。ま
た、この手順の全てを実行するスクリプトの例である ./do-osd をご覧ください。

#3. Insmod the exofs.ko module:
#   [exofs]$ insmod exofs.ko
3. exofs.ko モジュールを insmod する。
   [exofs]$ insmod exofs.ko

#4. Make sure the directory where you want to mount exists. If not, create it.
#   (For example, mkdir /mnt/exofs)
4. マウント先のディレクトリが存在することを確認します。ない場合は作成
します (例えば、mkdir /mnt/exofs)。

#5. At first run you will need to invoke the mkfs.exofs application
5. 初回の実行では、mkfs.exofs アプリケーションの実行が必要になるでし
ょう。
#   As an example, this will create the file system on:
   例えば、次のコマンドはファイルシステムを /dev/osd0 の パーティショ
   ン ID 65536 上に作成します。

   mkfs.exofs --pid=65536 --format /dev/osd0

#   The --format is optional. If not specified no OSD_FORMAT will be
#   performed and a clean file system will be created in the specified pid,
#   in the available space of the target. (Use --format=size_in_meg to limit
#   the total LUN space available)
   --format はオプションで、指定しない場合には OSD_FORMAT が実行され
   ず、指定された pid でクリーンなファイルシステムが、ターゲットの提供
   する領域 (全体) を使って作成されます (使用する LUN 領域全体のサイズ
   を制限したい場合には、--format=size_in_meg を使ってください)。

#   If pid already exists, it will be deleted and a new one will be created in
#   its place. Be careful.
   pid が既に存在する場合には削除され、新しい pid が作成されて上書き
   されます。注意してください。

#   An exofs lives inside a single OSD partition. You can create multiple exofs
#   filesystems on the same device using multiple pids.
   exofs は単一の OSD パーティション内に置かれます。複数の pid を用
   いれば、同じデバイスに複数の exofs ファイルシステムを作成可能です。

#   (run mkfs.exofs without any parameters for usage help message)
   (mkfs.exofs をパラメータなしで実行した場合、利用方法のヘルプメッ
   セージが表示されます)。

#6. Mount the file system.
6. ファイルシステムをマウントします。

#   For example, to mount /dev/osd0, partition ID 0x10000 on /mnt/exofs:
   例えば、/dev/osd0 のパーティション ID 0x10000 を /mnt/exofs にマ
   ウントするには、以下のようにします。

	mount -t exofs -o pid=65536 /dev/osd0 /mnt/exofs/

#7. For reference (See do-exofs example script):
#	do-exofs start - an example of how to perform the above steps.
#	do-exofs stop -  an example of how to unmount the file system.
#	do-exofs format - an example of how to format and mkfs a new exofs.
7. 参考例 (do-exofs スクリプト例を参照ください)
       do-exofs start - 上記の手順を実行する方法の例
       do-exofs stop  - ファイルシステムのアンマウントを実行する方
       			法の例
       do-exofs format - 新しい exofs のフォーマットと mkfs を実行
       			する方法の例

#8. Extra compilation flags (uncomment in fs/exofs/Kbuild):
#	CONFIG_EXOFS_DEBUG - for debug messages and extra checks.
8. 追加のコンパイレーションフラグ (fs/exofs/Kbuild 内でアンコメント)
	CONFIG_EXOFS_DEBUG - デバッグメッセージと特別のチェックの追加

===============================================================================
#exofs mount options
exofs マウントオプション
===============================================================================
#Similar to any mount command:
他のマウントコマンドと同様です：
	mount -t exofs -o exofs_options /dev/osdX mount_exofs_directory

#Where:
ここでのオプションの説明：
#    -t exofs: specifies the exofs file system
    -t exofs: exofs ファイルシステムを指定します。

#    /dev/osdX: X is a decimal number. /dev/osdX was created after a successful
#               login into an OSD target.
    /dev/osdX: X は十進数です。/dev/osdX は OSD ターゲットにログイン
    が成功した後に作成されます。

#    mount_exofs_directory: The directory to mount the file system on
    mount_exofs_directory: ファイルシステムをマウントするディレクトリ

#    exofs specific options: Options are separated by commas (,)
    exofs 固有のオプション: オプションはカンマ (,) で区切られます。
#		pid=&lt;integer&gt; - The partition number to mount/create as
#                                container of the filesystem.
#                                This option is mandatory.
#                to=&lt;integer&gt;  - Timeout in ticks for a single command.
#                                default is (60 * HZ) [for debugging only]
		pid=&lt;整数&gt;    - ファイルシステムのコンテナをマウント/
				作成するパーティション番号。
				このオプションは必須です。
		to=&lt;整数&gt;     -	一つのコマンドがタイムアウトするまで
				のティック数。
				既定値は (60 * HZ) です [デバック専用]

===============================================================================
#DESIGN
設計
===============================================================================

#* The file system control block (AKA on-disk superblock) resides in an object
#  with a special ID (defined in common.h).
#  Information included in the file system control block is used to fill the
#  in-memory superblock structure at mount time. This object is created before
#  the file system is used by mkexofs.c. It contains information such as:
#	- The file system's magic number
#	- The next inode number to be allocated
* ファイルシステム制御ブロック (ディスク上のスーパーブロック) は、特別な
   ID (common.h に定義があります) を持つオブジェクトに格納されています。
   ファイルシステム制御ブロックに格納されている情報は、マウント時にメモリ
   上のスーパーブロック構造体に書き込む際に用いられます。このオブジ
   ェクトは、ファイルシステムが mkexofs.c で用いられる前に作成されます。
   このオブジェクトには以下の情報が含まれています。
   	- ファイルシステムのマジック番号
	- 次に割り当てる inode 番号

#* Each file resides in its own object and contains the data (and it will be
#  possible to extend the file over multiple objects, though this has not been
#  implemented yet).
* 各ファイルは対応するオブジェクトに格納され、データを含みます (そして
  将来は複数のオブジェクトに分割してファイルを格納できるようになる予定
  ですが、現在は未実装です)。

#* A directory is treated as a file, and essentially contains a list of &lt;file
#  name, inode #&gt; pairs for files that are found in that directory. The object
#  IDs correspond to the files' inode numbers and will be allocated according to
#  a bitmap (stored in a separate object). Now they are allocated using a
#  counter.
* ディレクトリはファイルとして扱われ、本質的にはディレクトリ内にあるフ
  ァイルの &lt;ファイル名, inode 番号&gt; 組のリストを格納しています。オブジ
  ェクト ID はファイルの inode 番号に対応し、将来は別のオブジェクトに
  格納されたビットマップに従って割り当てられるようになります。但し現在
  はカウンタを使って割り当てられています。

#* Each file's control block (AKA on-disk inode) is stored in its object's
#  attributes. This applies to both regular files and other types (directories,
#  device files, symlinks, etc.).
* 各ファイルの制御ブロック (ディスク上の inode) はオブジェクトアトリビ
  ュートに格納されます。これは通常ファイルとその他のタイプ (ディレクト
  リ、デバイスファイル、シンボリックリンクなど) の両方に適用されます。

#* Credentials are generated per object (inode and superblock) when they are
#  created in memory (read from disk or created). The credential works for all
#  operations and is used as long as the object remains in memory.
* クレデンシャルはオブジェクト (inode とスーパーブロック) 毎に、メモ
  リ内での生成時 (ディスクからの読み込みまたは作成時) に作成されます。
  クレデンシャルは全ての操作で働き、オブジェクトがメモリ内にある間
  はずっと使われます。

#* Async OSD operations are used whenever possible, but the target may execute
#  them out of order. The operations that concern us are create, delete,
#  readpage, writepage, update_inode, and truncate. The following pairs of
#  operations should execute in the order written, and we need to prevent them
#  from executing in reverse order:
* 可能な限り非同期 OSD 操作が使われますが、ターゲットではこれを順序を
  守らず実行するかもしれません。ここで対象となる操作とは、create、
  delete、readpage、writepage、update_inode、truncate です。以下の操作
  の組は書かれた順序に実行するべきですので、順序が逆転することを防止す
  る必要があります。
#	- The following are handled with the OBJ_CREATED and OBJ_2BCREATED
#	  flags. OBJ_CREATED is set when we know the object exists on the OSD -
#	  in create's callback function, and when we successfully do a read_inode.
#	  OBJ_2BCREATED is set in the beginning of the create function, so we
#	  know that we should wait.
	- 以下の処理は OBJ_CREATED と OBJ_2BCREATED フラグで制御され
	  ます。
	  対象となるオブジェクトが OSD に存在する場合には、create の
	  コールバック関数で OBJ_CREATED をセットします。また
	  read_inode の実行が成功した場合には OBJ_2BCREATED を create
          関数の最初でセットするため、待つ必要があることが分かります。
#		- create/delete: delete should wait until the object is created
#		  on the OSD.
		- create/delete: delete はオブジェクトが OSD で作成
		  されるまで待つべきです。
#		- create/readpage: readpage should be able to return a page
#		  full of zeroes in this case. If there was a write already
#		  en-route (i.e. create, writepage, readpage) then the page
#		  would be locked, and so it would really be the same as
#		  create/writepage.
		- create/readpage: readpage は、この場合 0 で埋められ
		  たページを返せるよう実装すべきです。既に書き込みが仕
		  掛かり中の場合 (つまり、create、writepage、readpage
		  の順で実行している場合)、ページはロックされるでしょ
		  うから、実際の処理は create/writepage と同じになりま
		  す。
#		- create/writepage: if writepage is called for a sync write, it
#		  should wait until the object is created on the OSD.
#		  Otherwise, it should just return.
		- create/writepage: writepage が同期書き込みとして実行
		  された場合は、オブジェクトが OSD で作成されるまで待つべきです。
		  それ以外の場合は、単に戻るべきです。
#		- create/truncate: truncate should wait until the object is
#		  created on the OSD.
		- create/truncate: truncate はオブジェクトが OSD で作
		  成されるまでは待つべきです。
#		- create/update_inode: update_inode should wait until the
#		  object is created on the OSD.
		- create/update_inode: update_inode はオブジェクトが
		  OSD で作成されるまでは待つべきです。
#	- Handled by VFS locks:
	- VFS ロックで扱われます
#		- readpage/delete: shouldn't happen because of page lock.
#		- writepage/delete: shouldn't happen because of page lock.
#		- readpage/writepage: shouldn't happen because of page lock.
		- readpage/delete: ページロックのため、起こらないはず
				   です。
		- writepage/delete: ページロックのため、起こらないはず
				   です。
		- readpage/writepage: ページロックのため、起こらないは
				   ずです。

===============================================================================
#LICENSE/COPYRIGHT
ライセンス/著作権
===============================================================================
#The exofs file system is based on ext2 v0.5b (distributed with the Linux kernel
#version 2.6.10).  All files include the original copyrights, and the license
#is GPL version 2 (only version 2, as is true for the Linux kernel).  The
#Linux kernel can be downloaded from www.kernel.org.
exofs ファイルシステムは ext2 v0.5b (Linux カーネルバージョン 2.6.10
で配布されていたもの) をベースにしています。全てのファイルは元々の著
作権表記を保っており、ライセンスは GPL バージョン 2 (Linux カーネルで
は、バージョン 2 のみです) です。Linux カーネルは www.kernel.org から
ダウンロード可能です。
</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p><div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/gfs2.txt">Documentation/filesystems/gfs2.txt</a>
</div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking">Documentation/filesystems/Locking</a>
</div></div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/Locking">
    <title>Locking</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/Locking</link>
    <dc:identifier>Locking</dc:identifier>
    <dc:date>2010-04-21T00:59:44+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(Locking.txt)]]

[[include(Header)]]
[[Embed(Locking.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長]]>
    </description>
    <content:encoded>
      <![CDATA[<div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">Documentation/filesystems/exofs.txt</a>
</div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt">Documentation/filesystems/ext4.txt</a>
</div></div>
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking/attach/Locking.txt" title="Locking.txt" alt="Locking.txt" id="la-Locking.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">Locking.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-Locking.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/Locking/attach/Locking.txt">Locking.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.34/Documentation/filesystems/Locking の和訳です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2010/5/21
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
#	The text below describes the locking rules for VFS-related methods.
#It is (believed to be) up-to-date. *Please*, if you change anything in
#prototypes or locking protocols - update this file. And update the relevant
#instances in the tree, don't leave that to maintainers of filesystems/devices/
#etc. At the very least, put the list of dubious cases in the end of this file.
#Don't turn it into log - maintainers of out-of-the-tree code are supposed to
#be able to use diff(1).
#	Thing currently missing here: socket operations. Alexey?
以下の文書は VFS 関連メソッドでのロック取得規則を記載したものです。これは
最新版 (のはず) です。したがって、プロトタイプやロックプロトコルに何らかの
変更を加えた場合には、＊必ず＊ このファイルを更新してください。また、ツリー
内の関連インスタンスを、他のファイルシステムやデバイスなどのメンテナに任せず、
自分で更新してください。少なくとも、未修正の内容はこのファイルの末尾のリス
トに加えてください。この内容をログにはしないでください。ツリー外のコードの
メンテナは diff(1) を使うことができるという想定ですので。
現在不足しているのは、ソケット処理です。Alexey さん、いかが。

--------------------------- dentry_operations --------------------------
prototypes:
	int (*d_revalidate)(struct dentry *, int);
	int (*d_hash) (struct dentry *, struct qstr *);
	int (*d_compare) (struct dentry *, struct qstr *, struct qstr *);
	int (*d_delete)(struct dentry *);
	void (*d_release)(struct dentry *);
	void (*d_iput)(struct dentry *, struct inode *);
	char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);

#locking rules:
ロッキングルール
#	none have BKL
#		dcache_lock	rename_lock	-&gt;d_lock	may block
#d_revalidate:	no		no		no		yes
#d_hash		no		no		no		yes
#d_compare:	no		yes		no		no
#d_delete:	yes		no		yes		no
#d_release:	no		no		no		yes
#d_iput:		no		no		no		yes
#d_dname:	no		no		no		no
       いずれも BKL は持ちません。
		dcache_lock	rename_lock	-&gt;d_lock	block 可能性
d_revalidate:	いいえ		いいえ		いいえ		はい
d_hash		いいえ		いいえ		いいえ		はい
d_compare:	いいえ		はい		いいえ		いいえ
d_delete:	はい		いいえ		はい		いいえ
d_release:	いいえ		いいえ		いいえ		はい
d_iput:		いいえ		いいえ		いいえ		はい
d_dname:	いいえ		いいえ		いいえ		いいえ

--------------------------- inode_operations ---------------------------
prototypes:
	int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
	struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameid
ata *);
	int (*link) (struct dentry *,struct inode *,struct dentry *);
	int (*unlink) (struct inode *,struct dentry *);
	int (*symlink) (struct inode *,struct dentry *,const char *);
	int (*mkdir) (struct inode *,struct dentry *,int);
	int (*rmdir) (struct inode *,struct dentry *);
	int (*mknod) (struct inode *,struct dentry *,int,dev_t);
	int (*rename) (struct inode *, struct dentry *,
			struct inode *, struct dentry *);
	int (*readlink) (struct dentry *, char __user *,int);
	int (*follow_link) (struct dentry *, struct nameidata *);
	void (*truncate) (struct inode *);
	int (*permission) (struct inode *, int, struct nameidata *);
	int (*setattr) (struct dentry *, struct iattr *);
	int (*getattr) (struct vfsmount *, struct dentry *, struct kstat *);
	int (*setxattr) (struct dentry *, const char *,const void *,size_t,int);
	ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t);
	ssize_t (*listxattr) (struct dentry *, char *, size_t);
	int (*removexattr) (struct dentry *, const char *);

#locking rules:
#	all may block, none have BKL
ロッキングルール
       すべてブロック可能性あり、BKL は持ちません。
		i_mutex(inode)
#lookup:		yes
#create:		yes
#link:		yes (both)
#mknod:		yes
#symlink:	yes
#mkdir:		yes
#unlink:		yes (both)
#rmdir:		yes (both)	(see below)
#rename:		yes (all)	(see below)
#readlink:	no
#follow_link:	no
#truncate:	yes		(see below)
#setattr:	yes
#permission:	no
#getattr:	no
#setxattr:	yes
#getxattr:	no
#listxattr:	no
#removexattr:	yes
lookup:		はい
create:		はい
link:		はい (両方で)
mknod:		はい
symlink:	はい
mkdir:		はい
unlink:		はい (両方で)
rmdir:		はい (両方で)	(下記参照)
rename:		はい (すべて)	(下記参照)
readlink:	いいえ
follow_link:	いいえ
truncate:	はい		(下記参照)
setattr:	はい
permission:	いいえ
getattr:	いいえ
setxattr:	はい
getxattr:	いいえ
listxattr:	いいえ
removexattr:	はい
#	Additionally, -&gt;rmdir(), -&gt;unlink() and -&gt;rename() have -&gt;i_mutex on
#victim.
#	cross-directory -&gt;rename() has (per-superblock) -&gt;s_vfs_rename_sem.
#	-&gt;truncate() is never called directly - it's a callback, not a
#method. It's called by vmtruncate() - library function normally used by
#-&gt;setattr(). Locking information above applies to that call (i.e. is
#inherited from -&gt;setattr() - vmtruncate() is used when ATTR_SIZE had been
#passed).
#
#See Documentation/filesystems/directory-locking for more detailed discussion
#of the locking scheme for directory operations.
       加えて、-&gt;rmdir(), -&gt;unlink() および -&gt;rename() は操作される側の -&gt;i_mutex
       を持ちます。
       ディレクトリを渡る -&gt;rename() は、スーパーブロックごとの
       -&gt;s_vfs_rename_sem を持ちます。-&gt;truncate() は直接は呼ばれません。
       これはコールバックで、メソッドではないためです。これは vmtruncate()
       - 典型的には -&gt;setattr() から使われるライブラリ関数 - から呼ばれま
       す。上記のロック情報はこの呼び出しにも適用されます (つまり、
       -&gt;setattr() から継承されます。vmtruncate() は ATTR_SIZE が渡された
       場合に使われます)。

ディレクトリ操作でのロック方法についての詳細は、
Documentation/filesystems/directory-locking を参照ください。
--------------------------- super_operations ---------------------------
prototypes:
	struct inode *(*alloc_inode)(struct super_block *sb);
	void (*destroy_inode)(struct inode *);
	void (*dirty_inode) (struct inode *);
	int (*write_inode) (struct inode *, int);
	void (*drop_inode) (struct inode *);
	void (*delete_inode) (struct inode *);
	void (*put_super) (struct super_block *);
	void (*write_super) (struct super_block *);
	int (*sync_fs)(struct super_block *sb, int wait);
	void (*write_super_lockfs) (struct super_block *);
	void (*unlockfs) (struct super_block *);
	int (*statfs) (struct dentry *, struct kstatfs *);
	int (*remount_fs) (struct super_block *, int *, char *);
	void (*clear_inode) (struct inode *);
	void (*umount_begin) (struct super_block *);
	int (*show_options)(struct seq_file *, struct vfsmount *);
	ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
	ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);

#locking rules:
#	All may block.
ロッキングルール
	すべてブロックの可能性あり。
#	None have BKL
#			s_umount
#alloc_inode:
#destroy_inode:
#dirty_inode:				(must not sleep)
#write_inode:
#drop_inode:				!!!inode_lock!!!
#delete_inode:
#put_super:		write
#write_super:		read
#sync_fs:		read
#freeze_fs:		read
#unfreeze_fs:		read
#statfs:			no
#remount_fs:		maybe		(see below)
#clear_inode:
#umount_begin:		no
#show_options:		no		(namespace_sem)
#quota_read:		no		(see below)
#quota_write:		no		(see below)
	どれも BKL を取得しない。
			s_umount
alloc_inode:
destroy_inode:
dirty_inode:				(sleep 不可)
write_inode:
drop_inode:				!!!inode_lock!!!
delete_inode:
put_super:		書き込み
write_super:		読み出し
sync_fs:		読み出し
freeze_fs:		読み出し
unfreeze_fs:		読み出し
statfs:			いいえ
remount_fs:		恐らく		(下記参照)
clear_inode:
umount_begin:		いいえ
show_options:		いいえ		(namespace_sem)
quota_read:		いいえ		(下記参照)
quota_write:		いいえ		(下記参照)


#-&gt;remount_fs() will have the s_umount exclusive lock if it's already mounted.
#When called from get_sb_single, it does NOT have the s_umount lock.
#-&gt;quota_read() and -&gt;quota_write() functions are both guaranteed to
#be the only ones operating on the quota file by the quota code (via
#dqio_sem) (unless an admin really wants to screw up something and
#writes to quota files with quotas on). For other details about locking
#see also dquot_operations section.
-&gt;remount_fs() は既にマウントされているなら、s_umount 排他ロックを持って
いるでしょう。get_sb_single から呼ばれる場合には、s_umount ロックを持って
いることは＊ありません＊。
-&gt;quota_read() と -&gt;quota_write() の両方とも、quota ファイルを扱う処理はこ
れだけであることが quota コードによって保証されています (管理者が何かを壊し
たくて、quota 有効時に quota ファイルに対して書き込みを行おうとしない限り)。
ロックに関するこれ以外の詳細については、dquot_operations セクションを参照
ください。

--------------------------- file_system_type ---------------------------
prototypes:
	int (*get_sb) (struct file_system_type *, int,
		       const char *, void *, struct vfsmount *);
	void (*kill_sb) (struct super_block *);
#locking rules:
ロッキングルール
#		may block	BKL
#get_sb		yes		no
#kill_sb		yes		no
		ブロックの可能性	BKL
get_sb		あり		いいえ
kill_sb		あり		いいえ

#-&gt;get_sb() returns error or 0 with locked superblock attached to the vfsmount
#(exclusive on -&gt;s_umount).
#-&gt;kill_sb() takes a write-locked superblock, does all shutdown work on it,
#unlocks and drops the reference.
-&gt;get_sb() は、vfsmount にロックされたスーパーブロックがアタッチされた状
態 (つまり、-&gt;s_umount と排他です) なら 0 を返し、それ以外ではエラーを返します 。
-&gt;kill_sb() は書き込みロックされたスーパーブロックを取り、それに対して全て
のシャットダウン処理を行い、ロックを解除して参照を解放します。

--------------------------- address_space_operations --------------------------
prototypes:
	int (*writepage)(struct page *page, struct writeback_control *wbc);
	int (*readpage)(struct file *, struct page *);
	int (*sync_page)(struct page *);
	int (*writepages)(struct address_space *, struct writeback_control *);
	int (*set_page_dirty)(struct page *page);
	int (*readpages)(struct file *filp, struct address_space *mapping,
			struct list_head *pages, unsigned nr_pages);
	int (*write_begin)(struct file *, struct address_space *mapping,
				loff_t pos, unsigned len, unsigned flags,
				struct page **pagep, void **fsdata);
	int (*write_end)(struct file *, struct address_space *mapping,
				loff_t pos, unsigned len, unsigned copied,
				struct page *page, void *fsdata);
	sector_t (*bmap)(struct address_space *, sector_t);
	int (*invalidatepage) (struct page *, unsigned long);
	int (*releasepage) (struct page *, int);
	int (*direct_IO)(int, struct kiocb *, const struct iovec *iov,
			loff_t offset, unsigned long nr_segs);
	int (*launder_page) (struct page *);

#locking rules:
#	All except set_page_dirty may block
ロッキングルール：
	set_page_dirty 以外はブロックの可能性があります。

#			BKL	PageLocked(page)	i_sem
#writepage:		no	yes, unlocks (see below)
#readpage:		no	yes, unlocks
#sync_page:		no	maybe
#writepages:		no
#set_page_dirty		no	no
#readpages:		no
#write_begin:		no	locks the page		yes
#write_end:		no	yes, unlocks		yes
#perform_write:		no	n/a			yes
#bmap:			no
#invalidatepage:		no	yes
#releasepage:		no	yes
#direct_IO:		no
#launder_page:		no	yes
			BKL	PageLocked(page)	i_sem
writepage:		いいえ	はい。アンロックします (下記参照)。
readpage:		いいえ	はい。アンロックします。
sync_page:		いいえ	可能性あり
writepages:		いいえ
set_page_dirty		いいえ	いいえ
readpages:		いいえ
write_begin:		いいえ	ページをロックします	はい
write_end:		いいえ	はい。アンロックします。	はい
perform_write:		いいえ	該当せず		はい
bmap:			いいえ
invalidatepage:		いいえ	はい
releasepage:		いいえ	はい
direct_IO:		いいえ
launder_page:		いいえ	はい

#	-&gt;write_begin(), -&gt;write_end(), -&gt;sync_page() and -&gt;readpage()
#may be called from the request handler (/dev/loop)
	-&gt;write_begin(), -&gt;write_end(), -&gt;sync_page() および
	-&gt;readpage() は、リクエストハンドラ (/dev/loop) から呼ばれる可能
	性があります。

#	-&gt;readpage() unlocks the page, either synchronously or via I/O
#completion.
	-&gt;readpage() は、同期的あるいは I/O 完了時にページをアンロックし
	ます。

#	-&gt;readpages() populates the pagecache with the passed pages and starts
#I/O against them.  They come unlocked upon I/O completion.
	-&gt;readpages() は渡されたページでページキャッシュを埋め、それに対
	して I/O を開始します。I/O 完了でロックが解除されます。

#	-&gt;writepage() is used for two purposes: for &quot;memory cleansing&quot; and for
#&quot;sync&quot;.  These are quite different operations and the behaviour may differ
#depending upon the mode.
	-&gt;writepage() には二つの目的があります。ひとつは「メモリ消去」で、
	もうひとつは ”sync&quot; です。この二つはまったく異なった処理で、挙動
	もモードによって異なります。

#If writepage is called for sync (wbc-&gt;sync_mode != WBC_SYNC_NONE) then
#it *must* start I/O against the page, even if that would involve
#blocking on in-progress I/O.
writepage が sync のために呼ばれた (wbc-&gt;sync_mode != WBC_SYNC_NONE) 場
合、進行中の I/O 処理をブロックすることになっても、対象ページに対して I/O
を開始しなければいけません。

#If writepage is called for memory cleansing (sync_mode ==
#WBC_SYNC_NONE) then its role is to get as much writeout underway as
#possible.  So writepage should try to avoid blocking against
#currently-in-progress I/O.
writepage がメモリ消去のために呼ばれた (sync_mode == WBC_SYNC_NONE) 場合、
その目的は可能な限り多数の進行中の書き込みを処理することです。従って、
writepage は進行中の I/O をブロックすることを避けるべきです。

#If the filesystem is not called for &quot;sync&quot; and it determines that it
#would need to block against in-progress I/O to be able to start new I/O
#against the page the filesystem should redirty the page with
#redirty_page_for_writepage(), then unlock the page and return zero.
#This may also be done to avoid internal deadlocks, but rarely.
ファイルシステムが sync のために呼ばれていない場合に、対象ページに対して新
しい I/O を開始するために進行中の I/O 処理をブロックする必要があると判断さ
れたならば、ファイルシステムは redirty_page_for_writepage() を使って対象
ページを dirty に戻して、その後ページをアンロックして戻り値 0 で戻るべきです。
これは内部のデッドロックを避けるために行われる場合もありますが、稀でしょう。

#If the filesystem is called for sync then it must wait on any
#in-progress I/O and then start new I/O.
ファイルシステムが sync のために呼ばれている場合には、進行中の I/O がある
場合にはそれを待ち、その後で新しい I/O を開始します。

#The filesystem should unlock the page synchronously, before returning to the
#caller, unless -&gt;writepage() returns special WRITEPAGE_ACTIVATE
#value. WRITEPAGE_ACTIVATE means that page cannot really be written out
#currently, and VM should stop calling -&gt;writepage() on this page for some
#time. VM does this by moving page to the head of the active list, hence the
#name.
ファイルシステムは、-&gt;writepage() が特別な WRITEPAGE_ACTIVATE 値を返して
いない限り、読み出し元に戻る前にページを同期的にアンロックすべきです。
WRITEPAGE_ACTIVATE は該当ページを書き戻すことが現時点では本当にできず、VM
がそのページに -&gt;writepage() を発行するのを一時的に止めるべきことを意味し
ます。VM はこの処理を、当該ページを active
リストの先頭に持ってくることで実現しているため、この名称が付けられています。

#Unless the filesystem is going to redirty_page_for_writepage(), unlock the page
#and return zero, writepage *must* run set_page_writeback() against the page,
#followed by unlocking it.  Once set_page_writeback() has been run against the
#page, write I/O can be submitted and the write I/O completion handler must run
#end_page_writeback() once the I/O is complete.  If no I/O is submitted, the
#filesystem must run end_page_writeback() against the page before returning from
#writepage.
ファイルシステムが redirty_page_for_writepage() を行って、ページをアンロ
ックし、0 を返そうとしているのではない限り、writepage は
set_page_writeback() を対象ページに必ず実行し、引き続いてアンロックしなけ
ればいけません。当該ページに対して set_page_writeback() を実行した後は、write
I/O を投入することができ、write I/O 完了ハンドラは I/O の完了後
end_page_writeback() を一回実行しなければいけません。I/O が投入されていな
い場合は、ファイルシステムは writepage から戻る前に対象ページに
end_page_writeback() を実行しなければいけません。

#That is: after 2.5.12, pages which are under writeout are *not* locked.  Note,
#if the filesystem needs the page to be locked during writeout, that is ok, too,
#the page is allowed to be unlocked at any point in time between the calls to
#set_page_writeback() and end_page_writeback().
この趣旨は、2.5.12 以降では、書き出し処理中のページはロックされて＊いない＊
ためです。注意が必要なのは、もしファイルシステムがページの書き出し時に
そのページをロックする必要があった場合、そうすることも許される、という点です。
ページは set_page_writeback() の呼び出しから end_page_writeback() の呼び出し
までのどの時点でアンロックすることも許されているのです。

#Note, failure to run either redirty_page_for_writepage() or the combination of
#set_page_writeback()/end_page_writeback() on a page submitted to writepage
#will leave the page itself marked clean but it will be tagged as dirty in the
#radix tree.  This incoherency can lead to all sorts of hard-to-debug problems
#in the filesystem like having dirty inodes at umount and losing written data.
注意点として、redirty_page_for_writepage() の実行か、
set_page_writeback()/end_page_writeback() の実行の組み合わせのどちらかで
writepage 投入が失敗したページは、radix ツリー上でダーティにタグ付けられて
いるのにそれ自体はクリーンとマークされている状態で残る可能性があることです。
この不一致は、ファイルシステムにあらゆる種類のデバッグ困難な問題、例えばダ
ーティページがアンマウント時に残って、書き込みデータが消失したりするなど、
を引き起こします。

#	-&gt;sync_page() locking rules are not well-defined - usually it is called
#with lock on page, but that is not guaranteed. Considering the currently
#existing instances of this method -&gt;sync_page() itself doesn't look
#well-defined...
	-&gt;sync_page() のロック規則は明確には定義されていません。通常、こ
	の関数はページのロックを持った状態で呼ばれますが、そのことは保証さ
	れてはいません。既存の、このメソッドのインスタンスから判断する限り、
	そもそも sync_page() 自体が明確に定義されてはいないようです。

#	-&gt;writepages() is used for periodic writeback and for syscall-initiated
#sync operations.  The address_space should start I/O against at least
#*nr_to_write pages.  *nr_to_write must be decremented for each page which is
#written.  The address_space implementation may write more (or less) pages
#than *nr_to_write asks for, but it should try to be reasonably close.  If
#nr_to_write is NULL, all dirty pages must be written.
	-&gt;writepages() は定期的なライトバックと、syscall で起動される
	sync 処理に用いられます。アドレス空間では、少なくとも
	*nr_to_write 数のページに対して I/O を開始すべきで、ページが書き
	込まれる度に *nr_to_write から 1 づつ引いていきます。アドレス空間
	処理の実装では、要求された *nr_to_write 以上 (または以下) のペー
	ジを書き込む実装とすることはできますが、妥当な範囲で近い数の処理をおこな
	うよう頑張るべきです。nr_to_write が NULL の場合は、全てのダーテ
	ィページを書き込まなければいけません。

#writepages should _only_ write pages which are present on
#mapping-&gt;io_pages.
writepages は、mapping-&gt;io_pages に存在するページ＊のみ＊を書き込むよう
にすべきです。

#	-&gt;set_page_dirty() is called from various places in the kernel
#when the target page is marked as needing writeback.  It may be called
#under spinlock (it cannot block) and is sometimes called with the page
#not locked.
	-&gt;set_page_dirty() は、対象となるページを書き込むべきであるとマー
	キングする目的で、カーネルの様々な箇所から呼ばれます。これは
	spinlock 状態から呼ぶこともできますし (ブロック不可です)、ロック
	されていないページに対して呼ぶことも時々あります。

#	-&gt;bmap() is currently used by legacy ioctl() (FIBMAP) provided by some
#filesystems and by the swapper. The latter will eventually go away. All
#instances do not actually need the BKL. Please, keep it that way and don't
#breed new callers.
	-&gt;bmap() は現在のところ、一部のファイルシステムとスワッパで提供さ
	れている従来互換 ioctl() (FIBMAP) で使われています。後者の利用は
	将来消滅方向です。全てのインスタンスは、実際は BKL を必要としてい
	ません。この方向性を守って、新規の利用を行わないようにしてください。

#	-&gt;invalidatepage() is called when the filesystem must attempt to drop
#some or all of the buffers from the page when it is being truncated.  It
#returns zero on success.  If -&gt;invalidatepage is zero, the kernel uses
#block_invalidatepage() instead.
	-&gt;invalidatepage() は、ファイルシステムがページから一部あるいは全
	てのバッファを、ファイルサイズの縮小に伴って捨てなければならない場
	合に呼ばれます。成功時には 0 が返ります。もし -&gt;invalidatepage が
	0 ならば、カーネルは block_invalidatepage() を代わりに使用します。

#	-&gt;releasepage() is called when the kernel is about to try to drop the
#buffers from the page in preparation for freeing it.  It returns zero to
#indicate that the buffers are (or may be) freeable.  If -&gt;releasepage is zero,
#the kernel assumes that the fs has no private interest in the buffers.
	-&gt;releasepage() は、カーネルがページ解放の準備のためページからバ
	ッファを捨てようとする際に呼ばれます。バッファが解放可能である (と
	考えられる) 場合、0 が返ります。-&gt;releasepage が 0 の場合、カー
	ネルはファイルシステムがバッファに対して個別の要求事項を持っていな
	いと判断します。

#	-&gt;launder_page() may be called prior to releasing a page if
#it is still found to be dirty. It returns zero if the page was successfully
#cleaned, or an error value if not. Note that in order to prevent the page
#getting mapped back in and redirtied, it needs to be kept locked
#across the entire operation.
	-&gt;launder_page() は、ダーティであることが発見されたページの解放に
	先立って呼ぶことができます。首尾良くクリーンにすることができた場合
	0 を返し、できなかった場合にはエラーを返します。ページが再マップさ
	れて再度ダーティに戻されることを避けるため、処理全体でロックをとっ
	たままにしておく必要があります。

#	Note: currently almost all instances of address_space methods are
#using BKL for internal serialization and that's one of the worst sources
#of contention. Normally they are calling library functions (in fs/buffer.c)
#and pass foo_get_block() as a callback (on local block-based filesystems,
#indeed). BKL is not needed for library stuff and is usually taken by
#foo_get_block(). It's an overkill, since block bitmaps can be protected by
#internal fs locking and real critical areas are much smaller than the areas
#filesystems protect now.
	注意: 現在ほとんど全てのアドレス空間メソッドのインスタンスで、内部
	の同期のために BKL を用いており、これが競合の最大の主原因の一つに
	なっています。通常これらはライブラリ関数を呼び出し (fs/buffer.c
	内の)、(ローカルのブロックベースのファイルシステムでは) コールバッ
	クとして foo_get_block() を渡します。BKL はライブラリの類では必要
	なわけではなく、通常は foo_get_block() で取得されます。ブロックビ
	ットマップは内部のファイルシステムロックで保護することもでき、真に
	クリティカルな領域はファイルシステム保護範囲よりずっと小さいため、
	これはやりすぎです。

----------------------- file_lock_operations ------------------------------
prototypes:
	void (*fl_insert)(struct file_lock *);	/* lock insertion callback */
	void (*fl_remove)(struct file_lock *);	/* lock removal callback */
	void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
	void (*fl_release_private)(struct file_lock *);


#locking rules:
#			BKL	may block
#fl_insert:		yes	no
#fl_remove:		yes	no
#fl_copy_lock:		yes	no
#fl_release_private:	yes	yes
ロッキングルール:
			BKL	ブロックの可能性
fl_insert:		はい	いいえ
fl_remove:		はい	いいえ
fl_copy_lock:		はい	いいえ
fl_release_private:	はい	はい


----------------------- lock_manager_operations ---------------------------
prototypes:
	int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
	void (*fl_notify)(struct file_lock *);  /* unblock callback */
	void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
	void (*fl_release_private)(struct file_lock *);
	void (*fl_break)(struct file_lock *); /* break_lease callback */

#locking rules:
#			BKL	may block
#fl_compare_owner:	yes	no
#fl_notify:		yes	no
#fl_copy_lock:		yes	no
#fl_release_private:	yes	yes
#fl_break:		yes	no
ロッキングルール:
			BKL	ブロックの可能性
fl_compare_owner:	はい	いいえ
fl_notify:		はい	いいえ
fl_copy_lock:		はい	いいえ
fl_release_private:	はい	はい
fl_break:		はい	いいえ

#	Currently only NFSD and NLM provide instances of this class. None of the
#them block. If you have out-of-tree instances - please, show up. Locking
#in that area will change.
	現在は NFSD と NLM のみがこのクラスのインスタンスを提供しています。
	いずれもブロックしません。ツリー外のインスタンスを作成する場合は、
	お願いですから公表してください。このエリアのロック規則には変更があ
	るかもしれません。
--------------------------- buffer_head -----------------------------------
prototypes:
	void (*b_end_io)(struct buffer_head *bh, int uptodate);

#locking rules:
#	called from interrupts. In other words, extreme care is needed here.
#bh is locked, but that's all warranties we have here. Currently only RAID1,
#highmem, fs/buffer.c, and fs/ntfs/aops.c are providing these. Block devices
#call this method upon the IO completion.
ロッキングルール:
	割り込み処理から呼ばれます。言い方を変えると、ここでは細心の注意が
	必要です。bh はロックされていますが、ここではそれが唯一の保護とい
	うことになります。現在 RAID1, highmem, fs/buffer.c と
	fs/nfs/app.c が本機能を提供しています。ブロックデバイスは I/O 完
	了時にこのメソッドを呼び出します。

--------------------------- block_device_operations -----------------------
prototypes:
	int (*open) (struct inode *, struct file *);
	int (*release) (struct inode *, struct file *);
	int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);
	int (*media_changed) (struct gendisk *);
	int (*revalidate_disk) (struct gendisk *);

#locking rules:
#			BKL	bd_sem
#open:			yes	yes
#release:		yes	yes
#ioctl:			yes	no
#media_changed:		no	no
#revalidate_disk:	no	no
ロッキングルール:
			BKL	bd_sem
open:			はい	はい
release:		はい	はい
ioctl:			はい	いいえ
media_changed:		いいえ	いいえ
revalidate_disk:	いいえ	いいえ

#The last two are called only from check_disk_change().
最後のふたつは check_disk_change() からのみ呼ばれます。

--------------------------- file_operations -------------------------------
prototypes:
	loff_t (*llseek) (struct file *, loff_t, int);
	ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
	ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
	ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	int (*readdir) (struct file *, void *, filldir_t);
	unsigned int (*poll) (struct file *, struct poll_table_struct *);
	int (*ioctl) (struct inode *, struct file *, unsigned int,
			unsigned long);
	long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
	long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
	int (*mmap) (struct file *, struct vm_area_struct *);
	int (*open) (struct inode *, struct file *);
	int (*flush) (struct file *);
	int (*release) (struct inode *, struct file *);
	int (*fsync) (struct file *, struct dentry *, int datasync);
	int (*aio_fsync) (struct kiocb *, int datasync);
	int (*fasync) (int, struct file *, int);
	int (*lock) (struct file *, int, struct file_lock *);
	ssize_t (*readv) (struct file *, const struct iovec *, unsigned long,
			loff_t *);
	ssize_t (*writev) (struct file *, const struct iovec *, unsigned long,
			loff_t *);
	ssize_t (*sendfile) (struct file *, loff_t *, size_t, read_actor_t,
			void __user *);
	ssize_t (*sendpage) (struct file *, struct page *, int, size_t,
			loff_t *, int);
	unsigned long (*get_unmapped_area)(struct file *, unsigned long,
			unsigned long, unsigned long, unsigned long);
	int (*check_flags)(int);
	int (*dir_notify)(struct file *, unsigned long);
};

#locking rules:
#	All except -&gt;poll() may block.
#			BKL
#llseek:			no	(see below)
#read:			no
#aio_read:		no
#write:			no
#aio_write:		no
#readdir: 		no
#poll:			no
#ioctl:			yes	(see below)
#unlocked_ioctl:		no	(see below)
#compat_ioctl:		no
#mmap:			no
#open:			no
#flush:			no
#release:		no
#fsync:			no	(see below)
#aio_fsync:		no
#fasync:			no
#lock:			yes
#readv:			no
#writev:			no
#sendfile:		no
#sendpage:		no
#get_unmapped_area:	no
#check_flags:		no
#dir_notify:		no
ロッキングルール：
-&gt;poll() 以外はブロックする可能性があります。
			BKL
llseek:			いいえ (下記参照)
read:			いいえ
aio_read:		いいえ
write:			いいえ
aio_write:		いいえ
readdir: 		いいえ
poll:			いいえ
ioctl:			はい (下記参照)
unlocked_ioctl:		いいえ (下記参照)
compat_ioctl:		いいえ
mmap:			いいえ
open:			いいえ
flush:			いいえ
release:		いいえ
fsync:			いいえ (下記参照)
aio_fsync:		いいえ
fasync:			いいえ
lock:			はい
readv:			いいえ
writev:			いいえ
sendfile:		いいえ
sendpage:		いいえ
get_unmapped_area:	いいえ
check_flags:		いいえ
dir_notify:		いいえ

#-&gt;llseek() locking has moved from llseek to the individual llseek
#implementations.  If your fs is not using generic_file_llseek, you
#need to acquire and release the appropriate locks in your -&gt;llseek().
#For many filesystems, it is probably safe to acquire the inode
#semaphore.  Note some filesystems (i.e. remote ones) provide no
#protection for i_size so you will need to use the BKL.
-&gt;llseek() ロック処理は llseek 自体から、個々の llseek の実装側に移されま
した。作成しているファイルシステムが generic_file_llseek() を使っていない
なら、自分の -&gt;llseek() 実装中で必要なロックの取得と解放を行う必要がありま
す。多くのファイルシステムでは、inode セマフォを確保する処理はおそらく安
全です。但し、一部のファイルシステム (特にリモートのもの) は i_size に対す
る保護を提供しないため、BKL を使う必要がおそらくあるでしょう。

#Note: ext2_release() was *the* source of contention on fs-intensive
#loads and dropping BKL on -&gt;release() helps to get rid of that (we still
#grab BKL for cases when we close a file that had been opened r/w, but that
#can and should be done using the internal locking with smaller critical areas).
#Current worst offender is ext2_get_block()...
注意: ext2_release() はファイルシステムへの負荷集中時、競合のまさに主要因
となり、-&gt;release() 時に BKL を解放することは問題対処の助けになります (そ
れでも読み書きモードで開いたファイルのクローズなどの場合には BKL をつかみ
ますが、それはより狭いクリティカル領域の内部のロックで処理可能ですし、
そうすべきでもあります)。現在の最悪の犯罪者は ext2_get_block() です…

#-&gt;fasync() is called without BKL protection, and is responsible for
#maintaining the FASYNC bit in filp-&gt;f_flags.  Most instances call
#fasync_helper(), which does that maintenance, so it's not normally
#something one needs to worry about.  Return values &gt; 0 will be mapped to
#zero in the VFS layer.
-&gt;fasync() は BKL による保護なしに呼ばれ、filp-&gt;f_flags 中の FASYNC ビッ
トを維持する責任を負います。ほとんどのインスタンスではメンテナンスを行う
fasync_helper() を使っているでしょうから、普通はあまり心配する必要はない
事項です。戻り値が ＞0 の場合は VFS レイヤで 0 にマップされています。

#-&gt;readdir() and -&gt;ioctl() on directories must be changed. Ideally we would
#move -&gt;readdir() to inode_operations and use a separate method for directory
#-&gt;ioctl() or kill the latter completely. One of the problems is that for
#anything that resembles union-mount we won't have a struct file for all
#components. And there are other reasons why the current interface is a mess...
ディレクトリに関する -&gt;readdir() と -&gt;ioctl() には変更が必要です。理想的に
は、readdir() を inode_operation 側に移して、ディレクトリの -&gt;ioctl() に
は独立したメソッドを用いるか、(ディレクトリの -&gt;ioctl() を) 完全に止めにし
てしまうかです。そうした場合の問題点の一つは、union-mount の類のものについ
ては全てのコンポーネントの構造体がなくなってしまうことです。これ以外にも一
杯理由があって、現在のインターフェースはぐちゃぐちゃとしか思えません ……

#-&gt;ioctl() on regular files is superceded by the -&gt;unlocked_ioctl() that
#doesn't take the BKL.
通常のファイルに対する -&gt;ioctl() は、BKL を取得しない -&gt;unlocked_ioctl()
に置き換えられます。

#-&gt;read on directories probably must go away - we should just enforce -EISDIR
#in sys_read() and friends.
ディレクトリに対する -&gt;read は捨てるべきなのでしょう。単に sys_read() と
そのお仲間では -EISDIR を使うよう強く推奨することによって。

#-&gt;fsync() has i_mutex on inode.
-&gt;fsync() は inode 上で i_mutex を保持します。

--------------------------- dquot_operations -------------------------------
prototypes:
	int (*write_dquot) (struct dquot *);
	int (*acquire_dquot) (struct dquot *);
	int (*release_dquot) (struct dquot *);
	int (*mark_dirty) (struct dquot *);
	int (*write_info) (struct super_block *, int);

#These operations are intended to be more or less wrapping functions that ensure
#a proper locking wrt the filesystem and call the generic quota operations.
これらの処理は適切なロッキング手順を保証し、汎用のクオータ処理を呼ぶよう
になっているラッパー関数の類であることを意図しています。

#What filesystem should expect from the generic quota functions:
ファイルシステムが、汎用のクオータ関数に対して想定しているのは下記の
挙動です。

#		FS recursion	Held locks when called
#write_dquot:	yes		dqonoff_sem or dqptr_sem
#acquire_dquot:	yes		dqonoff_sem or dqptr_sem
#release_dquot:	yes		dqonoff_sem or dqptr_sem
#mark_dirty:	no		-
#write_info:	yes		dqonoff_sem
		FS 再帰		呼ばれるとき保持しているロック
write_dquot:	はい		dqonoff_sem または dqptr_sem
acquire_dquot:	はい		dqonoff_sem または dqptr_sem
release_dquot:	はい		dqonoff_sem または dqptr_sem
mark_dirty:	いいえ		-
write_info:	はい		dqonoff_sem

#FS recursion means calling -&gt;quota_read() and -&gt;quota_write() from superblock
#operations.
FS 再帰とは、-&gt;quota_read() や -&gt;quota_write() をスーパーブロック操作から
呼ぶことです。

#More details about quota locking can be found in fs/dquot.c.
クオータロック処理の詳細については、fs/dquot.c に記載されています。

--------------------------- vm_operations_struct -----------------------------
prototypes:
	void (*open)(struct vm_area_struct*);
	void (*close)(struct vm_area_struct*);
	int (*fault)(struct vm_area_struct*, struct vm_fault *);
	int (*page_mkwrite)(struct vm_area_struct *, struct vm_fault *);
	int (*access)(struct vm_area_struct *, unsigned long, void*, int, int);

#locking rules:
#		BKL	mmap_sem	PageLocked(page)
#open:		no	yes
#close:		no	yes
#fault:		no	yes		can return with page locked
#page_mkwrite:	no	yes		can return with page locked
#access:		no	yes
ロッキングルール:
		BKL	mmap_sem	PageLocked(ページ)
open:		いいえ	はい
close:		いいえ	はい
fault:		いいえ	はい		ページをロックしたまま戻ってもよい
page_mkwrite:	いいえ	はい		ページをロックしたまま戻ってもよい
access:		いいえ	はい

#	-&gt;fault() is called when a previously not present pte is about
#to be faulted in. The filesystem must find and return the page associated
#with the passed in &quot;pgoff&quot; in the vm_fault structure. If it is possible that
#the page may be truncated and/or invalidated, then the filesystem must lock
#the page, then ensure it is not already truncated (the page lock will block
#subsequent truncate), and then return with VM_FAULT_LOCKED, and the page
#locked. The VM will unlock the page.
	-&gt;fault() は、以前存在しなかった pte をフォールトとして取り込もう
	とする際に呼ばれます。ファイルシステムは vm_fault 構造体中で
	pgoff として渡された対応ページを発見して、そのページを持って戻らな
	ければいけません。ページが切り詰められていたり (truncate)、無効に
	なっている可能性がありますが、その場合ファイルシステムはページを必
	ずロックし、それまでに切り捨てられていないことを確認 (ページロック
	により後続の切り捨てはブロックされます) し、ページをロックした状態
	で VM_FAULT_LOCKED で返らなければなりません。VM がページをその後
	でアンロックします。

#	-&gt;page_mkwrite() is called when a previously read-only pte is
#about to become writeable. The filesystem again must ensure that there are
#no truncate/invalidate races, and then return with the page locked. If
#the page has been truncated, the filesystem should not look up a new page
#like the -&gt;fault() handler, but simply return with VM_FAULT_NOPAGE, which
#will cause the VM to retry the fault.
	-&gt;page_mkwrite() は、以前読み出しのみだった pte を書き込み可能にし
	ようとする際に呼ばれます。ここでファイルシステムは再度
	truncate/invalidate 競合がないことを必ず確認し、ページをロックして
	戻ります。もしページが切り詰められている (truncate) 場合、ファイル
	システムは -&gt;fault() ハンドラとは異なり新しいページを探さずに
	VM_FAULT_NOPAGE で返るべきです。これにより VM はフォールト処理を
	リトライします。

#	-&gt;access() is called when get_user_pages() fails in
#acces_process_vm(), typically used to debug a process through
#/proc/pid/mem or ptrace.  This function is needed only for
#VM_IO | VM_PFNMAP VMAs.
	-&gt;access() は get_user_pages() が access_process_vm() 中で失敗
	した場合、典型的には /proc/pid/mem や ptrace を使ってプロセスのデ
	バッグを行っている場合、に呼ばれます。この関数は VM_IO | VM_PFNMAP
	VMA でのみ必要です。

================================================================================
#			Dubious stuff
			疑わしい場合

#(if you break something or notice that it is broken and do not fix it yourself
#- at least put it here)
(何かを壊したか、何かが壊れていることに気がついて、自分でそれを直さない場合
は - 少なくともここに記載してください)

#ipc/shm.c::shm_delete() - may need BKL.
#-&gt;read() and -&gt;write() in many drivers are (probably) missing BK
ipc/shm.c::shm_delete() - 恐らく BKL が必要
-&gt;read() および -&gt;write() : 多くのドライバで (恐らく) BK が抜けている。

</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p><div class="pagenavi"><div class="up"></div><div class="prev"><span class="label">Prev: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/exofs.txt">Documentation/filesystems/exofs.txt</a>
</div><div class="next"><span class="label">Next: </span><a href="http://sourceforge.jp/projects/linuxjf/wiki/ext4.txt">Documentation/filesystems/ext4.txt</a>
</div></div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/fiemap.txt">
    <title>fiemap.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/fiemap.txt</link>
    <dc:identifier>fiemap.txt</dc:identifier>
    <dc:date>2010-03-09T00:21:50+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(fiemap.txt)]]

[[include(Header)]]
[[Embed(fiemap.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くな]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/fiemap.txt/attach/fiemap.txt" title="fiemap.txt" alt="fiemap.txt" id="la-fiemap.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">fiemap.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-fiemap.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/fiemap.txt/attach/fiemap.txt">fiemap.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.33/Documentation/filesystems/fiemap.txt の和訳です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2010/02/10
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
============
Fiemap Ioctl
============

#The fiemap ioctl is an efficient method for userspace to get file
#extent mappings. Instead of block-by-block mapping (such as bmap), fiemap
#returns a list of extents.
fiemap ioctl はユーザ空間からファイルエクステントマッピングを得るための効
率的なメソッドです。ブロック対ブロックのマッピング (例えば bmap) の代わり
に、fiemap はエクステントのリストを返します。


#Request Basics
リクエストの基本
---------------

#A fiemap request is encoded within struct fiemap:
fiemap リクエストは、fiemap 構造体内にエンコードされています。

#struct fiemap {
#	__u64	fm_start;	 /* logical offset (inclusive) at
#				  * which to start mapping (in) */
#	__u64	fm_length;	 /* logical length of mapping which
#				  * userspace cares about (in) */
#	__u32	fm_flags;	 /* FIEMAP_FLAG_* flags for request (in/out) */
#	__u32	fm_mapped_extents; /* number of extents that were
#				    * mapped (out) */
#	__u32	fm_extent_count; /* size of fm_extents array (in) */
#	__u32	fm_reserved;
#	struct fiemap_extent fm_extents[0]; /* array of mapped extents (out) */
#};
struct fiemap {
	__u64	fm_start;	 /* マッピングが始まる論理オフセット地点
				  * (入力。開始地点を含む) */
	__u64	fm_length;	 /* ユーザ空間で考慮すべきマッピングの論
				  * 理長 (入力) */
	__u32	fm_flags;	 /* リクエストの FIEMAP_FLAG_* フラグ
				  * (入出力) */
	__u32	fm_mapped_extents; /* マップされたエクステント数 (出力) */
	__u32	fm_extent_count; /* fm_extents 配列のサイズ (入力) */
	__u32	fm_reserved;
	struct fiemap_extent fm_extents[0]; /* マップされたエクステント
				  * の配列 (出力) */
};


#fm_start, and fm_length specify the logical range within the file
#which the process would like mappings for. Extents returned mirror
#those on disk - that is, the logical offset of the 1st returned extent
#may start before fm_start, and the range covered by the last returned
#extent may end after fm_length. All offsets and lengths are in bytes.
fm_start と fm_length は、プロセスがマッピング対象にしようとしているファイ
ル内の論理範囲を指定します。返されるエクステントはそれらのディスク上の状態
を反映します - つまり、最初の返すエクステントの論理オフセットは fm_start
より前になっているかもしれず、返す最後のエクステントの範囲は fm_length の
後を指しているかもしれません。全てのオフセット及び長さはバイト単位です。

#Certain flags to modify the way in which mappings are looked up can be
#set in fm_flags. If the kernel doesn't understand some particular
#flags, it will return EBADR and the contents of fm_flags will contain
#the set of flags which caused the error. If the kernel is compatible
#with all flags passed, the contents of fm_flags will be unmodified.
#It is up to userspace to determine whether rejection of a particular
#flag is fatal to it's operation. This scheme is intended to allow the
#fiemap interface to grow in the future but without losing
#compatibility with old software.
マッピングの検索方法を変更するためのフラグは fm_flags で設定できます。カー
ネルに一部のフラグが理解できなかった場合、EBADR が返され、fm_flags にはエ
ラーの原因となったフラグ群が格納されます。カーネルが渡されたフラグ全てに互
換な場合、fm_flags の内容は変更されません。特定のフラグが拒否されたことが
処理上致命的であるかどうかの判断は、ユーザ空間側に任されます。この方法は
fiemap インターフェースの将来の拡張を、従来のソフトウェアへの互換性を失わ
ず対処することを意図しています。

#fm_extent_count specifies the number of elements in the fm_extents[] array
#that can be used to return extents.  If fm_extent_count is zero, then the
#fm_extents[] array is ignored (no extents will be returned), and the
#fm_mapped_extents count will hold the number of extents needed in
#fm_extents[] to hold the file's current mapping.  Note that there is
#nothing to prevent the file from changing between calls to FIEMAP.
fm_extent_count は fm_extents[] 配列でエクステントを返すのに使用できる要
素数を指定します。fm_extent_count の値が 0 の場合、fm_extents[] 配列は無
視され、エクステントは返されません。また、fm_mapped_extents にはファイ
ルの現在のマッピングを fm_extents[] に格納するのに必要なエクステント数が
返されます。但し、FIEMAP のコール間でファイルが変更されるのを防止するもの
は何もありません。

#The following flags can be set in fm_flags:
以下のフラグが fm_flags で設定可能です:

* FIEMAP_FLAG_SYNC
#If this flag is set, the kernel will sync the file before mapping extents.
このフラグがセットされている場合、エクステントマップの前にカーネルはファイ
ルを sync します。

* FIEMAP_FLAG_XATTR
#If this flag is set, the extents returned will describe the inodes
#extended attribute lookup tree, instead of it's data tree.
このフラグがセットされている場合、戻されるエクステントは inode のデータツ
リーではなく、 拡張アトリビュートルックアップツリーに対応したものになりま
す。


#Extent Mapping
エクステントマッピング
----------------------

#Extent information is returned within the embedded fm_extents array
#which userspace must allocate along with the fiemap structure. The
#number of elements in the fiemap_extents[] array should be passed via
#fm_extent_count. The number of extents mapped by kernel will be
#returned via fm_mapped_extents. If the number of fiemap_extents
#allocated is less than would be required to map the requested range,
#the maximum number of extents that can be mapped in the fm_extent[]
#array will be returned and fm_mapped_extents will be equal to
#fm_extent_count. In that case, the last extent in the array will not
#complete the requested range and will not have the FIEMAP_EXTENT_LAST
#flag set (see the next section on extent flags).
エクステントの情報は fm_extents 配列に埋め込んで返されるため、ユーザ空間
では fiemap 構造体とは別にメモリを割り当てなければいけません。
fiemap_extents[] 配列の要素数は fm_extent_count を用いて渡すべきです。カ
ーネルがマップしたエクステント数は、fm_mapped_extents に格納して戻されま
す。割り当てられた fiemap_extents 数が要求された範囲をマップするのに必要
な数より小さい場合、fm_extent[] 配列にマップ可能なエクステントの最大数が戻
され、fm_mapped_extents の値は fm_extent_count と同じになります。この場
合、配列の最後のエクステントは要求された範囲のマップを完了したものとはなら
ず、FIEMAP_EXTENT_LAST フラグはセットされないでしょう (次節のエクステン
トフラグの説明を参照ください)。

#Each extent is described by a single fiemap_extent structure as
#returned in fm_extents.
各エクステントは、一つの fiemap_extent 構造体で記述され、fm_extents に格
納されて戻されます。

#struct fiemap_extent {
#	__u64	fe_logical;  /* logical offset in bytes for the start of
#			      * the extent */
#	__u64	fe_physical; /* physical offset in bytes for the start
#			      * of the extent */
#	__u64	fe_length;   /* length in bytes for the extent */
#	__u64	fe_reserved64[2];
#	__u32	fe_flags;    /* FIEMAP_EXTENT_* flags for this extent */
#	__u32	fe_reserved[3];
#};
struct fiemap_extent {
	__u64	fe_logical;  /* エクステントの開始地点のバイト単位の論理
			      * オフセット */
	__u64	fe_physical; /* エクステントの開始地点のバイト単位の物理
			      * オフセット */
	__u64	fe_length;   /* エクステントのバイト単位の長さ */
	__u64	fe_reserved64[2];
	__u32	fe_flags;    /* このエクステントの FIEMAP_EXTENT_* フラグ */
	__u32	fe_reserved[3];
};

#All offsets and lengths are in bytes and mirror those on disk.  It is valid
#for an extents logical offset to start before the request or it's logical
#length to extend past the request.  Unless FIEMAP_EXTENT_NOT_ALIGNED is
#returned, fe_logical, fe_physical, and fe_length will be aligned to the
#block size of the file system.  With the exception of extents flagged as
#FIEMAP_EXTENT_MERGED, adjacent extents will not be merged.
各オフセットと長さの値はバイト単位で、ディスク上の値を反映しています。エク
ステントの開始地点の論理オフセットがリクエストでの要求地点の前から始まって
いること、および拡張する論理長がリクエストの後となることが許されています。
FIEMAP_EXTENT_NOT_ALIGNED が戻されていない場合には、fe_logical,
fe_physical, fe_length はファイルシステムのブロックサイズにアラインされ
ています。FIEMAP_EXTENT_MERGED フラグがセットされたエクステントを除いて
は、隣り合ったエクステントはマージされません。

#The fe_flags field contains flags which describe the extent returned.
#A special flag, FIEMAP_EXTENT_LAST is always set on the last extent in
#the file so that the process making fiemap calls can determine when no
#more extents are available, without having to call the ioctl again.
fe_flags フィールドには戻されたエクステントを記述したフラグが格納されます。
特別のフラグ FIEMAP_EXTENT_LAST はファイルの最後のエクステントで常にセッ
トされ、fiemap 呼び出しを行ったプロセスがそれ以上のエクステントがないとい
う判断を、再度 ioctl の呼び出しを行うことなく行えます。

#Some flags are intentionally vague and will always be set in the
#presence of other more specific flags. This way a program looking for
#a general property does not have to know all existing and future flags
#which imply that property.
一部のフラグは意図的に曖昧な意味づけがされており、他のより詳細なフラグを加
えてセットされます。このようにして一般的なプロパティを見ようとするプログラ
ムが、既存あるいは将来のこの方針に従うフラグの全てを理解する必要がないよう
にしています。

#For example, if FIEMAP_EXTENT_DATA_INLINE or FIEMAP_EXTENT_DATA_TAIL
#are set, FIEMAP_EXTENT_NOT_ALIGNED will also be set. A program looking
#for inline or tail-packed data can key on the specific flag. Software
#which simply cares not to try operating on non-aligned extents
#however, can just key on FIEMAP_EXTENT_NOT_ALIGNED, and not have to
#worry about all present and future flags which might imply unaligned
#data. Note that the opposite is not true - it would be valid for
#FIEMAP_EXTENT_NOT_ALIGNED to appear alone.
例えば、FIRMAP_EXTENT_DATA_INLINE または FIEMAP_EXTENT_DATA_TAIL がセッ
トされている場合、FIEMAP_EXTENT_NOT_ALIGNED が同時にセットされているでし
ょう。インラインまたは末尾にパックされたデータは所定のフラグを鍵として処理
できます。アラインされていないエクステントの処理を行わないようにすることだ
けを考慮しているソフトウェアは、単に FIEMAP_EXTENT_NOT_ALIGNED を鍵とし
て処理を行うことができ、データがアラインされていないことを暗黙で含む既存あ
るいは将来のフラグのことを心配する必要はありません。但し、この逆は言えませ
ん。つまり、FIEMAP_EXTENT_NOT_ALIGNED が単体で現れることには問題はありま
せん。

* FIEMAP_EXTENT_LAST
#This is the last extent in the file. A mapping attempt past this
#extent will return nothing.
これはファイルの最後のエクステントです。このエクステント以降でのマッピング
の試行は、何も返しません。

* FIEMAP_EXTENT_UNKNOWN
#The location of this extent is currently unknown. This may indicate
#the data is stored on an inaccessible volume or that no storage has
#been allocated for the file yet.
このエクステントの位置は現在不明です。これは、データが (現在) アクセスでき
ないボリュームに格納されているか、当該ファイルに記憶領域がまだ割り当てられ
ていない、などを示唆します。

* FIEMAP_EXTENT_DELALLOC
#  - This will also set FIEMAP_EXTENT_UNKNOWN.
#Delayed allocation - while there is data for this extent, it's
#physical location has not been allocated yet.
同時に FIEMAP_EXTENT_UNKNOWN もセットされています。
遅延割り当て関連 - このエクステントにデータはありますが、物理位置はまだ割
り当てられてはいません。

* FIEMAP_EXTENT_ENCODED
#This extent does not consist of plain filesystem blocks but is
#encoded (e.g. encrypted or compressed).  Reading the data in this
#extent via I/O to the block device will have undefined results.
このエクステントにはプレーンなファイルシステムブロックを含まず、何らかのエ
ンコードがされています (例えば、暗号化や圧縮などが行われている)。このエク
ステントからブロックデバイス入出力経由でデータを読み出した場合、結果は不定
になります。

#Note that it is *always* undefined to try to update the data
#in-place by writing to the indicated location without the
#assistance of the filesystem, or to access the data using the
#information returned by the FIEMAP interface while the filesystem
#is mounted.  In other words, user applications may only read the
#extent data via I/O to the block device while the filesystem is
#unmounted, and then only if the FIEMAP_EXTENT_ENCODED flag is
#clear; user applications must not try reading or writing to the
#filesystem via the block device under any other circumstances.
注意が必要なのは、ファイルシステムの助けなしに指された位置に直接書き込むこ
とでデータを更新した場合の結果、および FIEMAP インターフェースで返された情
報を使ってマウントされているファイルシステムのデータをアクセスした結果は
＊常に＊予測できないということです。言い換えれば、ユーザアプリケーションが
ブロックデバイスに対する入出力処理を用いてエクステントデータを読み取り可能
なのは、ファイルシステムがマウントされていないときだけであり、さらに
 FIEMAP_EXTENT_ENCODED フラグがセットされていないときのみだということです。
それ以外の状況では、ユーザアプリケーションはブロックデバイス経由でファイル
システムに対する読み書き処理を行ってはいけません。

* FIEMAP_EXTENT_DATA_ENCRYPTED
#  - This will also set FIEMAP_EXTENT_ENCODED
#The data in this extent has been encrypted by the file system.
同時に FIEMAP_EXTENT_ENCODED がセットされています。
このエクステントのデータはファイルシステムにより暗号化されています。

* FIEMAP_EXTENT_NOT_ALIGNED
#Extent offsets and length are not guaranteed to be block aligned.
エクステントのオフセットとサイズは、ブロック境界にアラインされているという
保証がありません。

* FIEMAP_EXTENT_DATA_INLINE
#  This will also set FIEMAP_EXTENT_NOT_ALIGNED
#Data is located within a meta data block.
同時に FIEMAP_EXTENT_NOT_ALIGNED がセットされています。
データはメタデータブロック内に配置されています。

* FIEMAP_EXTENT_DATA_TAIL
#  This will also set FIEMAP_EXTENT_NOT_ALIGNED
#Data is packed into a block with data from other files.
同時に FIEMAP_EXTENT_NOT_ALIGNED がセットされています。
データは他のファイルのデータと一緒にブロックに圧縮格納されています。

* FIEMAP_EXTENT_UNWRITTEN
#Unwritten extent - the extent is allocated but it's data has not been
#initialized.  This indicates the extent's data will be all zero if read
#through the filesystem but the contents are undefined if read directly from
#the device.
未書き込みエクステント - エクステントは割り当てられていますが、データ内容
は初期化されていません。これは、ファイルシステム経由でデータを読み出した場
合には全て 0 に、デバイスを直接読み出した場合には内容は不定であることを示
します。

* FIEMAP_EXTENT_MERGED
#This will be set when a file does not support extents, i.e., it uses a block
#based addressing scheme.  Since returning an extent for each block back to
#userspace would be highly inefficient, the kernel will try to merge most
#adjacent blocks into 'extents'.
このフラグは、ファイルがエクステントをサポートしていない場合にセットされま
す。即ち、ファイルではブロックベースのアドレス手法が使われています。この場
合、各ブロックのエクステントをユーザ空間に戻すのがとても非効率なため、カー
ネルは殆どの隣接ブロックを『エクステント』としてマージしようとします。


#VFS -&gt; File System Implementation
VFS -&gt; ファイルシステムの実装
----------------------------

#File systems wishing to support fiemap must implement a -&gt;fiemap callback on
#their inode_operations structure. The fs -&gt;fiemap call is responsible for
#defining it's set of supported fiemap flags, and calling a helper function on
#each discovered extent:
fiemap をサポートしたいファイルシステムでは、inode_operaton 構造体に対し
て -&gt;fiemap コールバックを実装しなければいけません。fs の -&gt;fiemap コー
ルはサポートしている fiemap フラグの定義と、発見された各エクステントに対
するヘルパー関数の呼び出しに責任があります。

struct inode_operations {
       ...

       int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
                     u64 len);

#-&gt;fiemap is passed struct fiemap_extent_info which describes the
#fiemap request:
-&gt;fiemap には、fiemap リクエストを記載した fiemap_extent_info 構造体が渡
されます。

#struct fiemap_extent_info {
#	unsigned int fi_flags;		/* Flags as passed from user */
#	unsigned int fi_extents_mapped;	/* Number of mapped extents */
#	unsigned int fi_extents_max;	/* Size of fiemap_extent array */
#	struct fiemap_extent *fi_extents_start;	/* Start of fiemap_extent array */
#};
struct fiemap_extent_info {
	unsigned int fi_flags;		/* ユーザから渡されたフラグ群 */
	unsigned int fi_extents_mapped;	/* マップされたエクステント数 */
	unsigned int fi_extents_max;	/* fiemap_extent 配列のサイズ */
	struct fiemap_extent *fi_extents_start;	/* fiemap_extent 配列の */
						/* 開始ポインタ */
};

#It is intended that the file system should not need to access any of this
#structure directly.
これは、ファイルシステムがこの構造体のどの要素にも直接アクセスする必要がな
いようにすることを意図しています。

#Flag checking should be done at the beginning of the -&gt;fiemap callback via the
#fiemap_check_flags() helper:
フラグ検査は、-&gt;fiemap コールバックの最初で fiemap_check_flags() ヘルパ
ー関数を使って行うべきです。

int fiemap_check_flags(struct fiemap_extent_info *fieinfo, u32 fs_flags);

#The struct fieinfo should be passed in as received from ioctl_fiemap(). The
#set of fiemap flags which the fs understands should be passed via fs_flags. If
#fiemap_check_flags finds invalid user flags, it will place the bad values in
#fieinfo-&gt;fi_flags and return -EBADR. If the file system gets -EBADR, from
#fiemap_check_flags(), it should immediately exit, returning that error back to
#ioctl_fiemap().
fieinfo 構造体は ioctl_fiemap() から渡されたまま転送すべきです。ファイル
システムが理解している fiemap フラグの集合は、fs_flags を用いて渡すべきで
す。fiemap_check_flags は不正なユーザフラグを見つけた場合、不正部の値を
fieinfo-&gt;fi_flags に置き、-EBADR を返します。ファイルシステムが -EBADR
を fiemap_check_flags から受けた場合、エラーを ioctl_fiemap() に返して
即座に戻るべきです。


#For each extent in the request range, the file system should call
#the helper function, fiemap_fill_next_extent():
リクエスト範囲の各エクステントに対して、ファイルシステムはヘルパー関数
fiemap_fill_next_extent() を呼ぶべきです。

int fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical,
			    u64 phys, u64 len, u32 flags, u32 dev);

#fiemap_fill_next_extent() will use the passed values to populate the
#next free extent in the fm_extents array. 'General' extent flags will
#automatically be set from specific flags on behalf of the calling file
#system so that the userspace API is not broken.
fiemap_fill_next_extent() は渡された値を、fm_extent 配列の次のフリーなエ
クステントを埋めるために使います。『汎用の』エクステントフラグが、ユーザ
空間 API に違反しないようにファイルシステムを呼び出すため、所定のフラグ
から自動的にセットされます。

#fiemap_fill_next_extent() returns 0 on success, and 1 when the
#user-supplied fm_extents array is full. If an error is encountered
#while copying the extent to user memory, -EFAULT will be returned.
fiemap_fill_next_extent() は成功時に 0 を返し、ユーザの提供した
fm_extent 配列が一杯だった場合には 1 を返します。エクステントのユーザメモ
リへのコピー時にエラーになった場合には、-EFAULT を返します。


</pre></div><p>
</p><p>コメントが長くなった場合は、jf@listserv.linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/Header">
    <title>Header</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/Header</link>
    <dc:identifier>Header</dc:identifier>
    <dc:date>2010-01-24T22:01:56+09:00</dc:date>
        <description>
      <![CDATA[現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、[http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple チケット]、[http://sourceforge.jp/forum/forum.php?forum_id=15237 フォーラム]のいず]]>
    </description>
    <content:encoded>
      <![CDATA[<p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/nilfs2.txt">
    <title>nilfs2.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/nilfs2.txt</link>
    <dc:identifier>nilfs2.txt</dc:identifier>
    <dc:date>2009-07-02T22:33:08+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(nilfs2.txt)]]

[[include(Header)]]
[[Embed(nilfs2.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くな]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/nilfs2.txt/attach/nilfs2.txt" title="nilfs2.txt" alt="nilfs2.txt" id="la-nilfs2.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">nilfs2.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-nilfs2.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/nilfs2.txt/attach/nilfs2.txt">nilfs2.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.30/Documentation/filesystems/nilfs2.txt の和訳です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2009/06/16
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
NILFS2
------

#NILFS2 is a log-structured file system (LFS) supporting continuous
#snapshotting.  In addition to versioning capability of the entire file
#system, users can even restore files mistakenly overwritten or
#destroyed just a few seconds ago.  Since NILFS2 can keep consistency
#like conventional LFS, it achieves quick recovery after system
#crashes.
NILFS2 は連続スナップショットをサポートするログ構造ファイルシステ
ム (LFS) です。全ファイルシステムに対するバージョン機能に加え、ユ
ーザが数秒前に誤って上書きや破壊したファイルの回復を行うことすら可
能です。NILFS2 は従来の LFS のように一貫性を保つ機能を持っています
から、システムクラッシュ後の素早い回復も実現しています。

#NILFS2 creates a number of checkpoints every few seconds or per
#synchronous write basis (unless there is no change).  Users can select
#significant versions among continuously created checkpoints, and can
#change them into snapshots which will be preserved until they are
#changed back to checkpoints.
NILFS2 は数秒毎に、あるいは同期書き込みを基に (変更がない場合を除
いて) 多数のチェックポイントを作成しています。ユーザは継続的に作ら
れたチェックポイントから必要とするバージョンを選択し、そのバージョ
ンをスナップショットに変換できます。スナップショットはチェックポイ
ントに戻されるまで保持されます。

#There is no limit on the number of snapshots until the volume gets
#full.  Each snapshot is mountable as a read-only file system
#concurrently with its writable mount, and this feature is convenient
#for online backup.
ボリュームが一杯にならない限り、スナップショット数の制限はありま
せん。各スナップショットはリードオンリーのファイルシステムとして、
書き込み可能なマウントと同時にマウント可能であり、これはオンライ
ンバックアップに有用な機能です。

#The userland tools are included in nilfs-utils package, which is
#available from the following download page.  At least &quot;mkfs.nilfs2&quot;,
#&quot;mount.nilfs2&quot;, &quot;umount.nilfs2&quot;, and &quot;nilfs_cleanerd&quot; (so called
#cleaner or garbage collector) are required.  Details on the tools are
#described in the man pages included in the package.
以下のダウンロードページで提供されている nilfs-utils パッケージに
ユーザランドツールが収録されています。少なくとも、&quot;mkfs.nilfs2&quot;、
&quot;mount.nilfs2&quot;、&quot;umount.nilfs2&quot; と &quot;nilfs_cleanerd&quot; (いわばクリー
ナ兼ガベージコレクタ) が必要です。これらのツールの詳細は、パッケ
ージに同梱されている man ページに記載があります。

#Project web page:    http://www.nilfs.org/en/
#Download page:       http://www.nilfs.org/en/download.html
#Git tree web page:   http://www.nilfs.org/git/
#NILFS mailing lists: http://www.nilfs.org/mailman/listinfo/users
プロジェクトウェブページ: http://www.nilfs.org/en/
ダウンロードページ:       http://www.nilfs.org/en/download.html
Git ツリーウェブページ:   http://www.nilfs.org/git/
NILFS メーリングリスト:   http://www.nilfs.org/mailman/listinfo/users

#Caveats
#=======
断り書き
=======

#Features which NILFS2 does not support yet:
NILFS2 がまだサポートしていない機能は以下のとおりです。

#	- atime
#	- extended attributes
#	- POSIX ACLs
#	- quotas
#	- writable snapshots
#	- remote backup (CDP)
#	- data integrity
#	- defragmentation
	- atime
	- 拡張アトリビュート
	- POSIX ACL
	- クオータ
	- 書き込み可能なスナップショット
	- リモートバックアップ (CDP)
	- データ整合性の保証
	- デフラグ

#Mount options
#=============
マウントオプション
=================

#NILFS2 supports the following mount options:
#(*) == default
NILFS2 は以下のマウントオプションをサポートしています。
(*) は 標準値

#barrier=on(*)		This enables/disables barriers. barrier=off disables
#			it, barrier=on enables it.
#errors=continue(*)	Keep going on a filesystem error.
#errors=remount-ro	Remount the filesystem read-only on an error.
#errors=panic		Panic and halt the machine if an error occurs.
#cp=n			Specify the checkpoint-number of the snapshot to be
#			mounted.  Checkpoints and snapshots are listed by lscp
#			user command.  Only the checkpoints marked as snapshot
#			are mountable with this option.  Snapshot is read-only,
#			so a read-only mount option must be specified together.
#order=relaxed(*)	Apply relaxed order semantics that allows modified data
#			blocks to be written to disk without making a
#			checkpoint if no metadata update is going.  This mode
#			is equivalent to the ordered data mode of the ext3
#			filesystem except for the updates on data blocks still
#			conserve atomicity.  This will improve synchronous
#			write performance for overwriting.
#order=strict		Apply strict in-order semantics that preserves sequence
#			of all file operations including overwriting of data
#			blocks.  That means, it is guaranteed that no
#			overtaking of events occurs in the recovered file
#			system after a crash.
barrier=on(*)		バリアを有効化/無効化する。barrier=off は無効化
			し、barrier=on は有効化する。
errors=continue(*)	ファイルシステムエラー時に処理を続行する。
errors=remount-ro	エラー時にファイルシステムをリードオンリーで再
			マウントする。
errors=panic		エラー時にパニックとし、マシン動作を停止する。
cp=n			マウント対象とするスナップショットのチェックポイ
			ント番号を指定する。チェックポイントとスナップシ
			ョットは lscp コマンドで一覧可能です。スナップシ
			ョットとしてマークしたチェックポイントのみがこの
			オプションでマウント可能です。スナップショットは
			読み出しのみですから、読み出しのみのマウントオプ
			ション指定を合わせて指示する必要があります。
order=relaxed(*)	メタデータ変更を伴わない場合、変更されたデータブ
			ロックをチェックポイントを作成することなしにディ
			スクに書き込む緩和された順序制御手順を採用する。
			このモードはデータブロックのアトミック処理性が維
			持されている点を除いては ext3 ファイルシステムの
			ordered モードに相当します。このモードにより、上
			書き時の同期書き込み性能が向上します。
order=strict		データブロックへの上書きを含む全てのファイル操作
			の順序制御を、順序どおりに厳密に行う順序制御手順
			を採用する。これにより、クラッシュ後の回復された
			ファイルシステムでイベントの追い抜きが発生してい
			ないことが保証されます。

#NILFS2 usage
#============
NILFS2 の利用法
==============

#To use nilfs2 as a local file system, simply:
ローカルファイルシステムとして nilfs2 を用いるには、単に以下のようにして
ください。

# mkfs -t nilfs2 /dev/block_device
# mount -t nilfs2 /dev/block_device /dir

#This will also invoke the cleaner through the mount helper program
#(mount.nilfs2).
この処理では同時にマウントヘルパープログラム (mount.nilfs2) によりクリー
ナが起動されます。

#Checkpoints and snapshots are managed by the following commands.
#Their manpages are included in the nilfs-utils package above.
チェックポイントとスナップショットは以下のコマンドで管理します。これらの
コマンドの man ページは上記の nilfs-utils に収録されています。

#  lscp     list checkpoints or snapshots.
#  mkcp     make a checkpoint or a snapshot.
#  chcp     change an existing checkpoint to a snapshot or vice versa.
#  rmcp     invalidate specified checkpoint(s).
  lscp     チェックポイントとスナップショットを列挙する。
  mkcp     チェックポイントやスナップショットを作成する
  chcp     既存のチェックポイントをスナップショットに変換する。またはそ
  	   の逆操作。
  rmcp     指定されたチェックポイントを無効化する。

#To mount a snapshot,
スナップショットをマウントするには以下のようにします。

# mount -t nilfs2 -r -o cp=&lt;cno&gt; /dev/block_device /snap_dir

#where &lt;cno&gt; is the checkpoint number of the snapshot.
ここで、&lt;cno&gt; はスナップショットのチェックポイント番号です。

#To unmount the NILFS2 mount point or snapshot, simply:
NILFS2 マウントポイントまたはスナップショットをアンマウントするには、単
に以下のようにしてください。

# umount /dir

#Then, the cleaner daemon is automatically shut down by the umount
#helper program (umount.nilfs2).
その後、umount ヘルパープログラム (umount.nilfs2) によりクリーナデーモ
ンが自動的にシャットダウンを行います。

#Disk format
#===========
ディスクフォーマット
===================

#A nilfs2 volume is equally divided into a number of segments except
#for the super block (SB) and segment #0.  A segment is the container
#of logs.  Each log is composed of summary information blocks, payload
#blocks, and an optional super root block (SR):
nilfs2 ボリュームはスーパーブロック (SB) とセグメント #0、それ以外は同
一サイズの複数セグメントに分割されています。セグメントはログのコンテナ
です。各ログはサマリ情報ブロックと、ペイロードブロック、オプションのス
ーパールートブロック (SR) から構成されています。

#   ______________________________________________________
#  | |SB| | Segment | Segment | Segment | ... | Segment | |
#  |_|__|_|____0____|____1____|____2____|_____|____N____|_|
#  0 +1K +4K       +8M       +16M      +24M  +(8MB x N)
#       .             .            (Typical offsets for 4KB-block)
#    .                  .
#  .______________________.
#  | log | log |... | log |
#  |__1__|__2__|____|__m__|
#        .       .
#      .               .
#    .                       .
#  .______________________________.
#  | Summary | Payload blocks  |SR|
#  |_blocks__|_________________|__|
   ________________________________________________________
  | |SB| |セグメント|セグメント|セグメント| ... |セグメント| |
  |_|__|_|____0____|____1____|____2_____|_____|____N____|_|
  0 +1K +4K        +8M       +16M      +24M   +(8MB x N)
       .             .            (Typical offsets for 4KB-block)
    .                  .
  .______________________.
  | ログ| ログ|... | ログ|
  |__1__|__2__|____|__m__|
        .       .
      .               .
    .                       .
  .______________________________.
  |サマリ情報| ペイロード      |SR|
  |_ブロック_|__ブロック_______|__|

#The payload blocks are organized per file, and each file consists of
#data blocks and B-tree node blocks:
ペイロードブロックは各ファイルに対応して構成されており、各ファイルはデ
ータブロックと B-ツリーノードブロックで構成されています。

#    |&lt;---       File-A        ---&gt;|&lt;---       File-B        ---&gt;|
#   _______________________________________________________________
#    | Data blocks | B-tree blocks | Data blocks | B-tree blocks | ...
#   _|_____________|_______________|_____________|_______________|_
   |&lt;---       File-A         ---&gt;|&lt;---       File-B         ---&gt;|
   _______________________________________________________________
   | データ        | B-tree        | データ       | B-tree        | ...
   |__ブロック_____|___ブロック_____|__ブロック ___|___ブロック____|_


#Since only the modified blocks are written in the log, it may have
#files without data blocks or B-tree node blocks.
変更されたブロックのみがログに書かれるため、データブロックや B-ツリー
ノードブロックを持たないファイルが存在するかもしれません。

#The organization of the blocks is recorded in the summary information
#blocks, which contains a header structure (nilfs_segment_summary), per
#file structures (nilfs_finfo), and per block structures (nilfs_binfo):
ブロックの構成は、サマリ情報ブロックに書き込まれます。この構成には、ヘ
ッダ構造 (nilfs_segment_summary)、ファイル毎の構造 (nilfs_finfo) とブロ
ック毎の構造 (nilfs_binfo) が含まれます。

#  _________________________________________________________________________
# | Summary | finfo | binfo | ... | binfo | finfo | binfo | ... | binfo |...
# |_blocks__|___A___|_(A,1)_|_____|(A,Na)_|___B___|_(B,1)_|_____|(B,Nb)_|___
  _________________________________________________________________________
 |サマリ情報 | finfo | binfo | ... | binfo | finfo | binfo | ... | binfo |...
 |_ブロック__|___A___|_(A,1)_|_____|(A,Na)_|___B___|_(B,1)_|_____|(B,Nb)_|___


#The logs include regular files, directory files, symbolic link files
#and several meta data files.  The mata data files are the files used
#to maintain file system meta data.  The current version of NILFS2 uses
#the following meta data files:
ログには一般ファイル、ディレクとリファイル、シンボリックリンクファイル
と幾種かのメタデータファイルが含まれます。メタデータファイルはファイル
システムメタデータを維持管理するためのファイルです。現在の版の NILFS2
では以下のメタデータファイルを使っています。

# 1) Inode file (ifile)             -- Stores on-disk inodes
# 2) Checkpoint file (cpfile)       -- Stores checkpoints
# 3) Segment usage file (sufile)    -- Stores allocation state of segments
# 4) Data address translation file  -- Maps virtual block numbers to usual
#    (DAT)                             block numbers.  This file serves to
#                                      make on-disk blocks relocatable.
 1) Inode ファイル (ifile)          -- オンディスク inode を格納します
 2) Checkpoint ファイル (cpfile)    -- チェックポイントを格納します
 3) Segment usage ファイル (sufile) -- セグメントの割り当て状況を格納
 					します
 4) データアドレス変換ファイル       -- 仮想ブロック番号と通常のブロッ
 	  (DAT)				ク番号をマップします。このファ
	   				イルはディスク上のブロックを再
					配置可能にします。

#The following figure shows a typical organization of the logs:
以下の図は、ログの典型的な構成を示します。

#  _________________________________________________________________________
# | Summary | regular file | file  | ... | ifile | cpfile | sufile | DAT |SR|
# |_blocks__|_or_directory_|_______|_____|_______|________|________|_____|__|
  _______________________________________________________________________________
 |サマリ情報| 通常ファイルまたは | file  | ... | ifile | cpfile | sufile | DAT |SR|
 |_ブロック_|_ディレクトリ_______|_______|_____|_______|________|________|_____|__|

#To stride over segment boundaries, this sequence of files may be split
#into multiple logs.  The sequence of logs that should be treated as
#logically one log, is delimited with flags marked in the segment
#summary.  The recovery code of nilfs2 looks this boundary information
#to ensure atomicity of updates.
セグメント境界をまたぐために、このファイルのシーケンスは複数のログに分
割可能です。ログのシーケンスは論理的には一つのログとして扱われ、セグメ
ントサマリ内でマークされたフラグで分割されます。nilfs2 のリカバリコード
はこの境界情報を見て更新のアトミック性を保証します。

#The super root block is inserted for every checkpoints.  It includes
#three special inodes, inodes for the DAT, cpfile, and sufile.  Inodes
#of regular files, directories, symlinks and other special files, are
#included in the ifile.  The inode of ifile itself is included in the
#corresponding checkpoint entry in the cpfile.  Thus, the hierarchy
#among NILFS2 files can be depicted as follows:
スーパールートブロックはチェックポイント毎に挿入されます。これは３つの
特殊な inode、即ち DAT 向け inode、cpfile と sufile を含みます。通常フ
ァイル向け、ディレクトリ、シンボリックリンクと他のスペシャルファイル向
けの inode は ifile に格納されます。ifile 自体の inode は cpfile の対応
するチェックポイントエントリに格納されています。まとめると、NILFS2 ファ
イル間の階層関係は以下のように描かれます。

#  Super block (SB)
#       |
#       v
#  Super root block (the latest cno=xx)
#       |-- DAT
#       |-- sufile
#       `-- cpfile
#              |-- ifile (cno=c1)
#              |-- ifile (cno=c2) ---- file (ino=i1)
#              :        :          |-- file (ino=i2)
#              `-- ifile (cno=xx)  |-- file (ino=i3)
#                                  :        :
#                                  `-- file (ino=yy)
#                                    ( regular file, directory, or symlink )
  スーパーブロック (SB)
       |
       v
  スーパールートブロック (最新の cno=xx)
       |-- DAT
       |-- sufile
       `-- cpfile
              |-- ifile (cno=c1)
              |-- ifile (cno=c2) ---- file (ino=i1)
              :        :          |-- file (ino=i2)
              `-- ifile (cno=xx)  |-- file (ino=i3)
                                  :        :
                                  `-- file (ino=yy)
                                    ( 通常のファイル、ディレクトリ、シ
				    ンボリックリンク )

#For detail on the format of each file, please see include/linux/nilfs2_fs.h.
各ファイルのフォーマットの詳細については、include/linux/nilfs2_fs.h を
参照ください。
</pre></div><p>
</p><p>コメントが長くなった場合は、JF@linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/dentry-locking.txt">
    <title>dentry-locking.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/dentry-locking.txt</link>
    <dc:identifier>dentry-locking.txt</dc:identifier>
    <dc:date>2009-05-22T21:05:46+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(dentry-locking.txt)]]

[[include(Header)]]
[[Embed(dentry-locking.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/dentry-locking.txt/attach/dentry-locking.txt" title="dentry-locking.txt" alt="dentry-locking.txt" id="la-dentry-locking.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">dentry-locking.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-dentry-locking.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/dentry-locking.txt/attach/dentry-locking.txt">dentry-locking.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.29/Documentation/filesystems/dentry-locking.txt の和訳
です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2009/07/09
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
#RCU-based dcache locking model
RCU ベースの dcache ロックモデル
==============================

#On many workloads, the most common operation on dcache is to look up a
#dentry, given a parent dentry and the name of the child. Typically,
#for every open(), stat() etc., the dentry corresponding to the
#pathname will be looked up by walking the tree starting with the first
#component of the pathname and using that dentry along with the next
#component to look up the next level and so on. Since it is a frequent
#operation for workloads like multiuser environments and web servers,
#it is important to optimize this path.
多くの負荷では、dcache に対する最もよく使われる操作とは、親 dentry と子の名
前を与えて dentry を探索する処理です。典型的には全ての open()、stat() など
で、パス名に一致する dentry をツリーを辿って探す、つまりパス名の最初の要素
を使ってツリー探索を開始し、得られた dentry を使ってパス名の二番目の要素で
次のレベルを探索し、などの繰り返しが続きます。これはマルチユーザ環境や、ウ
ェブサーバなどの負荷で頻繁に発生する操作ですから、このパスを最適化すること
が重要になります。

#Prior to 2.5.10, dcache_lock was acquired in d_lookup and thus in
#every component during path look-up. Since 2.5.10 onwards, fast-walk
#algorithm changed this by holding the dcache_lock at the beginning and
#walking as many cached path component dentries as possible. This
#significantly decreases the number of acquisition of
#dcache_lock. However it also increases the lock hold time
#significantly and affects performance in large SMP machines. Since
#2.5.62 kernel, dcache has been using a new locking model that uses RCU
#to make dcache look-up lock-free.
2.5.10 以前では、dcache_lock が d_lookup で取得されており、その結果パス探
索の間は全てのコンポーネントで取得されていました。2.5.10 以降では、高速探
索アルゴリズムによりこの状況が変わって、探索の最初に dcache_lock を取得し、
キャッシュされたパスコンポーネント dentry を可能な限り辿ろうとするよう変わ
りました。これにより、dcache_lock の取得回数は大きく下がりましたが、ロック
保持時間が大幅に伸び、大規模 SMP マシンの性能に影響がでました。2.5.62 カー
ネルからは、dcache 探索をロックなしで行なうため、dcache には RCU を用いた
新ロックモデルが使われています。

#The current dcache locking model is not very different from the
#existing dcache locking model. Prior to 2.5.62 kernel, dcache_lock
#protected the hash chain, d_child, d_alias, d_lru lists as well as
#d_inode and several other things like mount look-up. RCU-based changes
#affect only the way the hash chain is protected. For everything else
#the dcache_lock must be taken for both traversing as well as
#updating. The hash chain updates too take the dcache_lock.  The
#significant change is the way d_lookup traverses the hash chain, it
#doesn't acquire the dcache_lock for this and rely on RCU to ensure
#that the dentry has not been *freed*.
現在の dcache ロックモデルは、従来の dcache ロックモデルと大きく異なるもので
はありません。2.5.62 以前のカーネルでは、dcache_lock が hash_chain, d_child,
d_alias, d_lru リストと d_inode およびマウント時の探索などを守っていました。
RCU ベースでの変更は、hash_chain が保護されているやり方のみに影響します。それ
以外のすべてで、dcache_lock を探索時と更新時の両方で取得する必要があります。
hash chain の更新にも dcache_lock の取得が必要です。大きな変更は、d_lookup
が hash chain を探索する方法に加えられています。変更後では、探索操作に
dcache_lock が取得されず、dentry が＊解放＊されていないことは RCU 側の保証
に委ねられます。


#Dcache locking details
Dcache ロック処理の詳細
======================

#For many multi-user workloads, open() and stat() on files are very
#frequently occurring operations. Both involve walking of path names to
#find the dentry corresponding to the concerned file. In 2.4 kernel,
#dcache_lock was held during look-up of each path component. Contention
#and cache-line bouncing of this global lock caused significant
#scalability problems. With the introduction of RCU in Linux kernel,
#this was worked around by making the look-up of path components during
#path walking lock-free.
多くのマルチユーザ負荷環境では、ファイルに対する open() と stat() は非常によ
く発生する操作です。いずれの処理も、パス名をたどって対象とするファイルに対応し
た dentry を探す処理を含みます。2.4 カーネルでは、dcache_lock がパスコンポー
ネントを検索している間、ずっと保持されていました。このグローバルロックでの、キ
ャッシュロック競合とキャッシュラインバウンス (訳注: ロック領域のキャッシュラ
インのプロセッサ間での転送の多発。特にスピン系) は、高多重システムでの性能の
伸びに重大な問題となっていました。Linux カーネルへの RCU 機構の導入により、パ
ス名をたどる際のパスコンポーネントの探索がロック不要となり、この問題は回避でき
るようになりました。

#Safe lock-free look-up of dcache hash table
安全でロック不要の dcache ハッシュテーブル探索
===========================================

#Dcache is a complex data structure with the hash table entries also
#linked together in other lists. In 2.4 kernel, dcache_lock protected
#all the lists. We applied RCU only on hash chain walking. The rest of
#the lists are still protected by dcache_lock.  Some of the important
#changes are :
Dcache は、ハッシュテーブルエントリを持ち、他のリストからも共用リンクされる
複雑なデータ構造体です。2.4 カーネルでは、dcache_lock がリスト群全体を保護
していました。(現在のカーネルでは) 私たちはハッシュチェインを辿る操作にのみ
RCU を使うようにしました。リストの他の部分は依然として dcache_lock で保護
されています。ここで重要となる変更を幾つか以下で説明します。

#1. The deletion from hash chain is done using hlist_del_rcu() macro
#   which doesn't initialize next pointer of the deleted dentry and
#   this allows us to walk safely lock-free while a deletion is
#   happening.
1. ハッシュチェインからの削除は hlist_del_rcu() マクロを使って行われ、このマ
   クロは削除された dentry の次のエントリを指すポインタを初期化しません。この
   ことにより、削除が行われた場合でもロックなしで安全にチェインを辿ることがで
   きます。

#2. Insertion of a dentry into the hash table is done using
#   hlist_add_head_rcu() which take care of ordering the writes - the
#   writes to the dentry must be visible before the dentry is
#   inserted. This works in conjunction with hlist_for_each_rcu() while
#   walking the hash chain. The only requirement is that all
#   initialization to the dentry must be done before
#   hlist_add_head_rcu() since we don't have dcache_lock protection
#   while traversing the hash chain. This isn't different from the
#   existing code.
2. dentry をハッシュテーブルに挿入するには、hlist_add_head_rcu() を使ってく
   ださい。これを使えば書き込み順序などの面倒をすべてみてもらえます。dentry
   への書き込みは、dentry 挿入前に可視になっていなければいけません。これを守
   れば、hlist_add_head_rcu() と組み合わせることで、ハッシュチェインを辿る
   処理中も処理可能となります。要求事項は、hlist_add_head_rcu() の実行前に
   dentry の全ての初期化を済ませておかなければならないことだけです。これは
   ハッシュチェインを辿る処理の際に dcache_lock を持っていないためです。こ
   の点は既存のコードの処理と異なっているわけではありません。

#3. The dentry looked up without holding dcache_lock by cannot be
#   returned for walking if it is unhashed. It then may have a NULL
#   d_inode or other bogosity since RCU doesn't protect the other
#   fields in the dentry. We therefore use a flag DCACHE_UNHASHED to
#   indicate unhashed dentries and use this in conjunction with a
#   per-dentry lock (d_lock). Once looked up without the dcache_lock,
#   we acquire the per-dentry lock (d_lock) and check if the dentry is
#   unhashed. If so, the look-up is failed. If not, the reference count
#   of the dentry is increased and the dentry is returned.
3. dcache_lock なしに探索した dentry は、ハッシュされていない場合には、辿る
   ための dentry として戻り値に返すことは不可能です。戻した場合、NULL d_inode
   や、そのほかの無効な状態に遭遇するかもしれません。これは RCU では dentry
   の他のフィールドは保護していないためです。このため、DCACHE_UNHASHED フラグ
   を使ってハッシュされていない dentry を示し、これを dentry 毎のロック
   (d_lock) と組み合わせて使用します。まず dcache_lock なしに探索をおこなっ
   た場合、dentry 毎にあるロック (d_lock) を取得して、dentry がハッシュされ
   ているかどうかを確認します。ハッシュされていない場合、探索は失敗です。ハッ
   シュされていた場合には、dentry の参照カウントに 1 を加え、dentry を戻り値
   とします。

#4. Once a dentry is looked up, it must be ensured during the path walk
#   for that component it doesn't go away. In pre-2.5.10 code, this was
#   done holding a reference to the dentry. dcache_rcu does the same.
#   In some sense, dcache_rcu path walking looks like the pre-2.5.10
#   version.
4. 一旦 dentry の探索を行ったあとは、その各要素のパスを辿る間、内容が変化しな
   いことを保証しなければいけません。2.5.10 以前のコードでは、これは dentry
   への参照を維持することで保証されていました。dcache_rcu はそれと同じ処理を
   行います。ある意味、dcache_rcu を用いたパスを辿る処理は、2.5.10 以前のも
   のと同じように見えます。

#5. All dentry hash chain updates must take the dcache_lock as well as
#   the per-dentry lock in that order. dput() does this to ensure that
#   a dentry that has just been looked up in another CPU doesn't get
#   deleted before dget() can be done on it.
5. dentry ハッシュチェインの更新処理では、dcache_lock と、dentry 毎のロック
   をこの順で取得しなければいけません。dput() はこれを行い、他の CPU による探
   索で発見された dentry が、dget() で処理ができるまで削除されないように保証
   します。

#6. There are several ways to do reference counting of RCU protected
#   objects. One such example is in ipv4 route cache where deferred
#   freeing (using call_rcu()) is done as soon as the reference count
#   goes to zero. This cannot be done in the case of dentries because
#   tearing down of dentries require blocking (dentry_iput()) which
#   isn't supported from RCU callbacks. Instead, tearing down of
#   dentries happen synchronously in dput(), but actual freeing happens
#   later when RCU grace period is over. This allows safe lock-free
#   walking of the hash chains, but a matched dentry may have been
#   partially torn down. The checking of DCACHE_UNHASHED flag with
#   d_lock held detects such dentries and prevents them from being
#   returned from look-up.
6. RCU で保護されたオブジェクトに対する参照カウントには、幾つかの実現手段があ
   ります。その一つの例として、ipv4 ラウトキャッシュでは、参照カウントが 0
   になるとすぐに遅延解放 (call_rcu() を使って) が実行されます。dentry の場
   合、このような処理ができません。これは、dentry を外すには、RCU コールバッ
   クではサポートされていないブロッキング処理 (dentry_iput()) が必要となる
   ためです。それに代わって dentry では、dentry を外す処理は dput() で同期
   的に実施し、実際の領域の解放は RCU の猶予期間が終わってから行うようになっ
   ています。これにより、ハッシュチェインを安全にロックなしで辿ることが可能に
   なっていますが、探索で見つけた dentry は部分的に外された状態になっている
   かもしれません。d_lock を持った状態で DCACHE_UNHASHED フラグの検査を行う
   ことでそのような dentry を検知でき、検索結果として返してしまうのを防ぐこ
   とができます。


#Maintaining POSIX rename semantics
POSIX リネームセマンティックの維持
================================

#Since look-up of dentries is lock-free, it can race against a
#concurrent rename operation. For example, during rename of file A to
#B, look-up of either A or B must succeed.  So, if look-up of B happens
#after A has been removed from the hash chain but not added to the new
#hash chain, it may fail.  Also, a comparison while the name is being
#written concurrently by a rename may result in false positive matches
#violating rename semantics.  Issues related to race with rename are
#handled as described below :
dentry の探索はロックを持たないで行うため、並行して実行されるリネーム処理と
競合を起こす可能性があります。例えば、ファイル A を B への名称変更中は、A
という名称の探索と B という名称の探索のどちらかは成功する必要があります。従
って、A がハッシュチェインから削除されてはいるが、新ハッシュチェインに追加
されてはいないタイミングで B への探索が起こった場合、うまくいかないるかもしれ
ません。また、リネームによる名称変更の処理の実行中に並行して比較が行われた
場合、名称変更のセマンティックに反した誤った探索成功が発生するかもしれませ
ん。競合に関する問題は、以下のようにして処理されます。

#1. Look-up can be done in two ways - d_lookup() which is safe from
#   simultaneous renames and __d_lookup() which is not.  If
#   __d_lookup() fails, it must be followed up by a d_lookup() to
#   correctly determine whether a dentry is in the hash table or
#   not. d_lookup() protects look-ups using a sequence lock
#   (rename_lock).
1. 探索は二通りの方法で行うことができます - d_lookup() は同時のリネーム処理に
   対して安全で、__d_lookup() は安全ではありません。__d_lookup() が失敗した
   場合、引き続いて d_lookup() を実行してハッシュテーブル内に求める dentry が
   存在するかどうかを正しく判定しなければいけません。d_lookup() はシーケンス
   ロック (rename_lock) を使って探索を保護します。

#2. The name associated with a dentry (d_name) may be changed if a
#   rename is allowed to happen simultaneously. To avoid memcmp() in
#   __d_lookup() go out of bounds due to a rename and false positive
#   comparison, the name comparison is done while holding the
#   per-dentry lock. This prevents concurrent renames during this
#   operation.
2. dentry に関連付けられた名前 (d_name) は、リネーム処理が並行して動作するこ
   とを許されていた場合、変更されるかもしれません。__d_lookup() での memcmp()
   処理が名称変更に伴って配列範囲外になるのを避けるため、そして誤った比較結果
   とならないようにするために、名前の比較は dentry 毎のロックを持った状態で行
   われます。これにより、比較処理中のリネーム処理の並行動作を防ぎます。

#3. Hash table walking during look-up may move to a different bucket as
#   the current dentry is moved to a different bucket due to rename.
#   But we use hlists in dcache hash table and they are
#   null-terminated.  So, even if a dentry moves to a different bucket,
#   hash chain walk will terminate. [with a list_head list, it may not
#   since termination is when the list_head in the original bucket is
#   reached].  Since we redo the d_parent check and compare name while
#   holding d_lock, lock-free look-up will not race against d_move().
3. 検索時のハッシュテーブルを辿る処理は、リネーム処理により現在の dentry が
   異なったバケットに移動するのに伴い、異なったバケットに移動する可能性があ
   ります。ただし、この場合は dcache ハッシュテーブルの hlist を用いており、
   それは NULL 終端されています。従って、dentry が異なったバケットに移動し
   た場合でも、ハッシュチェインを辿る処理が止まらなくなることはありません
   (一方 list_head 型のリストでは、元のバケットのリストヘッドに到達した場
   合に完了となるため、移動の結果完了しなくなるかもしれません)。ここでは
   d_lock を持って d_parent チェックと名前比較を再実行しているため、ロック
   を持たない検索処理と d_move() との競合は起こらないはずです。

#4. There can be a theoretical race when a dentry keeps coming back to
#   original bucket due to double moves. Due to this look-up may
#   consider that it has never moved and can end up in a infinite loop.
#   But this is not any worse that theoretical livelocks we already
#   have in the kernel.
4. 二回の移動に伴い、dentry が元のバケットに戻された場合、理論上は競合が発生
   する可能性があります。このため、探索処理で全く移動していないと判断される可
   能性や、無限ループになる可能性の考慮などが必要になってきます。ただし、この
   状態は現状のカーネルに存在する、やはり理論上のライブロックの可能性より悪い
   ものとは言えません。


#Important guidelines for filesystem developers related to dcache_rcu
dcache_rcu に関するファイルシステム開発者向けの重要なガイドライン
=============================================================

#1. Existing dcache interfaces (pre-2.5.62) exported to filesystem
#   don't change. Only dcache internal implementation changes. However
#   filesystems *must not* delete from the dentry hash chains directly
#   using the list macros like allowed earlier. They must use dcache
#   APIs like d_drop() or __d_drop() depending on the situation.
1. ファイルシステムに公開された、既存の dcache インターフェース (2.5.62 以
   前) は変更されていません。dcache の内部実装のみが変更されています。ただし、
   ファイルシステムは以前許されていたような、リストマクロを使った dentry ハ
   ッシュチェインからのエントリの削除を絶対に行ってはいけません。この場合は
   状況に応じて d_drop() や __d_drop() などの dcache API を使わなければい
   けません。

#2. d_flags is now protected by a per-dentry lock (d_lock). All access
#   to d_flags must be protected by it.
2. d_flags は dentry 毎にあるロック (d_lock) で保護されるようになりました。
   d_flags へのアクセスはこのロックを取得し、保護した状態で行わなければいけ
   ません。

#3. For a hashed dentry, checking of d_count needs to be protected by
#   d_lock.
3. ハッシュされた dentry では、d_count のチェックは、d_lock を取得し、保護
   した状態で行わなければいけません。


#Papers and other documentation on dcache locking
dcache ロック方法に関する論文と関連文書
=====================================

1. Scaling dcache with RCU (http://linuxjournal.com/article.php?sid=7124).

2. http://lse.sourceforge.net/locking/dcache/dcache.html



</pre></div><p>
</p><p>コメントが長くなった場合は、JF@linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/dell_rbu.txt">
    <title>dell_rbu.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/dell_rbu.txt</link>
    <dc:identifier>dell_rbu.txt</dc:identifier>
    <dc:date>2009-05-10T22:23:08+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(dell_rbu.txt)]]

[[include(Header)]]
[[Embed(dell_rbu.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメント]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/dell_rbu.txt/attach/dell_rbu.txt" title="dell_rbu.txt" alt="dell_rbu.txt" id="la-dell_rbu.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">dell_rbu.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-dell_rbu.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/dell_rbu.txt/attach/dell_rbu.txt">dell_rbu.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.29/Documentation/dell_rbu.txt の和訳
です。
翻訳団体： JF プロジェクト &lt;http://www.linux.or.jp/JF/&gt;
更新日： 2009/05/30
翻訳者： 小林雅典 &lt;zap03216@nifty.ne.jp&gt;
校正者： Sho Shimauchi &lt;sho.shimauchi at gmail dot com&gt;
         Seiji Kaneko &lt;skaneko at a2 dot mbn dot or dot jp&gt;
         Takeshi Hamasaki &lt;hmatrjp at users dot sourceforge dot jp&gt;
=========================================================

# Purpose:
# Demonstrate the usage of the new open sourced rbu (Remote BIOS Update) driver
# for updating BIOS images on Dell servers and desktops.

この文書の目的:
Dell 製のサーバやデスクトップ用途のマシンで BIOS をアップデートするための、
新たなオープンソース rbu (Remote BIOS Update) ドライバの使い方を
説明します。

# Scope:
# This document discusses the functionality of the rbu driver only.
# It does not cover the support needed from applications to enable the BIOS to
# update itself with the image downloaded in to the memory.

扱う内容の範囲:
この文書は rbu ドライバの機能だけを解説します。
メモリにロードされたイメージで BIOS が自分自身をアップデートできるように
するための、アプリケーションの提供するサポートについては扱いません。

# Overview:
# This driver works with Dell OpenManage or Dell Update Packages for updating
# the BIOS on Dell servers (starting from servers sold since 1999), desktops
# and notebooks (starting from those sold in 2005).
# Please go to  http://support.dell.com register and you can find info on
# OpenManage and Dell Update packages (DUP).
# Libsmbios can also be used to update BIOS on Dell systems go to
# http://linux.dell.com/libsmbios/ for details.

概要:
このドライバを Dell OpenManage もしくは Dell Update Packages との
組み合わせで動作させると、Dell のサーバ (1999年に発売されたもの以降)、
デスクトップマシンやノートパソコン (2005年に発売されたもの以降) の
BIOS がアップデートできます。
http://support.dell.com でユーザー登録すると、OpenManage と 
Dell Update packages (DUP) の情報が見つかります。
libsmbios も Dell のシステムで BIOS をアップデートするのに使えます。
詳細は http://linux.dell.com/libsmbios/ を見てください。

# Dell_RBU driver supports BIOS update using the monolithic image and packetized
# image methods. In case of monolithic the driver allocates a contiguous chunk
# of physical pages having the BIOS image. In case of packetized the app
# using the driver breaks the image in to packets of fixed sizes and the driver
# would place each packet in contiguous physical memory. The driver also
# maintains a link list of packets for reading them back.
# If the dell_rbu driver is unloaded all the allocated memory is freed.

Dell_RBU ドライバは、モノリシックなイメージを使う BIOS アップデートと、
パケット化された一連のイメージ群を使う BIOS アップデートをサポート
しています。モノリシックなイメージの場合、ドライバは連続した物理ページの
チャンク(塊)を、BIOS イメージに割り当てます。パケット化された
イメージ群の場合、ドライバを使うアプリケーションはイメージを
固定サイズのパケットに分割し、それからドライバは各パケットを連続した
物理メモリに置きます。ドライバはパケットを読み戻すためにそれらの
リンクリストの保持もしています。
dell_rbu ドライバがアンロードされた場合、割り当てられたメモリはすべて
解放されます。

# The rbu driver needs to have an application (as mentioned above)which will
# inform the BIOS to enable the update in the next system reboot.

rbu ドライバには、(上で触れた) アプリケーションが必要です。
アプリケーションは、次にシステムをリブートする際にアップデートが可能なことを
BIOS に知らせます。

# The user should not unload the rbu driver after downloading the BIOS image
# or updating.

利用者は、BIOS イメージをメモリにロードしたりアップデートしたりした後に
rbu ドライバをアンロードしてはいけません。

# The driver load creates the following directories under the /sys file system.

ドライバをロードすると、/sys ファイルシステム下に次のディレクトリ群が
作られます。

/sys/class/firmware/dell_rbu/loading
/sys/class/firmware/dell_rbu/data
/sys/devices/platform/dell_rbu/image_type
/sys/devices/platform/dell_rbu/data
/sys/devices/platform/dell_rbu/packet_size

# The driver supports two types of update mechanism; monolithic and packetized.
# These update mechanism depends upon the BIOS currently running on the system.
# Most of the Dell systems support a monolithic update where the BIOS image is
# copied to a single contiguous block of physical memory.
# In case of packet mechanism the single memory can be broken in smaller chunks
# of contiguous memory and the BIOS image is scattered in these packets.

ドライバは2形式のアップデートメカニズムをサポートしています。
モノリシックとパケット化です。これらのアップデートメカニズムは、
システムで現在実行中の BIOS に依存します。ほとんどの
Dell システムはモノリシックのアップデートをサポートしています。
この場合、BIOS イメージは物理メモリ内のひとつの連続したブロックに
コピーされます。
パケットメカニズムの場合は、単一のメモリが、より小さな連続したメモリの
チャンク(塊)に分割されるので、BIOS イメージはこれらのパケットに
散在します。

# By default the driver uses monolithic memory for the update type. This can be
# changed to packets during the driver load time by specifying the load
# parameter image_type=packet.  This can also be changed later as below
# echo packet &gt; /sys/devices/platform/dell_rbu/image_type

デフォルトでは、ドライバはアップデートの形式としてモノリシックメモリを
使います。ドライバのロード時にパラメータとして image_type=packet を
指定すると、この形式を変更できます。次のようにすると、
ロード後でも変更可能です。
echo packet &gt; /sys/devices/platform/dell_rbu/image_type

# In packet update mode the packet size has to be given before any packets can
# be downloaded. It is done as below
# echo XXXX &gt; /sys/devices/platform/dell_rbu/packet_size

パケット化するアップデート形式の場合、パケットがメモリにロードされる前に
パケットのサイズを指定しなくてはなりません。次のように指定します。
echo XXXX &gt; /sys/devices/platform/dell_rbu/packet_size

# In the packet update mechanism, the user needs to create a new file having
# packets of data arranged back to back. It can be done as follows
# The user creates packets header, gets the chunk of the BIOS image and
# places it next to the packetheader; now, the packetheader + BIOS image chunk
# added together should match the specified packet_size. This makes one
# packet, the user needs to create more such packets out of the entire BIOS
# image file and then arrange all these packets back to back in to one single
# file.

このパケットによるアップデートのメカニズムでは、利用者は、ひと続きになるように
配列されたデータのパケットからなる新たなファイルを作る必要があります。
作り方は次の通りです。
利用者はまずパケットのヘッダを作り、BIOS イメージを部分的に取ってきて
それをパケットヘッダの直後に配置します。ここで、結合されたパケットヘッダと
BIOS イメージの塊を、指定された packet_size に合わせる必要があります。
こうやってひとつのパケットを作ります。
利用者は、BIOS イメージファイル全体に渡るそのようなパケット群を作る
必要があります。それからこれらのパケット群すべてをひと続きになるように
配列して単一のファイルにまとめます。

# This file is then copied to /sys/class/firmware/dell_rbu/data.
# Once this file gets to the driver, the driver extracts packet_size data from
# the file and spreads it accross the physical memory in contiguous packet_sized
# space.
# This method makes sure that all the packets get to the driver in a single operation.

それから、このファイルを /sys/class/firmware/dell_rbu/data にコピーします。
このファイルがドライバに読み込まれると、ドライバはファイルから packet_size の
データを抽出し、それを物理メモリ上の連続した packet_size の空間に置いて
いきます。
この方法だと、確実にすべてのパケットは単一の操作でドライバに読み込まれます。

# In monolithic update the user simply get the BIOS image (.hdr file) and copies
# to the data file as is without any change to the BIOS image itself.

モノリシックなアップデートだと、利用者は単に BIOS イメージ (.hdr ファイル)
を取得してデータファイルにコピーするだけなので、BIOS イメージ自体には
何の変化も加わりません。

# Do the steps below to download the BIOS image.

BIOS イメージをメモリにロードするには、次の順番で実行します。

1) echo 1 &gt; /sys/class/firmware/dell_rbu/loading
2) cp bios_image.hdr /sys/class/firmware/dell_rbu/data
3) echo 0 &gt; /sys/class/firmware/dell_rbu/loading

# The /sys/class/firmware/dell_rbu/ entries will remain till the following is
# done.
# echo -1 &gt; /sys/class/firmware/dell_rbu/loading.
# Until this step is completed the driver cannot be unloaded.
# Also echoing either mono ,packet or init in to image_type will free up the
# memory allocated by the driver.

/sys/class/firmware/dell_rbu/ 下のエントリは、以下を実行するまで残ります。
echo -1 &gt; /sys/class/firmware/dell_rbu/loading
このステップが完了するまで、ドライバはアンロードできません。
また、image_type に mono か packet か init のいずれかを echo すると、
ドライバによって割り当てられたメモリは解放されます。

# If a user by accident executes steps 1 and 3 above without executing step 2;
# it will make the /sys/class/firmware/dell_rbu/ entries disappear.
# The entries can be recreated by doing the following
# echo init &gt; /sys/devices/platform/dell_rbu/image_type
# NOTE: echoing init in image_type does not change it original value.

もし利用者が間違って上記のステップ2を実行せずにステップ1と3を実行すると、
/sys/class/firmware/dell_rbu/ 以下のエントリ群が消失します。
これらのエントリは、次のようにするとまた作れます。
echo init &gt; /sys/devices/platform/dell_rbu/image_type
注意: image_type に init を echo しても、これらエントリは最初の値に戻りません。

# Also the driver provides /sys/devices/platform/dell_rbu/data readonly file to
# read back the image downloaded.

また、メモリにロードされたイメージを読み戻すために、ドライバはリードオンリーの
/sys/devices/platform/dell_rbu/data ファイルを提供しています。

# NOTE:
# This driver requires a patch for firmware_class.c which has the modified
# request_firmware_nowait function.
# Also after updating the BIOS image a user mode application needs to execute
# code which sends the BIOS update request to the BIOS. So on the next reboot
# the BIOS knows about the new image downloaded and it updates itself.
# Also don't unload the rbu driver if the image has to be updated.

注意:
このドライバには、firmware_class.c への、request_firmware_nowait 関数を
変更するパッチが必要です。
また、BIOS イメージをアップデートした後、ユーザーモードのアプリケーションは、
BIOS に BIOS アップデートリクエストを送るコードを実行する必要があります。
それによって、次回リブートの際に BIOS はメモリにロードされた新しいイメージを
認識して自身をアップデートします。
また、BIOS イメージをアップデートする必要があるなら、rbu ドライバをアンロード
してはいけません。
</pre></div><p>
</p><p>コメントが長くなった場合は、JF@linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/files.txt">
    <title>files.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/files.txt</link>
    <dc:identifier>files.txt</dc:identifier>
    <dc:date>2009-04-19T23:09:01+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(files.txt)]]

[[include(Header)]]
[[Embed(files.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くなった]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/files.txt/attach/files.txt" title="files.txt" alt="files.txt" id="la-files.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">files.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-files.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/files.txt/attach/files.txt">files.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.29/Documentation/filesystems/files.txt の和訳
です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2009/04/11
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
=========================================================
#File management in the Linux kernel
#-----------------------------------
Linux カーネルでのファイル管理
------------------------------

#This document describes how locking for files (struct file)
#and file descriptor table (struct files) works.
この文書は、ファイル (file 構造体) のロックとファイルディスクリプタテーブ
ル (ファイル構造体) がどのように動作するかを記載したものです。

#Up until 2.6.12, the file descriptor table has been protected
#with a lock (files-&gt;file_lock) and reference count (files-&gt;count).
#-&gt;file_lock protected accesses to all the file related fields
#of the table. -&gt;count was used for sharing the file descriptor
#table between tasks cloned with CLONE_FILES flag. Typically
#this would be the case for posix threads. As with the common
#refcounting model in the kernel, the last task doing
#a put_files_struct() frees the file descriptor (fd) table.
#The files (struct file) themselves are protected using
#reference count (-&gt;f_count).
2.6.12 まではファイルディスクリプタテーブルはロック (files-&gt;file_lock) と
リファレンスカウント (files-&gt;count) で保護されていました。テーブルのファイ
ルに関するすべてのフィールドへのアクセスは -&gt;file_lock で保護されていまし
た。また、-&gt;count は CLONE_FILES フラグつきで複製されたタスク間での、ファ
イルディスクリプタテーブルの共有に用いられていました。通常、posix スレッド
はこの場合に当たります。カーネル内のリファレンスカウント共通モデルに沿って、
put_files_struct() を最後に行ったタスクがファイルディスクリプタ (fd) テー
ブルを解放します。ファイル群 (struct file) 自体はリファレンスカウント
(-&gt;f_count) を使って保護されています。

#In the new lock-free model of file descriptor management,
#the reference counting is similar, but the locking is
#based on RCU. The file descriptor table contains multiple
#elements - the fd sets (open_fds and close_on_exec, the
#array of file pointers, the sizes of the sets and the array
#etc.). In order for the updates to appear atomic to
#a lock-free reader, all the elements of the file descriptor
#table are in a separate structure - struct fdtable.
#files_struct contains a pointer to struct fdtable through
#which the actual fd table is accessed. Initially the
#fdtable is embedded in files_struct itself. On a subsequent
#expansion of fdtable, a new fdtable structure is allocated
#and files-&gt;fdtab points to the new structure. The fdtable
#structure is freed with RCU and lock-free readers either
#see the old fdtable or the new fdtable making the update
#appear atomic. Here are the locking rules for
#the fdtable structure -
新しいファイルディスクリプタのロックフリーモデルでは、リファレンスカウント
動作は従来と同様ですが、ロック処理は RCU に基づくものになります。ファイル
ディスクリプタテーブルには複数の要素 - fd 一式 (open_fd 群や close_on_exec,
file ポインタの配列, 組や配列の数やサイズなど) - が格納されています。ロッ
クを持たない読み出し側から更新がアトミックであるように見せるためには、ファ
イルディスクリプタテーブルの各要素はすべて別々の構造体 - fdtable 構造体 -
でなければいけません。files_struct には fdtable 構造体へのポインタが格納さ
れ、そのポインタ経由で実際の fd テーブルへのアクセスが行われます。もともと
は fdtable は files_struct 自体に埋め込まれていました。それ以降の fdtable
の拡張時に、新しい fdtable 構造体が導入され、files-&gt;fdtab がこの新しい構造
体を指すようになりました。fdtable 構造体は、ロックを持たない読み出し処理か
ら古い fdtable と新しい fdtable の両方がアトミックに更新されているように見
せることができるよう、RCU により解放されます。以下が fdtable 構造体へのロッ
ク取得規則です。

#1. All references to the fdtable must be done through
#   the files_fdtable() macro :
1. fdtable への参照は、必ず files_fdtable() マクロ経由で行なわなければいけ
  ません。

	struct fdtable *fdt;

	rcu_read_lock();

	fdt = files_fdtable(files);
	....
	if (n &lt;= fdt-&gt;max_fds)
		....
	...
	rcu_read_unlock();

#   files_fdtable() uses rcu_dereference() macro which takes care of
#   the memory barrier requirements for lock-free dereference.
#   The fdtable pointer must be read within the read-side
#   critical section.
   files_fdtable() は rcu_dereference() マクロを使います。rcu_dereference()
   マクロが、ロックなしの参照を行なうのに必要なメモリバリア要求の面倒を見ま
   す。fdtable ポインタは読み出し側のクリティカルセクション中で読み出さなけ
   ればいけません。

#2. Reading of the fdtable as described above must be protected
#   by rcu_read_lock()/rcu_read_unlock().
2. 上記の fdtable の読み出しは、rcu_read_lock()/rcu_read_unlock() で保護し
  なければいけません。

#3. For any update to the fd table, files-&gt;file_lock must
#   be held.
3. fd テーブルを更新する場合には、どのような更新でも files-&gt;file_lock を持
  っていなければいけません。

#4. To look up the file structure given an fd, a reader
#   must use either fcheck() or fcheck_files() APIs. These
#   take care of barrier requirements due to lock-free lookup.
#   An example :
4. ある fd に対してファイル構造体を参照するには、読み側では fcheck() または
  fcheck_files() API を使わなければいけません。これらの API はロック不要の参
  照に伴うバリアの要求の面倒を見てくれます。
  以下に例を示します。

	struct file *file;

	rcu_read_lock();
	file = fcheck(fd);
	if (file) {
		...
	}
	....
	rcu_read_unlock();

#5. Handling of the file structures is special. Since the look-up
#   of the fd (fget()/fget_light()) are lock-free, it is possible
#   that look-up may race with the last put() operation on the
#   file structure. This is avoided using atomic_long_inc_not_zero()
#   on -&gt;f_count :
5. ファイル構造体の操作には特別の注意が必要です。fd の検索
  (fget()/fget_light()) はロックをとりませんから、検索時にファイル構造体の
  最後の put() 操作と競合を起こす可能性があります。これは -&gt;f_count に対し
  て atomic_inc_not_zero() を用いることによって回避します。

	rcu_read_lock();
	file = fcheck_files(files, fd);
	if (file) {
		if (atomic_long_inc_not_zero(&amp;file-&gt;f_count))
			*fput_needed = 1;
		else
		/* Didn't get the reference, someone's freed */
			file = NULL;
	}
	rcu_read_unlock();
	....
	return file;

#   atomic_long_inc_not_zero() detects if refcounts is already zero or
#   goes to zero during increment. If it does, we fail
#   fget()/fget_light().
   atomic_inc_not_zero() は refcount が既に 0 となっていること、または増加
   時に 0 となることを検出します。このような場合、fget()/fget_light() は失
   敗します。

#6. Since both fdtable and file structures can be looked up
#   lock-free, they must be installed using rcu_assign_pointer()
#   API. If they are looked up lock-free, rcu_dereference()
#   must be used. However it is advisable to use files_fdtable()
#   and fcheck()/fcheck_files() which take care of these issues.
6. fdtable と file 構造体のいずれもがロックをとらないで参照可能ですから、こ
  れらについては rcu_assign_pointer() API を用いてインストールする必要があ
  ります。ロックをとらないで参照する場合、rcu_dereference() を使う必要があ
  ります。ただし、files_fdtable() と fcheck()/fcheck_files() はこれらの面倒
  を見てくれますので、これを使うのがおすすめです。

#7. While updating, the fdtable pointer must be looked up while
#   holding files-&gt;file_lock. If -&gt;file_lock is dropped, then
#   another thread expand the files thereby creating a new
#   fdtable and making the earlier fdtable pointer stale.
#   For example :
7. 更新時には、fdtable ポインタは files-&gt;file_lock を持った状態で参照する必
  要があります。-&gt;file_lock を持っていない場合、他のスレッドがファイルを展
  開して新しい fdtable を作成し、以前の fdtable を無効状態にしてしまう可能
  性があります。
  例を以下に示します。

	spin_lock(&amp;files-&gt;file_lock);
	fd = locate_fd(files, file, start);
	if (fd &gt;= 0) {
		/* locate_fd() may have expanded fdtable, load the ptr */
		fdt = files_fdtable(files);
		FD_SET(fd, fdt-&gt;open_fds);
		FD_CLR(fd, fdt-&gt;close_on_exec);
		spin_unlock(&amp;files-&gt;file_lock);
	.....

#   Since locate_fd() can drop -&gt;file_lock (and reacquire -&gt;file_lock),
#   the fdtable pointer (fdt) must be loaded after locate_fd().
   locate_fd() が -&gt;file_lock を解放して (その後 -&gt;file_lock を再取得する)
   可能性があるため、fdtable ポインタ (fdt) は locate_fd() 実行後ロードす
   る必要があります。

</pre></div><p>
</p><p>コメントが長くなった場合は、JF@linux.or.jp にお寄せください。
</p><p><a href="http://sourceforge.jp/projects/linuxjf/wiki/FrontPage">JF Wiki トップページへ戻る</a>
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/linuxjf/wiki/vfat.txt">
    <title>vfat.txt</title>
    <link>http://sourceforge.jp/projects/linuxjf/wiki/vfat.txt</link>
    <dc:identifier>vfat.txt</dc:identifier>
    <dc:date>2009-04-13T00:34:11+09:00</dc:date>
        <description>
      <![CDATA[[[PageNavi(NavigationList)]]

ダウンロード: [[LinkAttach(vfat.txt)]]

[[include(Header)]]
[[Embed(vfat.txt)]]

{{{ template
||お名前|| %u (%d %t %z)||
||コメント|| %80x25m||
|| || ||
}}}

コメントが長くなった場合]]>
    </description>
    <content:encoded>
      <![CDATA[
<p>ダウンロード: <a href="http://sourceforge.jp/projects/linuxjf/wiki/vfat.txt/attach/vfat.txt" title="vfat.txt" alt="vfat.txt" id="la-vfat.txt-1" class="link-attach"><img border="0" alt="" src="http://static.sourceforge.jp/wiki/images/icons/mime/24x24/txt.png">vfat.txt</a>
</p><p>現在作業中の文書です。お気づきの点がありましたら、jf@listserv.linux.or.jp、<a href="http://sourceforge.jp/ticket/newticket.php?group_id=3627&amp;display_mode=simple">チケット</a>、<a href="http://sourceforge.jp/forum/forum.php?forum_id=15237">フォーラム</a>のいずれかにお寄せください。</p>
<div class="embed-code" id="emb-vfat.txt-1" ><div class="filename"><span><a href="http://sourceforge.jp/projects/linuxjf/wiki/vfat.txt/attach/vfat.txt">vfat.txt</a></span></div><pre>=========================================================
これは、
Linux-2.6.29/Documentation/filesystems/vfat.txt の和訳
です。
翻訳団体： JF プロジェクト &lt; http://www.linux.or.jp/JF/ &gt;
更新日 ： 2009/04/08
翻訳者 ： Seiji Kaneko &lt; skaneko at mbn dot or dot jp &gt;
旧翻訳 ： Kouichi Nomoto &lt; hng at ps dot sksy dot ne dot jp &gt;
=========================================================
#USING VFAT
VFAT を使う
----------------------------------------------------------------------
#To use the vfat filesystem, use the filesystem type 'vfat'.  i.e.
vfat ファイルシステムを使うには、ファイルシステムタイプに vfat を指定してく
ださい。つまり、

  mount -t vfat /dev/fd0 /mnt

#No special partition formatter is required.  mkdosfs will work fine
#if you want to format from within Linux.
としてください。特別のパーティションのフォーマッタは必要ありません。Linux
からフォーマットを行いたい場合には、mkdosfs を使用すればよいでしょう。

#VFAT MOUNT OPTIONS
VFAT マウントオプション
----------------------------------------------------------------------
#uid=###       -- Set the owner of all files on this filesystem.
#		 The default is the uid of current process.
uid=###       -- このファイルシステム上の全ファイルのオーナをセットする。既
		定値は現在のプロセスの uid です。

#gid=###       -- Set the group of all files on this filesystem.
#		 The default is the gid of current process.
gid=###       -- このファイルシステム上の全ファイルのグループをセットする。
		既定値は現在のプロセスの gid です。

#umask=###     -- The permission mask (for files and directories, see umask(1)).
#                 The default is the umask of current process.
umask=###     -- パーミッションマスク (ファイル及びディレクトリ。umask(1)
		参照)。既定値は現在のプロセスの umask です。

#dmask=###     -- The permission mask for the directory.
#                 The default is the umask of current process.
dmask=###     -- ディレクトリに対するパーミッションマスク。
                 既定値は現在のプロセスの umask です。

#fmask=###     -- The permission mask for files.
#                 The default is the umask of current process.
fmask=###     -- ファイルに対するパーミッションマスク。
                 既定値は現在のプロセスの umask です。

#allow_utime=### -- This option controls the permission check of mtime/atime.
allow_utime=### -- このオプションは mtime/atime のパーミッションチェックを
		制御する。

#                  20 - If current process is in group of file's group ID,
#                       you can change timestamp.
#                   2 - Other users can change timestamp.
                  20 - 現在のプロセス ID がファイルのグループ ID に属して
		       いる場合、タイムスタンプの変更を許可する。
                   2 - 他のユーザにタイムスタンプの変更を許す。

#                 The default is set from `dmask' option. (If the directory is
#                 writable, utime(2) is also allowed. I.e. ~dmask &amp; 022)
		標準値は dmask オプションで設定された値である。ディレクト
		リが書き込み可能ならば、umask(2) の値も有効になる。つまり、
		~dmask &amp; 022 が使われる。

#                 Normally utime(2) checks current process is owner of
#                 the file, or it has CAP_FOWNER capability.  But FAT
#                 filesystem doesn't have uid/gid on disk, so normal
#                 check is too unflexible. With this option you can
#                 relax it.
		通常 utime(2) は現在のプロセスがファイルのオーナであるかど
		うか、または現在のプロセスが CAP_FOWNER 権限をもつかどうか
		のチェックを行うが、FAT ファイルシステムはディスク上に
		uid/gid を持たないため、通常のチェックはあまりにも柔軟性に
		乏しい。このオプションにより、この問題が緩和される。

#codepage=###  -- Sets the codepage number for converting to shortname
#		 characters on FAT filesystem.
#		 By default, FAT_DEFAULT_CODEPAGE setting is used.
codepage=###  -- FAT ファイルシステム上で「短い名前」に変換する時の文字の
                 コードページを指定する。既定値は、
		FAT_DEFAULT_CODEPAGE 設定値が使われる。

#iocharset=&lt;name&gt; -- Character set to use for converting between the
#		 encoding is used for user visible filename and 16 bit
#		 Unicode characters. Long filenames are stored on disk
#		 in Unicode format, but Unix for the most part doesn't
#		 know how to deal with Unicode.
#		 By default, FAT_DEFAULT_IOCHARSET setting is used.
iocharset=&lt;name&gt; -- ユーザから見えるファイル名に用いるエンコーディングと、
		16 ビット Unicode 文字間の変換に用いる文字集合を指定する。
		Long filename はディスク上に Unicode 文字列として格納され
		ているが、Unix 環境のほとんどの部分は Unicode の処理の方
		法を理解していない。

#		 There is also an option of doing UTF-8 translations
#		 with the utf8 option.
		utf8 オプションにより UTF-8 変換を行うオプションが提供さ
		れている。
#		 NOTE: &quot;iocharset=utf8&quot; is not recommended. If unsure,
#		 you should consider the following option instead.
		注意：iocharset=utf8 という指定は推奨されない。不確かな
		場合には、次のオプションを代わりに使うことを検討されたい。

#utf8=&lt;bool&gt;   -- UTF-8 is the filesystem safe version of Unicode that
#		 is used by the console.  It can be enabled for the
#		 filesystem with this option. If 'uni_xlate' gets set,
#		 UTF-8 gets disabled.
utf8=&lt;bool&gt;   -- UTF-8 はファイルシステムで安全に使用できる Unicode 転送
		形式で、コンソールで使用されている。ファイルシステムに対
		しては、このオプションを指定することにより有効とできる。
		uni_xlate が設定されている場合、UTF-8 は無効となる。

#uni_xlate=&lt;bool&gt; -- Translate unhandled Unicode characters to special
#		 escaped sequences.  This would let you backup and
#		 restore filenames that are created with any Unicode
#		 characters.  Until Linux supports Unicode for real,
#		 this gives you an alternative.  Without this option,
#		 a '?' is used when no translation is possible.  The
#		 escape character is ':' because it is otherwise
#		 illegal on the vfat filesystem.  The escape sequence
#		 that gets used is ':' and the four digits of hexadecimal
#		 unicode.
uni_xlate=&lt;bool&gt; -- 指定文字集合で扱うことのできない Unicode 文字を特殊な
		エスケープシーケンスに変換する。これにより、任意の
		Unicode 文字を含むファイル名を正しくバックアップ・リスト
		ア可能となる。Linux が Unicode を本当にサポートするまでは、
		この機能が代替となる。このオプションを指定しない場合、変
		換できない場合には '?' が使われる。エスケープ文字は、':'
		となるが、これは他の場合ではこの文字は vfat ファイルシス
		テムでは不正な文字となるためである。使われるエスケープシ
		ーケンスは、':' と、その後に 16 進に変換した Unicode コ
		ード 4 文字が続くものである。

#nonumtail=&lt;bool&gt; -- When creating 8.3 aliases, normally the alias will
#                 end in '~1' or tilde followed by some number.  If this
#                 option is set, then if the filename is
#                 &quot;longfilename.txt&quot; and &quot;longfile.txt&quot; does not
#                 currently exist in the directory, 'longfile.txt' will
#                 be the short alias instead of 'longfi~1.txt'.
nonumtail=&lt;bool&gt; -- 8.3 形式の別名を作成する際、別名の最後は通常 ~1 か、
		チルドの後に数字がつくものになる。このオプションがセット
		されている場合、例えばファイル名が &quot;longfilename.txt&quot; で
		あり、同じディレクトリに &quot;longfile.txt&quot; という名前のファ
		イルが存在しないならば、短縮別名は &quot;longfi~1.txt&quot; ではな
		く &quot;longfile.txt&quot; になる。

#usefree       -- Use the &quot;free clusters&quot; value stored on FSINFO. It'll
#                 be used to determine number of free clusters without
#                 scanning disk. But it's not used by default, because
#                 recent Windows don't update it correctly in some
#                 case. If you are sure the &quot;free clusters&quot; on FSINFO is
#                 correct, by this option you can avoid scanning disk.
usefree       -- FSINFO に格納されている「フリークラスタ」の値を用いる。
		これはディスクをスキャンすること泣くフリークラスタの数を
		判断するのに使われる。ただし、これは既定では使用されない、
		というのは最近の Windows はこの値を正しく更新しない場合
		があるためである。FSINFO の「フリークラスタ」の値が正し
		いことに自信があるなら、このオプションによりディスクのス
		キャンを避けることができる。

#quiet         -- Stops printing certain warning messages.
quiet         -- 一部の警告メッセージの出力を抑止する。

#check=s|r|n   -- Case sensitivity checking setting.
#                 s: strict, case sensitive
#                 r: relaxed, case insensitive
#                 n: normal, default setting, currently case insensitive
check=s|r|n   -- 英大文字と小文字の区別に燗する設定
                 s: 厳密。大文字と小文字を区別する。
                 r: 緩和。大文字と小文字を区別しない
                 n: 標準。既定値であり、現在は大文字と小文字を区別しない

#nocase        -- This was deprecated for vfat. Use shortname=win95 instead.
nocase        -- これは vfat では廃止予定。代わりに shortname=win95 を使
		うこと。

#shortname=lower|win95|winnt|mixed
#	      -- Shortname display/create setting.
#		 lower: convert to lowercase for display,
#			emulate the Windows 95 rule for create.
#		 win95: emulate the Windows 95 rule for display/create.
#		 winnt: emulate the Windows NT rule for display/create.
#		 mixed: emulate the Windows NT rule for display,
#			emulate the Windows 95 rule for create.
#		 Default setting is `lower'.
shortname=lower|win95|winnt|mixed
	      -- 短縮名の表示および作成に関する設定
		 lower: 表示時は小文字に変換する。
			作成時は Windows 95 の規則を模した動作を行う。
		 win95: 表示・作成とも Windows 95 の規則を模した動作を行う。
		 winnt: 表示・作成とも Windows NT の規則を模した動作を行う。
		 mixed: 表示時は Windows NT の規則を模した動作を行う。
			作成時は Windows 95 の規則を模した動作を行う。
		 既定値は `lower' である。

#tz=UTC        -- Interpret timestamps as UTC rather than local time.
#                 This option disables the conversion of timestamps
#                 between local time (as used by Windows on FAT) and UTC
#                 (which Linux uses internally).  This is particularly
#                 useful when mounting devices (like digital cameras)
#                 that are set to UTC in order to avoid the pitfalls of
#                 local time.
tz=UTC        -- タイムスタンプをローカル時刻ではなく、UTC として解釈する。
		このオプションは、ローカル時刻 (Windows が FAT に対して用
		いる) と UTC (Linux が内部的に用いる) 間の変換を無効化す
		る。これは特にデジタルカメラのような、ローカル時刻の落と
		し穴を避けるために UTC に設定してあるようなデバイスをマウ
		ントする際に役に立つ。

#showexec      -- If set, the execute permission bits of the file will be
#		 allowed only if the extension part of the name is .EXE,
#		 .COM, or .BAT. Not set by default.
showexec      -- セットしてある場合、ファイルの実行属性ビットは拡張子名が
		.EXE, .COM または .BAT である場合のみ許可される。既定では
		セットされていない。

#debug         -- Can be set, but unused by the current implementation.
debug         -- セットは可能だが、現在の実装では使われていない。

#sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as
#		 IMMUTABLE flag on Linux. Not set by default.
sys_immutable -- セットされている場合、FAT の ATTR_SYS アトリビュートは
		Linux の IMMUTABLE フラグとして扱われる。既定ではセットさ
		れていない。

#flush         -- If set, the filesystem will try to flush to di
