2G バイト以上の大規模ファイルをサポートします。UFS、NFS、および CacheFS の各ファイルシステムで大規模ファイルに対応するセマンティクスをサポートします。アプリケーションから作成したりアクセスしたりできるファイルの最大サイズは、次のとおりです。
UFS によってマウントされたファイルシステムでは、1 テラバイト
NFS および CacheFS によってマウントされたファイルシステムでは、NFS サーバーの限界まで
既存の入出力インタフェースが変更されて、大規模ファイルを扱うときのエラーを検出できるようになりました。新しいデータ型 (通常、接尾辞として 64 または 64_t が付く) と新しいインタフェース (通常、接尾辞として 64 が付く) が、大規模ファイル用に追加されています。
UFS ファイルシステムで大規模ファイルのサポートを無効にするための、新しい mount オプションを用意しています。このオプションを使うと、システム管理者は大規模ファイルを安全に扱うことのできない古いアプリケーションでも継続して使用することができます。
デフォルトの mount オプションは largefiles です。largefiles オプションを指定してマウントされたファイルシステムでは、2G バイト以上のサイズのファイルを作成できます。
ただし、このオプションを指定してマウントされたファイルシステムには、2G バイト以上のサイズのファイルがなくてもかまいません。
largefiles オプションを指定してマウントされたファイルシステムに 2G バイト以上のサイズのファイルが作成されると、fsck コマンドを実行して大規模ファイルが存在しないことを確認するまでは nolargefiles オプションを指定してそのファイルシステムをマウントすることはできません。
Solaris 2.x 上で既存のアプリケーションを実行する場合、次の点について確認する必要があります。
アプリケーションが大規模ファイルに対応できるためには (「Solaris 2.6 で大規模ファイルを扱っても安全 (large-file safe)」)、アプリケーションのソースコードを調べて、既存のインタフェースが適切であること、そして正しいエラー処理特性を備えていることを確認する必要があります。
アプリケーションが大規模ファイルを取り扱えるようにするには (「大規模ファイルを使用できる (large-file aware)」)、アプリケーションのソースコードを調べて修正しなくてはなりません。次は、修正すべき箇所の例です。
%ld から %lld などの出力およびメモリ内部の書式文字列
サイズ情報またはオフセット情報の一時記憶領域に使用する変数は、正しいサイズに設定して切り捨てられるのを防ぐ必要がある
関数のパラメタと戻り値を調べて、必要に応じて修正する
詳細については、『NFS の管理』と『Solaris のシステム管理』を参照してください。