[Samba] Files over 4GB not listing properly. Cannot get CIFSworking.

Guenter Kukkukk linux at kukkukk.com
Wed May 7 00:51:26 GMT 2008


Am Dienstag, 6. Mai 2008 schrieb Matt Boyle:
> Put this in the wrong thread, sorry!
> 
> 
> UPDATE:  I've realized that this seems to be an issue with the compiler flags used to build samba.
> I've realized that i need to define _LARGEFILE_SOURCE, _LARGEFILE64_SOURCE, and _FILE_OFFSET_BITS=64.
> 
> I've done this, but still have no luck reading files larger than 4GB.  Anyone have suggestions?
> 
> Thanks,
> Matt
> 
> 
> > Hi guys,
> > 
> > I'm attempting to move large files (>4GB) from a PowerPC-based embedded system running a 2.4 kernel architecture to an PC running a 2.6 kernel. I've got samba compiled, installed, and running on the embedded box. I also have the directories from the PPC system mounted and accessible from the PC. 
> > 
> > I have two problems: larger file sizes do not list correctly, and large files transferred from the embedded box to the PC are not complete; IE they're dropping data along the way. I'm familiar with the 2GB file size limit on samba, and have mounted the PC side using the lfs flag.
> > 
> > Problem 1: Incorrect listing
> > 
> > Here's a list of the directory from the embedded box:
> > -r--r--r-- 1 root root 52646396 Jan 5 06:46 file1.ch10
> > -r--r--r-- 1 root root 60755936 Jan 5 06:46 file2.ch10
> > -r--r--r-- 1 root root 47606684 Jan 5 06:46 file3.ch10
> > -r--r--r-- 1 root root 4920604376 Jan 5 05:51 file4.ch10
> > 
> > Here's that same listing, but of the samba mount of that directory on the PC:
> > 
> > -r-xr-xr-x 1 root root 52646396 Jan 5 2007 file1.ch10 -r-xr-xr-x 1 
> > root root 60755936 Jan 5 2007 file2.ch10 -r-xr-xr-x 1 root root 
> > 47606684 Jan 5 2007 file3.ch10 -r-xr-xr-x 1 root root 625637080 Jan 5 
> > 2007 file4.ch10
> > 
> > As you can see, files 1-3 list fine, but file4 is showing way short. I'm guessing this might be some sort of overflow condition, any ideas?
> > 
> > Problem 2: Loss of data during transfer of large files.
> > When I try to transfer file4, i only get 41xxxxxxxx or so of the total 
> > file size. This is the more pressing issue.
> > 
> > Also, I cannot mount the samba share using CIFS.  I use the line
> > 
> > mount -t smbfs //server/share/ path/to/local/ -o user=u,pass=p,lfs
> > 
> > to mount with SMBFS, and it works correctly, just doesn't display the large files. 
> > However, when using the following:
> > 
> > mount -t smbfs //server/share/ path/to/local/ -o user=u,pass=p,lfs

I guess, that's a typo above, so "smbfs" should read "cifs" ?

> > 
> > I get "Mount error 5= Input/output error"
> > 

You can do the following on your local "PC running a 2.6 kernel" to track 
this down a bit more when using the cifs kernel module:

1. 'modinfo cifs' (to query some cifs version and kernel info)
2. 'modprobe cifs' (to make sure the module is loaded)
3. 'echo 3 > /proc/fs/cifs/cifsFYI' (to make cifs more chatty)
4. 'logger HERE-ALL-NEW-STUFF-NOW-========================================='
5. In a separate console, use 'tail -f /var/log/messages' to fetch cifs' msgs
6. use 'mount.cifs //server/share /path/to/local --verbose -o user=u,pass=p'
   (the option "lfs" is _not_ needed here, not a valid cifs option)

(Usually) there should be cifs debug messages in the 4.) tail -f ... console.
All new entries start at the string
.... "HERE-ALL-NEW-STUFF-NOW-========================================="

Please send all output from the above steps 1.) 2.) 5.) and 6.)

Cheers, Günter

Note that some of the cmds above need root privs.


More information about the samba mailing list