sambaにおける2GBファイルの扱いについて
Sambaにより、LinuxからWindows側への2GB超ファイルの書き込みがうまく行かず、困っております。
マシン構成は、以下の通りです。
・Windows XPにVM playerを載せ、Redhat Enterprise WS 3.0をインストール。
・Linux側のkernelバージョンは2.4.21-4、sambaは3.0.0-14.3E。
・マシンにUSB接続で外付HDD(NTFSフォーマット済)を接続。
・Windows側にてUSB外付HDDに共有フォルダを設定し、linux側から以下の要領でマウント。
% smbmount //マシン名/データフォルダ名 /マウントディレクトリ名 -o lfs,rw,uid=500,gid=500,fmask=755,dmask=755,username=ユーザ名
・smbmount自体は正常に機能しているように見える。
次に、作業経過は以下の通りです。
・Linux側にて自作プログラムを走らせ、smbmountされた上記のディレクトリに2GBを超えるファイルを出力しようとすると、出力ファイルのサイズが約2.2GBになった時点で
「ファイルサイズ制限オーバー」というエラーが出て、coreを吐いてプログラムが終了する。
・smbmountされたディレクトリではなく、内蔵HDD内のディレクトリに出力した場合は、問題なく出力ができる。
→自作プログラムや、linuxのkernelの問題ではないと判断。
・sftpにて、Windows側からlinux側にアクセスし、上記で正常に出力できたファイルをUSB外付HDDにコピーすることは、問題なくできた。
→Windowsのファイルシステムの制限ではないと判断。
・さらに、上記でsftpしたファイルを、改めてLinux側からsmbmountを通して見てみると、
% ls -la
-rwxr-xr-x 1 user 18446744072949653120 1月25日 16:06 ファイル名
となり、とんでもない大きさとして見える。
解決法を教えていただけると幸いです。