Filesystem features


fsck がかかる原因が、 ファイルシステムの Filesystem features ではないかと考えた。
おりしも、Vine Users ML で Filesystem features に関する話題が 流れている。

ところが、Link Station の HDD はパーティションを切り直してしまっていて、 オリジナルのファイルシステムがどうなっていたか、わからない。
ファイルはバックアップしても、 ファイルシステムの状態まではバックアップしないもんな。

そこで、実験用 HDD にファームウェア アップデータ Ver.1.31 を インストールしてみることにした。
実験機で実験用 HDD のパーティションを削除し、 実験用 HDD を Link Station に接続し、 ファームウェア アップデータ Ver.1.31 の HD-HLAN FWUpdate.exe を 実行する。
まっさらともいえる状態の HDD にアップデータをかけても 正常にアップデートができるとはさすがである。
おそらく、Flash ROM にあるプログラムが動作しているのであろう。

アップデートした HDD を実験機に接続して tune2fs で状態を見る。

intel# tune2fs -l /dev/hdc1
を実行したのだが、スーパーブロックに問題があるとか (メッセージとるの忘れた)いわれて、 ファイルシステムの状態が見られない。

04/02/25 追記始め--------
まい〜んさんからの情報で、mount しようとしたときのメッセージは、

# mount -t ext3 /dev/hdc1 /tmp/root

VFS: Can't find ext3 filesystem on dev ide1(22,1).
mount: wrong fs type, bad option, bad superblock on /dev/hdc1,
or too many mounted file systems
だそうです。
04/02/25 追記終わり--------

仕方がないので、

intel# mkfs -S /dev/hdc1
intel# fsck -y /dev/hdc1
を実行した後、
intel# tune2fs -l /dev/hdc1
を実行する。結果、
intel# tune2fs -l /dev/hdc1
tune2fs 1.29 (24-Sep-2002)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          952aee23-89b6-4e4c-8e17-f4a1f2f3e259
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      dir_index filetype sparse_super
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              32768
Block count:              131008
Reserved block count:     6550
Free blocks:              53355
Free inodes:              30948
First block:              1
Block size:               1024
Fragment size:            1024
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Last mount time:          Wed Jan 14 23:06:50 2004
Last write time:          Wed Jan 14 23:07:16 2004
Mount count:              0
Maximum mount count:      27
Last checked:             Wed Jan 14 23:07:16 2004
Check interval:           15552000 (6 months)
Next check after:         Mon Jul 12 23:07:16 2004
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Default directory hash:   tea
Directory Hash Seed:      c7ac9889-7c2b-4ce5-af79-e95b7fcb2e7c
であった。/dev/hdc3 は問題なく tune2fs -l できた。
intel# tune2fs -l /dev/hdc3

tune2fs 1.29 (24-Sep-2002)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          740bdbfa-caaa-4f3e-8810-1eef3e3cfba5
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal filetype sparse_super
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              84096
Block count:              168084
Reserved block count:     0
Free blocks:              161319
Free inodes:              84075
First block:              0
Block size:               4096
Fragment size:            4096
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         14016
Inode blocks per group:   438
Last mount time:          Wed Jan 14 23:00:03 2004
Last write time:          Wed Jan 14 23:03:00 2004
Mount count:              6
Maximum mount count:      28
Last checked:             Tue Jan 13 23:21:00 2004
Check interval:           15552000 (6 months)
Next check after:         Sun Jul 11 23:21:00 2004
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal UUID:             
Journal inode:            8
Journal device:           0x0000
First orphan inode:       0
hdc1 の Filesystem features は、
Filesystem features:      dir_index filetype sparse_super
となっているが、mkfs -S を実行したので、あまり信頼できない。
少なくとも has_journal がないので、EXT3 ではない

hdc3 の Filesystem features は、

Filesystem features:      has_journal filetype sparse_super
となっている。

さて、現在の Link Station はというと、

linkstationVine# tune2fs -l /dev/hda1 | grep features:
Filesystem features:      has_journal dir_index filetype needs_recovery sparse_super
linkstationVine# tune2fs -l /dev/hda3 | grep features:
Filesystem features:      has_journal dir_index filetype needs_recovery sparse_super large_file
となっている。

dir_index は、Vine Users ML でも話題になっているように、問題がありそう
fsck がかかるのは、needs_recovery が原因か。
ただ、tune2fs のマニュアルを見ても、 needs_recovery や large_file の説明が載っていない。

もう少し、情報収集が必要


 BUFFALO Link Station をハックしよう  → Filesystem features の変更
Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp
山下康成京都府向日市