2008年12月20日土曜日

Samba 3.2にXPから容量越えのファイルをコピー

Windows XPからSambaにQuota上限 or ディスクの空き容量を越えたサイズのファイルをコピーすると、コピーが開始されて、実際にディスクの空きがなくなった時点でエラーになる。

これは昔のSambaからの仕様らしいが、Vistaからコピーすると、コピー前にエラーとなってくれるので、不要なコピー処理が発生しない。
しかも、Windowsサーバー相手だと、XPからのコピーでもきちんと拒否してくれるので、どうもSambaのバグっぽい。

ということで、またもやwiresharkでパケットをダンプして比較調査中だけれども、どうやらSMB Trans2のSETPATHINFO(Level FILE_END_OF_FILE_INFORMATION)に対して、ディスクFULLのエラーを返せずに、コピーが始まってしまうっぽい。

ここまでくると、後は正しい実装を調べるべく、またもやMSDNのドキュメントを。
http://download.microsoft.com/download/a/e/6/ae6e4142-aa58-45c6-8dcf-a657e5900cd3/[MS-FSCC].pdf
これの2.4.13が該当のパケットの処理っぽいので、忘れないように備忘録として記録しておく。


0 件のコメント:

コメントを投稿