removing statfs.f_fsid

2
Tanaka Akira @tanaka_akr

Ruby が Android と Cygwin 向けにクロスコンパイルできなくなってるな。fsid_t ねぇ。 http://t.co/BrbBA6sAKv http://t.co/wFRHZn3iQC

2014-04-23 11:14:32
Tanaka Akira @tanaka_akr

bionic には最近 fsid_t が入ったようだな。中身は struct だが。 https://t.co/xBirjCHQDk

2014-04-23 11:37:58
Tanaka Akira @tanaka_akr

@n0kada でも struct でありかつ fsid_t が定義されていない (されていなかった) のは Android だけじゃない? だからまだコンパイルに失敗する。

2014-04-23 12:35:02
( Φ _⊞) @n0kada

@tanaka_akr あ、__fsid_tはあるけどまだfsid_tは定義されてない環境?

2014-04-23 12:36:59
Tanaka Akira @tanaka_akr

@n0kada boron に入れてある Android NDK だと __kernel_fsid_t になってるなぁ。union とか面倒なことはせずに rb_integer_unpack に直接食わせてしまうのがいいような気がする。

2014-04-23 12:40:29
Tanaka Akira @tanaka_akr

@n0kada statvfs の f_fsid は符号なしなので、2COMP はいらないんじゃないの。あと、glibc をみてみると big endian 環境では native byte order ではないような。 https://t.co/984qqjlTJp

2014-04-23 13:43:33
( Φ _⊞) @n0kada

@tanaka_akr staffsのほうはint val[2]とかint32_t val[2]とか。そもそもこの値ってkernel外で意味ある?

2014-04-23 13:48:12
成瀬 @nalsh

@n0kada @tanaka_akr 2つのディレクトリが同じファイルシステムに載っているかどうかはわかる。値をrubyから一定に読み込まればエンディアン間違っててもあんまり問題ではありませんね

2014-04-23 13:49:55
( Φ _⊞) @n0kada

@nalsh それはfsidが同一であるかどうかだけでいいのでは

2014-04-23 13:52:12
小崎 資広 @kosaki55tea

@nalsh @n0kada @tanaka_akr わたしも同意見。Rubyスクリプトに数値を露出させる意味はあんまりなくて、同値判定でファイルシステムが異なるかどうかが分かるのが重要

2014-04-23 13:52:20
Tanaka Akira @tanaka_akr

@n0kada 提供するなら statvfs の f_fsid の値にするのがまともだと思う。提供しないというのもまともだと思う。Linux の statfs(2) には f_fsid についてかなり怪しいことが書いてある。 http://t.co/EB4dU3JLfA

2014-04-23 13:53:05
小崎 資広 @kosaki55tea

@nalsh @n0kada @tanaka_akr ただ、なんかのworkaroundでtmpfsだけ特別扱いとかはありえるので、値がCと揃っているとちょっとだけプログラミングが楽になる・・・かなあ?(ちょっと自信ない)

2014-04-23 13:53:26
成瀬 @nalsh

@kosaki55tea @n0kada @tanaka_akr それはファイルシステムの種類を示すf_typeの方では。fsid_tはそれぞれのファイスシステムに振られるID

2014-04-23 13:54:28
成瀬 @nalsh

@tanaka_akr @n0kada まぁ、今回はfsidは特に必要なかったので削っても。

2014-04-23 13:55:29
usa @unak

あれ、俺ひょっとしてfsidの意味誤解してたりしないだろうな。

2014-04-23 13:56:33
usa @unak

f_typeとかも大概ひどい気がするのでちゃんとwarpしろよという気がする。

2014-04-23 13:57:16
Tanaka Akira @tanaka_akr

@n0kada さらに GNU/Hurd では (statfs の) f_fsid も整数らしい。 https://t.co/wb5fGqvJeW

2014-04-23 13:58:46
成瀬 @nalsh

@unak なぜ素直にmagicを返さないのか理解に苦しみはする

2014-04-23 13:58:53
usa @unak

@nalsh f_fstypenameがないならrubyで実装して返せよ! と言いたかった。

2014-04-23 14:01:13
成瀬 @nalsh

@unak あ、はい。まぁ、そうっすね

2014-04-23 14:01:32
成瀬 @nalsh

@nalsh @unak と思ったが、あれ、ext2/3/4の区別取れんのかな

2014-04-23 14:02:04