[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(iBook) fsck problem just after base.tgz



>                                            千葉市中央区長洲
>                                                    藤原  誠

(殆んど一人で書いていますが) また newfs してしまいました。
fvwm2, kterm, emacs, xdm などを動かしていたのですが、emacs か
何かで止ってしまい、その後に fsck で y を入れすぎたようです

きょうの感触は、
・fsck と、他の disk i/o は少し違う方法で読んでいる。
・fsck が使っている方に問題がある
です。理由は 
例えば base.tgz だけを開けて、fsck -fn /dev/wd0a を何回かすると、
その度に表示するものが違っている。
からです。
fsck は直接読むけれど通常の disk I/O は cache 経由ですよね。

他の netbsd-ml あたりのもっと同くの人の助けを借りるのはどうか
と思い、下のような文を書いて見たのですが、ここの ML だけで解決
した方がいいでしょうか。(それとも port-macppc の方がいいのかな)

多分出さないと思いますが、一応問題のまとめということで、
---------------------------------------------------------------
iBook と fsck の問題が複数の設置で起きています。
皆様のお知恵を拝借したく...

iBook に NetBSD/macppc を入れて動かす
設置方法は別途参照
(例えば ftp://ftp.ki.nu/pub/NetBSD/port-macppc/README.html)

かなり良く動くが、fsck だけに問題がある。

再現方法としては、
network または hfsboot で起動する
/dev/wd0a を /mnt に付けておいて、
binary/sets/*.tgz を手で
tar zxpf base.tgz
のようにして開ける。
その後で sync;sync;sync
してから
fsck -fn /dev/wd0a
すると、いきなり問題が起きる。添付の 1 2 3 4 は
続けて同じことをやった時の時刻順のもの。

すぐ繰返しても再現性がなく、結果がその度に違う。
tar でなくて dump|restore しても同じような問題が起きる。

これ以外は問題がなく、強制的に終了してしまって、
fsck が必要になるようなことがなければ、X Window
も動くし、emacs も動くし compile なども普通に出来て、とても楽しい。
(もし強制再起動の必要があると、そこで fsck が動いて、うっかり yes
などと入れると、だんだんおかしくなっていく)

藤原が気になっているのは time make (などを) した時に、
内蔵の disk を使っていると CPU が最大で 40% しか行かないこと。
(NFS すると 75% くらいまでは行く)

fsck は他の macppc では問題がないです。
disk の device driver は macppc/dev/wdc_obio.c です。(wd0)
これも良く使われていますが、問題はいまのところないです。
iBook で動かしている人は、二 or 三人と思われるが、どこでも同様。
PowerBook G3 の人が試すと、いくつかの *.tar.gz を開けて 200MBytes
くらいにすると同じような問題が起きるそうです。

dd if=/dev/wd0a of=/dev/null bs=64k で速度を調べると
4299161600 bytes transferred in 338 secs (12719413 bytes/sec)
というような、かなり速い数字になる。

disk ラべルは NetBSD でなく MacOS のものを使っているが、
NetBSD のものにしても同様だった。

さて皆様だったらどの辺を調べるでしょうか。
---------------------------------------------------------------

---
(藤原)


** Phase 2 - Check Pathnames
UNALLOCATED  I=89088  OWNER=root MODE=40755
SIZE=512 MTIME=Jun  7 16:48 2000 
DIR=/usr/include/netccitt

REMOVE? no

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
LINK COUNT DIR I=61248  OWNER=root MODE=40755
SIZE=512 MTIME=Jun 22 04:15 2000  COUNT 28 SHOULD BE 27
ADJUST? no

** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

SUMMARY INFORMATION BAD
SALVAGE? no

BLK(S) MISSING IN BIT MAPS
SALVAGE? no

1665 files, 45173 used, 4015313 free (3633 frags, 501460 blocks, 0.1% fragmentation)




** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
1666 files, 45174 used, 4015313 free (3633 frags, 501460 blocks, 0.1% fragmentation)




1666 files, 45174 used, 4015313 free (3633 frags, 501460 blocks, 0.1% fragmentation)




** Phase 2 - Check Pathnames
BAD INODE NUMBER FOR '.'  I=540096  OWNER=root MODE=40755
SIZE=512 MTIME=Jun 22 04:50 2000 
DIR=?

FIX? no

UNALLOCATED  I=792536  OWNER=root MODE=100444
SIZE=126 MTIME=Jun 22 04:46 2000 
FILE=/usr/share/zoneinfo/America/Costa_Rica

REMOVE? no

BAD INODE NUMBER FOR '..'  I=540096  OWNER=root MODE=40755
SIZE=512 MTIME=Jun 22 04:50 2000 
DIR=/usr/share/man/cat6

FIX? no

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
LINK COUNT DIR I=488128  OWNER=root MODE=40755
SIZE=512 MTIME=Jun 22 04:39 2000  COUNT 22 SHOULD BE 21
ADJUST? no

LINK COUNT DIR I=506688  OWNER=root MODE=40755
SIZE=512 MTIME=Jun 22 04:42 2000  COUNT 17 SHOULD BE 18
ADJUST? no

** Phase 5 - Check Cyl groups
BLK(S) MISSING IN BIT MAPS
SALVAGE? no

FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no

SUMMARY INFORMATION BAD
SALVAGE? no

1665 files, 45173 used, 4015313 free (3633 frags, 501460 blocks, 0.1% fragmentation)