sparse file: sysutil/phantom2006年04月14日 09時57分58秒

穴空きファイル。sparse file と言って、割り当てていないブロックが存在するファイルのこと。dd で seek をすると簡単に作れる。mdconfig で使うのに、これで十分なのだが、cp したり、デバイスをまたいだ mv をすると、全部のブロックが割り当てられてしまう。

そこで、sparse file のままファイルを移動できないかと思っていた。自分で書いてもいいが、www.freebsd.org/ports で検索。sysutil/phantom というのが出てきた。


# phantom < current-obj.md -o /mnt/ufs/current-obj.md
Phantom blocks: 160406
# ls -lsd current-obj.md /mnt/ufs/current-obj.md
 998288 -rw-------  ... root 1048576000 Apr 13 13:32 /mnt/ufs/current-obj.md
 1024528 -rw-r--r-- ... uyota   1048576000 Apr 11 08:49 current-obj.md
# cmp current-obj.md /mnt/obj/current-obj.md

一応、動いているらしい。

しかし、最初に -i を使い入力ファイルを指定したところ、


phantom: do_copy_mmap error while madvise

とでて、その後、また試した。今度は

phantom: Invalid argument

とのこと。何か、とてもバグが多いみたいだ。まさか、一度目と違うエラーが出るとは思わなかったので、一度目の正確なコマンドは覚えていない。一度目と同じエラーを出そうとして試しているうちに、二度目のコマンドも忘れた。

このまま使い続けるのは、少々恐い。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/04/11/323489/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。