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