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

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



潮田です。

Hironao Komatsu <s1100089@u-aizu.ac.jp> wrote:

> 今手元にあるSolaris機でこれを試した結果では、
>  (gdb) print sizeof(off_t)
>  $1 = 4
>  (gdb) print sizeof(off64_t)
>  $2 = 8
先に書きました AIX や solaris での対処方法は、
変数の型やら関数名を 64 bit 対応のものへの強制的に
置換するものでした。

# [FDclone-users:00189] では OS 名と間違えて hostname を
# 書いてしまいました。
# SunOS 5.7 です。

最初から off_t が 8 byte のものはないかと見渡すと、
FreeBSD が見つかりました。
ports から入れたものですが、最初から 2G 超のサイズを持つ
ファイルが表示されていました。
が、ファイルサイズ欄は ? でした。
[FDclone-users:00189] で書いた最初の段階が終わった後と
同じです。
parse.c の ascnumeric() をいじる必要があるのも前述の
とおりです。
コンパイラーが gcc ですが、チェックが厳しくてプロトタイプも
変更しておかないとコンパイルも許されません。

ただ挙動から見るに、サイズ順でソートすると一番小さいほうへ
表示されているので、 st_size でソートしていないのではないかと
思われます。
(ほかの OS でも)

# FreeBSD/i386 は 4.8 RELEASE と 5.1-Beta で試しました。
# ports はもうフリーズしてるかな。
#
# HP-UX は 2G 以上の空きのあるファイルシステムが無く、
# ファイル置き場である NAS が 2G 以上のファイルを作成できない
# ものなので試していません。