[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gfarm-discuss-ja:03509] Re: GfarmFS-FUSE make checkでのNGについて
- From: Takuya Ishibashi <takuya@xxxxxxxxxx>
- Date: Thu, 28 Feb 2008 19:40:06 +0900 (JST)
伝法さま、
石橋と申します。
> いまCentOS4.6(x86_64)でGfarmをインストレーションしています。
> kernelは2.6.9-67.0.4.ELsmp、
> gfarmはgfarm-1.4.1-0.src.rpmをrpmbuildして使用しています。
> fuseは2.7.3、を次に2.6.1で試しました。
久しぶりに gfarmfs-fuse-2.0.0 の make check をしてみましたが、以下の環
境では大丈夫でした。
CentOS 4.6 i386
kernel-2.6.9-67.0.1.EL
fuse 2.6.5 source
おそらく、x86_64 環境で FUSE の挙動が異なっているのではないかと推測し
ます。
> NG: gfarmfs: opt="-nlsu", fuse_opt="-o default_permissions": different
> results
:
> 何が悪いのでしょうか。
> /usr/local/src/gfarmfs-fuse/test/diffs/ gfarmfs_defperm.outは以下の内容でし
> た。
>
> --- ./expected/fuse25_linux26_old/gfarmfs_defperm.out 2007-02-20 16:40:04.
> 000000000 +0900
> +++ ./output/gfarmfs_defperm.out 2008-02-28 16:03:38.000000000 +0900
> @@ -1,4 +1,7 @@
> gfarmfs: opt="-nlsu", fuse_opt="-o default_permissions"
> NG [link] check_nlink(): nlink 1 instead of 2
> NG [mkfifo] test_mkfifo(): mkfifo: Operation not permitted
> -2 tests failed
> +NG [open_acc(O_RDONLY | O_TRUNC) mode=0200 errno=EACCES] check_size():
> length 0 instead of 26
> +NG [open_acc(O_RDWR | O_TRUNC) mode=0200 errno=EACCES] check_size(): length
> 0 instead of 26
> +NG [open(O_WRONLY) fchmod(0400) truncate(5) errno=EACCES]
> test_open_truncate(): truncate should have failed
> +5 tests failed
これは、test/expected/fuse25_linux26_old/gfarmfs_nlsu.out の結果と同じ
ようなので、つまり、x86_64 環境の FUSE では、-o default_permissions が
効かなかったのではと推測します。-o default_permissions をつけても挙動
が変わらなかったことになるので、これは FUSE の問題ということになります。
よって、おそらく、このオプションを使用しないのであれば「想定する範囲で
の違いはありません」。
しかし注意していただきたいのですが、gfarmfs の make check は、全機能が
使用できるかどうかを確認しているわけではなく、開発時に把握した通り(動
かないことも想定通り)の環境かどうかをチェックしているだけす。なので、
想定していない部分で他に問題があるかどうかはわかりません。
さらに、環境やオプションによって動作が変わるので、気になる場合は確認さ
れたほうがよいと思います。その動作の違いを知るには、test/expected 以下
を比べることでわかります。
#ファイル名に対するオプションや環境の組合せは推測してください;。
大雑把に、fuse25_linux26_old と default を比べると、fuse25_linux26_old
と判断された環境の場合、劣ります。
Linux Kernel 2.6.15 以降であれば default となります。
今回の問題は、truncate 操作でマイナーな使い方をしたときにうまく動かな
い問題を、default_permissions をつけると解決できる、という部分が動かな
くなるようです。さらに、古いカーネルの場合は、fchmod の挙動が異なる件
も関わっています。
> また/usr/local/src/gfarmfs-fuse/test/output/errlog*
> のファイルすべてに
> [02-28 16:03:33] MKNOD: not supported: /root/__testfile1_XXXX.YYY.jp_27074:
> mode=10644, rdev=0
> が記録されています。
mkfifo のテスト(全てで動作しないと想定) したときのエラーが残っています。
--
石橋拓也 @ 株式会社 創夢 第一開発部