Jason Bird
2004-Oct-17 08:40 UTC
[Samba] Problem copying large file from Win2K box to Samba share on Linux box
I've got an aggravating problem as described in the subject line above. I have a small home network with a Linux box running Samba and acting as both local and domain master browser and WINS server. Also on the network are a desktop PC (Dell 1.4 GHz P4) running Windows 2000 Professional and a laptop running Windows XP Professional. The problem occurs when I try to copy a file over 1 MB in size from my win2k box to a share on the linux box. Ftp works fine. It also works when I'm on the linux box and copy the same file from a Windows share on the win2k box. I don't see the problem on the XP laptop at all. The behavior I'm seeing is that the first 1 to 1.5 MB of the file copy happens instantly at which point the copy slows to a crawl. After setting the smb log level to 9 or 10 I can see that, after the initial burst of copying, only 1 kb is being copied every 5 seconds. I've looked everywhere for answers and tried the following without success: 1) updating my NIC drivers to the latest 2) changing my NIC config from auto-negotiate to 100Mb-Full Duplex 3) changing my socket options in smb.conf 4) adding the SzReqBuf=65536 key/value to the lanmanserver/parameters key in the registry 5) trying different file names to rule out any funky 8.3 problems 6) I shut down firewalls on both computers for the duration so they're not a factor I'd really appreciate some help if anyone has any ideas. Copies of my smb.conf as well as logfiles from a bad copy attempt (from the win2k box) and a good copy attempt (from the xp laptop) can be found at http://www.birdfam.com/downloads>From bad_copy.log I see the following log messages every time a block iswritten to the file - these log messages do not appear in the logfile when copying from the xp laptop. [2004/10/16 22:31:39, 10] smbd/process.c:async_processing(282) async_processing: Doing async processing. [2004/10/16 22:31:39, 5] smbd/oplock.c:receive_local_message(107) receive_local_message: doing select with timeout of 1 ms [2004/10/16 22:31:39, 3] smbd/notify_kernel.c:kernel_check_notify(99) kernel_check_notify: kernel change notify on . fd[0]=28 (signals_received=2) [2004/10/16 22:31:39, 10] smbd/notify.c:process_pending_change_notify_queue(161) process_pending_change_notify_queue: dir . changed ! [2004/10/16 22:31:39, 3] smbd/error.c:error_packet(105) error string = Interrupted system call [2004/10/16 22:31:39, 3] smbd/error.c:error_packet(129) error packet at smbd/notify.c(55) cmd=160 (SMBnttrans) NT code 0x0000010c [2004/10/16 22:31:39, 6] lib/util_sock.c:write_socket(449) write_socket(5,75) [2004/10/16 22:31:39, 6] lib/util_sock.c:write_socket(452) write_socket(5,75) wrote 75 [2004/10/16 22:31:39, 3] smbd/notify_kernel.c:kernel_remove_notify(144) kernel_remove_notify: fd=-1 [2004/10/16 22:31:39, 3] smbd/notify_kernel.c:kernel_check_notify(99) kernel_check_notify: kernel change notify on . fd[0]=27 (signals_received=1) [2004/10/16 22:31:39, 10] smbd/notify.c:process_pending_change_notify_queue(161) process_pending_change_notify_queue: dir . changed ! [2004/10/16 22:31:39, 3] smbd/error.c:error_packet(105) error string = Interrupted system call [2004/10/16 22:31:39, 3] smbd/error.c:error_packet(129) error packet at smbd/notify.c(55) cmd=160 (SMBnttrans) NT code 0x0000010c [2004/10/16 22:31:39, 6] lib/util_sock.c:write_socket(449) write_socket(5,75) [2004/10/16 22:31:39, 6] lib/util_sock.c:write_socket(452) write_socket(5,75) wrote 75 [2004/10/16 22:31:39, 3] smbd/notify_kernel.c:kernel_remove_notify(144) kernel_remove_notify: fd=-1 Thanks in advance for any help! Jason Bird