@naota344の今週のLKML
今週は
- [RFC][PATCH 0/4] fsfreeze: new API
- better oopsing when frozen
- Linux 3.0
- [PATCH]Remove extra semicolon's in the kernel.
[RFC][PATCH 0/4] fsfreeze: new API
http://permalink.gmane.org/gmane.linux.file-systems/56161
ストレージのバックアップはよく言われているようにとても大事です。しかし、オンラインですからそのままやると転送量の問題などで失敗してしまうこともあります。そこで fsfreeze という API があります。これは指定したファイルシステムのIOを止めてしまうものです。これで止まっている間にバックアップをすませてしまえばいいわけですね。
しかし、現在のAPIではフリーズされているかどうかを判定することができません。また、こういったバックアップ+フリーズ処理はだいたいデーモンやなんかのプロセスで行なわれていますが、このバックアップの途中でもしそのプロセスが死んでしまった場合フリーズしたままになってしまいます。
この提案では、1) フリーズ状態かどうかを確認するioctrlを追加 2) フリーズしてファイルデスクリプタを発行するioctrlを追加。このファイルデスクリプタが閉じられると自動的にフリーズが解除されます。
better oopsing when frozen
http://permalink.gmane.org/gmane.linux.kernel/1170934
システムをスリープ/ハイバネートする時は、システムをフリーズさせてACPIなんかでスリープを走らせます。さて、この途中でカーネルがエラーを出してしまったらどうなるでしょう? 完全に固まってしまってどうしようもなくなってしまいますね。これではエラー処理もできないので、こういう時にエラーが出た時はとりあえずタスクのスリープを解除するコードを入れよう、というのがこのpatchです。
[PATCH] Cross Memory Attach v4
http://permalink.gmane.org/gmane.linux.kernel.mm/66371
OpenMPI などのメッセージパッシングを行なうもので、プロセスID・アドレス・サイズを指定して、そのプロセスのアドレス空間から直接読みこむ、または、そのアドレス空間に直接書きこむということができるようにするpatchです。想像通りかなりパフォーマンスが上がるようです。気になるセキュリティに関しては v1 のpatchでは uid, gid などが完全に一致で見ているようでした…最新のではどうなってるんでしょう…既存のを使っているぽいですが…。
Linux 3.0
Linux 3.0がリリースされました。
http://kernelnewbies.org/Linux_3.0
面白いあたりは
- btrfs に auto-defrag が入った
うちで使ってたらめっちゃ重くなった感が…orz しかし、その後 compress=lzo, space_cache をつけてみるとなかなか速くなりました。
- btrfs scrub
LinuxCon でも紹介されてた機能ですね。ディスクエラーなので checksum がおかしくなったデータを判定し、別のコピーから修復してきます。
- ext4にpunch holeが入った https://lwn.net/Articles/415889/
先週の記事にもありましたが、fileの使用していないblockを実際にはdiskに書きこまず論理的にだけ確保しておくsparse fileというものがあります。いままでこれは基本的に作成時に使われなかった部分がその「穴」になり、その後で使用していない部分が増えてもなにもできない(あとから「穴」を増やせない)ようになっていました。 punch hole はファイルのいらなくなった部分を廃棄して、あとから sparse file を作るために使われます。例えばVMなんかでいままで8G使ってたけど4Gしかいらなくなった、などの時にその4Gを解放するために使えたりしますね。
[PATCH]Remove extra semicolon's in the kernel.
http://permalink.gmane.org/gmane.linux.kernel/1171732
static DEFINE_CLK(g2d, 10);; とのような ";" が2つあるようなケースを除去する patch です…。ふむ… Linuxカーネルでも結構こういうものがあるのですね。