Large File Transfers on OpenBSD (fwd)
Jason Coene
jason at datahiveserver.com
Mon Apr 1 11:39:02 GMT 2002
Thanks Richard for your quick reply.
> -----Original Message-----
> From: Richard Sharpe <rsharpe at ns.aus.com>
> Sent: April 1, 2002, 12:52 PM
> Subject: Re: Large File Transfers on OpenBSD (fwd)
>
>> Ive been debugging some problems with transferring large amounts of data on OpenBSD+Samba. Getting or Putting files upwards of 500 MB just seem to stop randomly, this is on OpenBSD systems 2.8, 2.9, and 3.0 acting as the server.
>
>Hmmm, which version of Samba?
>
All test machines are running 2.2.3a
>> I've tried transferring files using:
>> - smbclient put file from openbsd to openbsd
>> - smbclient put file from openbsd to win2k
>> - win2k get file from openbsd
>> - win2k copy file from openbsd to openbsd
>>
>> The copies from win explorer return error "The specified network name
>> is no longer available"
>
>Hmmm, I have seen this error on FreeBSD 4.3, but not related to this
>problem. It looks like the smbd serving your client has died or is no
>longer responding.
Thats the impression I got, however it does not seem that the child that is serving the client actually dies or gets killed, i'll be doing some more work with this later today.
>
>> The puts from smbclient die with "Profiling timer expired"
>>
>> Modifying socket options in smb.conf do effect when it happens, the
>> lower SNDBUF/RCVBUF, the shorter it takes to time out.
>>
>> Using debug level = 4, here is what happens just as windows gives the error:
>>
>> [2002/03/31 12:14:43, 4] smbd/uid.c:change_to_user(118)
>> change_to_user: Skipping user change - already user
>> [2002/03/31 12:14:43, 3] smbd/reply.c:reply_read_and_X(2382)
>> readX fnum=4442 min=61440 max=61440 nread=61440
>> [2002/03/31 12:14:43, 3] smbd/process.c:process_smb(860)
>> Transaction 9557 of length 63
>> [2002/03/31 12:14:43, 3] smbd/process.c:switch_message(667)
>> switch message SMBreadX (pid 3330)
>> [2002/03/31 12:14:43, 4] smbd/uid.c:change_to_user(118)
>> change_to_user: Skipping user change - already user
>> [2002/03/31 12:14:43, 3] smbd/reply.c:reply_read_and_X(2382)
>> readX fnum=4442 min=61440 max=61440 nread=61440
>> [2002/03/31 12:14:43, 3] smbd/process.c:process_smb(860)
>> Transaction 9558 of length 63
>> [2002/03/31 12:14:43, 3] smbd/process.c:switch_message(667)
>> switch message SMBreadX (pid 3330)
>> [2002/03/31 12:14:43, 4] smbd/uid.c:change_to_user(118)
>> change_to_user: Skipping user change - already user
>> [2002/03/31 12:14:43, 3] smbd/reply.c:reply_read_and_X(2382)
>> readX fnum=4442 min=20480 max=20480 nread=20480
>>
>> Then 2 seconds later:
>>
>> [2002/03/31 12:14:45, 3] smbd/oplock.c:init_oplocks(1184)
>> open_oplock_ipc: opening loopback UDP socket.
>> [2002/03/31 12:14:45, 3] lib/util_sock.c:open_socket_in(798)
>> bind succeeded on port 0
>> [2002/03/31 12:14:45, 3] smbd/oplock.c:init_oplocks(1215)
>> open_oplock ipc: pid = 3331, global_oplock_port = 42042
>> [2002/03/31 12:14:45, 4] lib/time.c:get_serverzone(122)
>> Serverzone is 18000
>> [2002/03/31 12:14:45, 3] smbd/process.c:process_smb(860)
>> Transaction 0 of length 72
>> [2002/03/31 12:14:45, 2] smbd/reply.c:reply_special(92)
>> netbios connect: name1=OBSD30T name2=JASON2
>> [2002/03/31 12:14:45, 2] smbd/reply.c:reply_special(111)
>> netbios connect: local=obsd30t remote=jason2
>> [2002/03/31 12:14:45, 3] smbd/process.c:process_smb(860)
>> Transaction 1 of length 137
>> [2002/03/31 12:14:45, 3] smbd/process.c:switch_message(667)
>> switch message SMBnegprot (pid 3331)
>> [2002/03/31 12:14:45, 3] smbd/sec_ctx.c:set_sec_ctx(314)
>> setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
>> [2002/03/31 12:14:45, 3] smbd/negprot.c:reply_negprot(348)
>> Requested protocol [PC NETWORK PROGRAM 1.0]
>>
>> [More protocol negotiation stuff, and directory refresh by windows]
>>
>> I bumped log level up to 5, but nothing stuck out at me. Does anyone
>> know of anything that might be creating this problem?
>>
>> Here are some additional tidbits of potentially useful information:
>>
>> - If we try the file copy more than 1 time without restarting smbd, it
>> seems to die quicker on additional tries.
>>
>> - Sometimes I can copy a 500mb file fine, but not 1/3 of a 1g file.
>>
>> - Hardware differs:
>> 2.8: via 686a chipset, intel 1g cpu, realtek ethernet
>> 2.9: 440bx chipset, intel 500m cpu, intel ethernet
>> 3.0: via 686b chipset, intel 1g cpu, intel ethernet
>>
>> - all 100mbps ethernet, however note that this problem does NOT happen
>> when on a 10mbit hub.
>>
>> Any ideas of what this could be?
>
>Hmmm, 100MB from FreeBSD 4.3 to Win2K over 100Mbps works OK, as does
>200MB, and 400MB and 800MB.
>
>We might need to see a network trace of the portion that fails, and
>perhaps a higher level log trace as well.
I'll get ethereal going on a win2k machine that will do the transfer tests. I'll also bump up the log level a few notches.
>
>BTW, what does datahiveserver do?
>
Easy to use Hardware/software network servers based on OpenBSD :)
Thanks,
Jason
More information about the samba-technical
mailing list