smbmount cannot browse large NT directories

Urban Widmark urban at svenskatest.se
Fri Jul 7 20:46:04 GMT 2000


On Fri, 7 Jul 2000, Robert P. Goldman wrote:

> I have had a very similar problem, in my case connecting to a network
> appliances toaster, rather than to an NT server.  I think this may be
> the same problem Kenneth Oakeson reported on 29 June.  I have a little

Do you get the same errors? He gets error messages for every file he lists
while Ben's problem showed as a completely silent listing.

Your subject is a bit wrong I think, a NetApp-thingy isn't the same as an
NT, or is it?

> more information.  Here's what I find in /var/log/messages when this
> happens:
> 
> Jun 15 10:46:41 mn65-zippy kernel: smb_proc_readdir_long: Looping in FIND_NEXT??
> Jun 15 10:46:41 mn65-zippy kernel: smb_refill_dircache: readdir failed, result=-5

That one is new. The problem I was thinking of was a client/server
communications problem (server I think, it stopped in mid listing with an
error). The log output for that looks something like this:

smb_refill_dircache: readdir failed, result=-2
smb_proc_readdir_long: name=, entries=117, rcls=1, err=123

Have you tested < 2.2.14? does it do the same?
Does smbclient work?

Does your problem only show on large directories, Kenneth has problems
with all files/directories as I understood it. Could you compare your
problem in detail with his reports and see if the symptoms really are the
same?


> I am using using samba 2.0.7 on RedHat with Kernel 2.2.14-smp.  A
> follow-up message from Urban Widmark indicated that this is a kernel
> (smbfs) problem and should be fixed in 2.2.14, however this is not my
> experience.

Ben never posted his log messages but he was experiencing this with 2.2.12
and the behaviour looked just like it did for me so I assumed it was the
same problem. That problem is fixed in 2.2.14+, I believe this
NetApp/Toaster (they have someone working there just thinking about silly
names ... :) problem is something different.


> Any suggestions?

Test with a "plain" 2.2.14 kernel (plain = without vendor patches), test
with a "plain" 2.2.13 kernel.

Add a line
EXTRA_CFLAGS += -DSMBFS_DEBUG_VERBOSE
to fs/smbfs/Makefile and rebuild & install your kernel + modules. It will
then output a lot more about what it is trying to do. Send that log with
kernel version to me and I'll have a look.

You will probably not get an answer or a fix, but maybe then I'll know
which questions to ask and not just throw everything I can think of at 
you. :)


If you feel like debugging the problem yourself, adding printk's to
fs/smbfs/proc.c:smb_proc_readdir_long to try and understand what is
happening is a start. As I read the code it seems like the only thing that
should be able to cause that message is if what the server returns
matches:
  server->rcls == ERRSRV && server->err == ERRerror
ERRSRV = error generated by the server
ERRerror = "Non specific error code"

If things work for short directories but not for long it may be something
in the "findnext", or not.

/Urban



More information about the samba mailing list