[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00193] Re: 巨大ファイルの扱い



潮田です。

>  しらいです。
>  long は一般に 32bits 以上が保証されていますが、64bit OS で
> は当たり前のように 64bits 幅あります。こういう環境では、素の
> ままの FDclone で 2GB 越 file を扱える筈です。
そうですね。
Tru64, Linux(alpha) 上では普通に動いてますね。


> > が、ファイルサイズ欄は ? でした。
> 
>  これは ascnumeric() が long で受けているからですね。この箇
> 所を long long にすれば「?」ではなく「999999999」になってく
> れると思います。
はい、これで試していました。
off_t にすれば、 FreeBSD はもちろんですが、先の AIX やら
 solaris の置換での対応でもプリプロセッサが良きにはからって
くれるのですが、さすがに違和感がありますよね。
(この関数が、もっと汎用的な数値を対象とするであろう関数なので)
size_t でも、同じように変ですし、 off_t より大きい保証もないで
すよね。
(置換対象から外れているってのもありますが)


> > # HP-UX は 2G 以上の空きのあるファイルシステムが無く、
> > # ファイル置き場である NAS が 2G 以上のファイルを作成できない
> > # ものなので試していません。
> 
>  そもそも 2GB を越えられない filesystem って結構ありますよ。
> 昔の設計を引きずっていると、file size はなかなか上限を変えに
> くいと思います。
なるほど。
そういえは、そもそも HP-UX で 2G over のファイルが作れるのか
ってのは考慮に入っていませんでした。
(作ったこともないのに。)

# HP-UX ユーザーの皆様、別のスレッドの方もあわせてご意見希望

>  結論としては、
> 	・stat(2) に 32bits 制限のある環境は対象外。
> 	・stat(2) で取得可能ならば ascnumeric() は修正可。
> といったところでしょうか。
現状では、それで良いのではないでしょうか。
将来的には、configure の --disable-largefile みたいに制御
可能になるとうれしいかもしれません。

# pathname.c の方の ascnumeric() をいじって、変化がないなと
# 悩んでいた人間が偉そうなことを言ってます