阿部です。 可能なら助言をいただきたいのですが、 長い文章なので興味のない方は無視して下さい。
FreeBSD 9.0-RELEASE 上で ports/sysutils/fusefs-kmod と fusefs-sshfs を 利用して、remote ホストとのファイルのやり取りを行っています。 それぞれの ports は FreeBSD 9.0-RELEASE にアップグレードした際に、 portsnap update で最新版にしてアップデートしました。 fusefs-kmod-0.3.9.p1.20080208_8 と fusefs-sshfs-2.3 です。 /etc/rc.conf には fusefs_enable="YES" のみ記述してあり、 FreeBSD 起動時に fuse.ko が自動的に読み込まれます。 sshfs は次のように実行しています。 local% sshfs remote: ~/fuse remote はレンタルサーバのホスト名に該当します。 local はローカルの FreeBSD マシンです。 remote と local は共に FreeBSD 9.0-RELEASE で UID/GID も同一構成です。 この状態で、 local% cp -p file.txt ~/fuse/ と実行すると、ローカルの FreeBSD が Panic して再起動します。 -p オプションがない cp では、問題ありません。 FreeBSD 8.2-RELEASE の頃は、sshfs でマウントしたファイルシステムに cp -p でファイルをコピーしても問題なかったのですが、 FreeBSD 9.0-RELEASE だと必ず FreeBSD が Panic して再起動します。 このとき、以下のログが記録されていました。 kernel: kernel: Fatal trap 12: page fault while in kernel mode kernel: cpuid = 0; apic id = 00 kernel: fault virtual address = 0x0 kernel: fault code = supervisor read, page not present kernel: instruction pointer = 0x20:0x0 kernel: stack pointer = 0x28:0xdf1e1c48 kernel: frame pointer = 0x28:0xdf1e1c70 kernel: code segment = base 0x0, limit 0xfffff, type 0x1b kernel: = DPL 0, pres 1, def32 1, gran 1 kernel: processor eflags = interrupt enabled, resume, IOPL = 0 kernel: current process = 3349 (cp) kernel: trap number = 12 kernel: panic: page fault kernel: cpuid = 0 kernel: KDB: stack backtrace: kernel: #0 0xc0a4b157 at kdb_backtrace+0x47 kernel: #1 0xc0a186b7 at panic+0x117 kernel: #2 0xc0d48cf3 at trap_fatal+0x323 kernel: #3 0xc0d48dad at trap_pfault+0xad kernel: #4 0xc0d49b35 at trap+0x465 kernel: #5 0xc0d32a8c at calltrap+0x6 kernel: #6 0xc0d49315 at syscall+0x355 kernel: #7 0xc0d32af1 at Xint0x80_syscall+0x21 kernel: Uptime: 8h14m57s さて、このような問題が起こるのですが、 この場合はどこから調査すると良いでしょうか? 手始めに、FreeBSD のサイトの CVS リポジトリで /usr/src/bin/cp 以下の ソースコードを調べたのですが、cp.c は 20ヶ月前、 utils.c は 22ヶ月前から 変更がないようです。 この問題を解決する手がかりとなる助言や情報などを教えていただけると助かります。 最終手段としては、多少強引ですが cp コマンドのソースコードで、 コピー先のファイルシステムが fusefs.sshfs の場合は -p オプションを 無視するように改変しようかと考えています。 ただ、この方法はスマートじゃない気がするので、うまい解決策を知りたいです。 -- 阿部康一/Kouichi ABE (WALL) koui...@mysticwall.com http://www.MysticWALL.COM/ (Personal) http://www.MagickWorX.COM/ (Business)