下保です。こんにちは。 > なるほど。 > 私の FreeBSD 9.0-RELEASE 環境だけの現象のようですね。
わたしのところでも panic しました。 revision 224914 by kib, Tue Aug 16 20:07:47 2011 UTC で,chmodとchownを呼ぶメソッドを新設したのに,fusefs側が何もしていないこ とが原因のようです。 とりあえず,panic しないだけのパッチを付けます。パッチのパッチはわかり にくいので,普通のパッチにしておきます。fusefs-kmodで make patch した後, fuse_module ディレクトリへ移動して,パッチを当てて下さい。きちんと対処 するには,sshfsの方で,chmodやchownをする場合の新しい入口を用意するので しょうね。 -- k...@ed.niigata-u.ac.jp --- fuse_vnops.c.old 2012-02-13 11:59:35.000000000 +0900 +++ fuse_vnops.c 2012-02-13 12:00:15.000000000 +0900 @@ -175,6 +175,11 @@ /* file ops */ static fo_close_t fuse_close_f; +#if __FreeBSD_version > 900040 +static fo_chmod_t fuse_chmod_dummy; +static fo_chown_t fuse_chown_dummy; +#endif + /* vnode ops */ static vop_getattr_t fuse_getattr; static vop_reclaim_t fuse_reclaim; @@ -219,6 +224,10 @@ .fo_kqfilter = NULL, .fo_stat = NULL, .fo_close = fuse_close_f, +#if __FreeBSD_version > 900040 + .fo_chmod = fuse_chmod_dummy, + .fo_chown = fuse_chown_dummy, +#endif .fo_flags = DFLAG_PASSABLE | DFLAG_SEEKABLE }; @@ -3659,3 +3668,17 @@ return (0); } #endif + +#if __FreeBSD_version > 900040 +static int +fuse_chmod_dummy(struct file *fp, mode_t mode, + struct ucred *active_cred, struct thread *td) { + return (ENOSYS); +} + +static int +fuse_chown_dummy(struct file *fp, uid_t uid, gid_t gid, + struct ucred *active_cred, struct thread *td) { + return (ENOSYS); +} +#endif