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

[FDclone-users:00762] 質問: Linux の sd* デバイス上でのWRITE_DIR



濱崎です。

最近の(2.6.23,2.6.24) Linux カーネルで、sd* デバイス (SCSI のディスクドライバ)
を使用してアクセスするパーティション上のファイルシステムに対して WRITE_DIR を
正常に使えている方、いらっしゃいますか?

FDclone 2.09g,h で、ディレクトリ内のファイルを並べ替えた後 WRITE_DIR しても
順番の変更が反映されないことがあることに気付きました。
いろいろ試した結果、hd* デバイスと sd* デバイスとで WRITE_DIR の結果
(というより挙動)が異なるのではないかと思ったので、 ML で尋ねてみることにした
次第です。

私の手元では、sd* の上にあるファイルシステムで WRITE_DIR しようとすると
失敗します。 試して×だったのは、以下の中から適当に選んだ組み合わせです。
2.6.24 が含まれる場合については全部の組合せを網羅できていません。

	カーネルバージョン: 2.6.23, 2.6.24
	ファイルシステム : vfat, ext3
	CPU アーキテクチャ: x86, x86_64


2.6.23 で hda* の上にある ext3 ファイルシステムについては、OK でした。

ファイルシステムは上にあるとおり、ext3 と vfat を試しました。
それぞれで挙動が違います。

ext3: 無視される
	並べ替えて WRITE_DIR しても、並べ替え前のままです。

	sd* 上の ext3 については、touch した順番にファイルが並ばない
	ことがわかった(ls -f の表示で確認しました)ので、恐らく FDclone では
	どうにもならないところだと思います。

vfat: 2パターンある
	1) WRITE_DIR すると、ソート結果を反映しようとしたことがわかります。
	   ただし、先頭に来るべきファイルが最後にあります。 (x86_64, 2.6.23)
    2) ランダムな文字列: Invalid argument というメッセージが出て、
	   WRITE_DIR できない                               (x86,    2.6.23)

TECKNOW ファイルの 2.ディレクトリ書込み機能 の章を読みながら file.c の 
arrangedir() あたりなのかなと見当をつけてソースを読み始めたのですが、
ファイルシステムについて 必要な予備知識が欠けているせいでしょうか、
理解するに至っていません。
--------------------------------------------------
    濱崎 健 E-mail: hma@syd.odn.ne.jp