[Samba] smbfs hangs when accessing directory

Alex Hole adh at jerry.webtec.co.uk
Wed Aug 4 16:10:15 GMT 2004


Hello,

I have just started to use smbfs to mount some shares provided by one of
our servers for the purpose of 
backup. When accessing some of the directories in these shares, the
process doing the access locks up. The commands: cp, ls and bash
autocompletion do it.  

The directories in question have more that 512 files in them.  Are there
any issues regarding this?

The processes stick around even when I shut the remote connection and I
have to kill -9 the processes.  The only information which is put into
the logs regarding this problem occur once I have killed the process:

Aug  4 15:54:56 jerry kernel: smb_get_length: recv error = 512
Aug  4 15:54:56 jerry kernel: smb_trans2_request: result=-512, setting
invalid
Aug  4 15:54:56 jerry kernel: smb_retry: caught signal
Aug  4 15:54:56 jerry kernel: smb_proc_readdir_long: error=-512,
breaking

Which I think only shows that the process has been killed.  However it
is showing smb_proc_readdir_long() as the function being called during
this problem. 

The server which the share is being provided by is a SCO server :(  It
was the main server for the company, but is being slowly retired.  The
shares are therefore being exported by visionfs.  Are there any issued
with interacting with visionfs?

The system where the smbfs is being used is using:

- Redhat Linux EL 3 
- Kernel: 2.4.21-15.0.3.EL
- samba: samba-3.0.4-6.3E         (Redhat rpms)
         samba-common-3.0.4-6.3E
	   samba-client-3.0.4-6.3E

If I access the share from a windows client, then there are no problems,
so I do not think it is solely a visionfs issue.  Strangely if I copy
the directory to the windows client and share the directory, the
problems doe not occur.

EXPERIMENT: I just did a test. There was a directory on the SCO machine
with 504 files in it.  The redhat machine can access this directory.  I
added 11 file so it has more this 512 files (515).  Now cd to directory
and ls.  Result process hangs.  Remove these files again and ls does not
hang.

Did the experiment again and with file (directories and files) equal to
513, the ls process hangs.  Now I remove one of the added files from the
directory so there are 512 and ls still hangs.  If I keep removing the
files until there are 509 files in the directory, then the ls process
continues as normal.  Therefore the Redhat system is having problems
getting a directory listing from the visionfs system if the file count
is >= 510.



Are there are known problems that would explain this?

Or has anyone got any suggestions?


Thanks in Advance

Alex
  




More information about the samba mailing list