smbfs very slow

Hactar eben at gate.net
Wed Oct 10 21:33:03 GMT 2001


On Wed, 10 Oct 2001, Urban Widmark wrote:

> I am unable to produce any kind of failures (a few dirs with about 12000
> files each, ls, ls -l, find, ...). Tested vs samba 2.2.2-pre, win2k and
> NT4sp6. Pretending I only have 64M in the box does not trigger anything.
> Any ideas why your files are so special?

It might be the version of W2k -- System Properties : General says it's
"5.00.2195", "Service Pack 2".  The files are nothing unusual.  There are
390 of them in the (alphabetically) first folder.

> If you can take a tcpdump (tcpdump -w /tmp/foo.trc -s 1600 port 139) and
> put it somewhere I can download it from, I can have a look. It may be
> pretty big ...

I did that.  Check your mail for details on how to get it.

I did this as root:

tcpdump -w /tmp/smbfs.tcpdump -s 1600 port 139

and in another window, as root:

mount -t smbfs -o credentials=/home/eben/goliath.credentials
//goliath/catalog /home/eben/temp

then as eben:

find temp -type f -print -exec sh -c "cat '{}' > /dev/null" \;

I saw nothing unusual; it was just very slow.  find spat out about eight
names, at a reasonable speed, then a pause, then two more, then it hung
(this time, when I tried.  [That is typical.]  find exited right away
when I hit ^C.).

> Either enable the debug flags in fs/smbfs/Makefile

I did that, since I don't speak C very well.  :-)  But this is odd: in
this file
-rw-r--r--   1 eben     eben          779 Oct 10 21:35 /usr/src/linux-2.4.7/fs/smbfs/Makefile

these are defined
EXTRA_CFLAGS += -DSMBFS_PARANOIA
EXTRA_CFLAGS += -DSMBFS_DEBUG
EXTRA_CFLAGS += -DSMBFS_DEBUG_VERBOSE
EXTRA_CFLAGS += -DDEBUG_SMB_MALLOC
EXTRA_CFLAGS += -DDEBUG_SMB_TIMESTAMP
EXTRA_CFLAGS += -Werror

Compilation produced this file:
-rw-r--r--   1 root     root        57927 Oct 10 23:22 /lib/modules/2.4.7/kernel/fs/smbfs/smbfs.o

I am running that version:
Linux pc 2.4.7 #1 SMP Sun Jul 22 23:06:18 EDT 2001 i686 unknown
(I do have an SMP motherboard)

In this file
-rw-r--r--   1 root     root         1181 Oct 10 21:37 /etc/syslog.conf

is this
*.=debug;*.=info                                /var/log/debug
(yes, I kill -HUPed syslogd after making the change)

Even after "make modules", "make modules_install", "rmmod smbfs" I still
get nothing in /var/log/debug.  I get other entries, just nothing from
smbfs.  Is there some option I have to set?  modinfo showed nothing.

> or sprinkle liberally with your own printk's (or copy and rename the
> VERBOSE debug macro in smb_debug.h)

But I'm willing to try!  What is the syntax for printk()?

-- 
-eben             eben at gate.net           http://home.tampabay.rr.com/hactar/

                    Logic is a systematic method of coming to
                      the wrong conclusion with confidence.









More information about the samba mailing list