smbclient put can't handle large files > 4GB

Ibarra, Carlos cibarr at coair.com
Fri Sep 10 20:48:06 GMT 1999


We were using smbclient's put command to send a 11GB file to an NT shared
drive and it seems to not handle more than 4GB. We run Solaris 2.5.1 on the
Unix client and NT 4.0 on the server. I know that this version of Solaris
doesn't have large file support, but we are actually generating some data
from a program running on Solaris and attempting to put it on an NT drive
using a pipe to smbclient.

Looking at the smbclient code I see that function do_put() in client.c sends
an int (32 bit) offset parameter, nread, to cli_write(). Function
cli_write(), defined in clientgen.c, calls cli_issue_write() with this
32-bit offset, which uses the SIVAL macro to stuff this into the smb buffer
(offset smb_vwv3) for transmission.
I don't see any attempt to handle 64-bit offsets in this code. Although the
server (smbd) has support for large files when running on an OS that
supports them, the client does not seem to have any support for large files.

Am I missing something? Is there a patch or update for smbclient, or is
there another tool that I can use to write a large file from Unix to an NT
shared drive?

-- Carlos Ibarra


More information about the samba-technical mailing list