- PR -

e2fsck,fsckのメッセージについて

1
投稿者投稿内容
badge
会議室デビュー日: 2004/03/12
投稿数: 6
お住まい・勤務地: 栃木県
投稿日時: 2005-09-20 10:48
こんにちは。
あんどと申します。
ext2,3ファイルシステムの修復時
以下のメッセージなどを目にする機会があるかとおもいますが
いまいち意味のわからないものがあります。
googleで検索してもみつけられません。
どこか参考になるページ、他UNIXと同等であるものをご存知でしたらご教授ください。

(例)
XXXは数字です。
--------------------------------------------------------------------
Inode XXXXX has imagic flag set. Clear<y>?
Inode XXXXX is in use,but has dtime set. Fix<y>?
Inode XXXXX that were part of a corrupted orphan linked list found .Fix<y>?
Inode XXXXX has INDEX_FL flag set but id not a directory.
Clear HTree index<y>?
Inode XXXXXX, i_size is XXXXXXXXXXXXXXXXXXXXXXXXXXXXX, should be 0.Fix<y>?
Inode XXXXXX, i_block is XXXXXXXXX, should be 0. Fix<y>?
Inode XXXXXX has compression flag set on filesystem without compression support Clear?
Inode XXXXXX has illegal block(s). Clear<y>?
Illegal block #0 (XXXXXXXXX) in inode XXX. CLEARED.
---------------------------------------------------------------------------
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2005-09-20 20:04
Linuxドキュメント"The Linux Kernel"にファイルシステムの説明が
あります。このドキュメントは和訳されてJFにもあります。

http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel-10.html

カーネルソースコードをインストールして、このドキュメントの中で示している /usr/include/linux/ext2_fs.h を眺めてみると,
例としてあげたfsckのメッセージの単語がinode構造体のメンバであることがわかります。

私にはカーネルソースコードをハックできるほどの腕はないので
眺めるだけしかできないし、上記ドキュメント以上の説明ができないのが
残念です^^;
あと、他UNIXはどうなっているのでしょうかねぇ?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-09-21 12:29
カーネルソースを読む前に、ファイルシステムの設計を述べている
ドキュメントからでしょうね。

ext2はBSDのFFSとだいたい似たようなものです。一部、退化してる
ような気もしないでもないですが
というわけで、FreeBSDやNetBSDのUFSとだいたい似ています。
SolarisのUFSも同様のはず。

JFSやXFSはぜんぜん違います。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-09-21 12:47
こんにちは。
カーネル内部解析報告の中からext2の項なんかも良いかもしれませんね。
…って、端からこうなっていますけど。
引用:
BSDのファイルシステムおよびその論文を大いに参考にして設計されており、殆ど同様の構成となっている。
…(中略)…
詳しくは、BSD UNIXの解説書および、論文を参照して欲しい。


※ 他にも「『Design Of UNIX』の世界そのまま」という記述もあります。

i-node と直接ブロック、間接ブロックの話が分かれば O.K. のような気がしないでもないです。
あ、後はディレクトリも一種のファイルに過ぎないこと、もでしょうか。

※ orphan位何処かに解説が載っているかと思ったら…見つからない。結構、fsckのエラーメッセージはノリで解釈するものなんですかねぇ。

以上、ご参考まで。
badge
会議室デビュー日: 2004/03/12
投稿数: 6
お住まい・勤務地: 栃木県
投稿日時: 2005-09-21 17:04
ご返信ありがとうございます。

やっぱりソースコードですか。。。。(;o;)
いま同時進行でSCSIカード、アレイカードのエラーコードを表にして
いますがカードの種類ごとにソースコードを読んでます。。。

UFSファイルシステムではsundocで公開されていますが
ext2,3ファイルシステムでのメッセージとは結構違います。
御紹介いただいた解説書、等を参考にしたいと思います。

いままでノリでエラーメッセージを解釈してましたが
(とりあえずYES!てなかんじで)
Linuxと付き合って4年目いい加減なんとかしたくなりました。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-09-21 20:26
Linux はドキュメントに関してはお寒い状態なので、Sun が出してるような
レベルのものはちょっと無さそうですねえ。
BSD の FFS だと fsck_ffs(8) を使いますが、そっちなら動作を詳しく
説明した文書があります。
Fsck - The UNIX File System Check Program
をWebで検索してみて下さい。
その中の Appendix A です。
# Sun のもほとんど同じじゃないかしらん
1

スキルアップ/キャリアアップ(JOB@IT)