VFS: connect to share is different with Win98 and smbclient

Rainer Link link at foo.fh-furtwangen.de
Tue Nov 20 14:07:03 GMT 2001


Hi!


I wrote a VFS module for on-access virus scanning within Samba 2.2.x,
see www.openantivirus.org/projects.php for details.

If I connect to share tmp as nobody (twice) and as user rainer to my
homedir via smbclient, smbd is forked three times, as you can see by the
following log snippet and the ps output.


Nov 20 21:30:23 rlss2 smbd_vscan_sophos[2805]: VFS_INIT: vscan_ops -
$Revision: 1.3 $ loaded 
Nov 20 21:30:23 rlss2 smbd_vscan_sophos[2805]: connect to service tmp by
user nobody 
Nov 20 21:30:54 rlss2 smbd_vscan_sophos[2817]: VFS_INIT: vscan_ops -
$Revision: 1.3 $ loaded 
Nov 20 21:30:54 rlss2 smbd_vscan_sophos[2817]: connect to service rainer
by user rainer 
Nov 20 21:31:38 rlss2 smbd_vscan_sophos[2827]: VFS_INIT: vscan_ops -
$Revision: 1.3 $ loaded 
Nov 20 21:31:38 rlss2 smbd_vscan_sophos[2827]: connect to service tmp by
user nobody 

root      2744  0.0  0.5  4232 1524 ?        S    21:28   0:00
/usr/local/samba/bin/smbd -D
nobody    2805  0.6  2.5  9236 6596 ?        S    21:30   0:00
/usr/local/samba/bin/smbd -D
rainer    2817  1.0  2.5  9236 6632 ?        S    21:30   0:00
/usr/local/samba/bin/smbd -D
nobody    2827  5.7  2.5  9236 6596 ?        S    21:31   0:00
/usr/local/samba/bin/smbd -D

If I do the same via Win98 I get:
Nov 20 21:52:38 rlss2 smbd_vscan_sophos[2880]: VFS_INIT: vscan_ops -
$Revision: 1.3 $ loaded 
Nov 20 21:52:38 rlss2 smbd_vscan_sophos[2880]: connect to service rainer
by user rainer 
Nov 20 21:52:48 rlss2 smbd_vscan_sophos[2880]: VFS_INIT: vscan_ops -
$Revision: 1.3 $ loaded 
Nov 20 21:52:48 rlss2 smbd_vscan_sophos[2880]: connect to service tmp by
user rainer 
Nov 20 21:53:20 rlss2 smbd_vscan_sophos[2880]: VFS_INIT: vscan_ops -
$Revision: 1.3 $ loaded 
Nov 20 21:53:20 rlss2 smbd_vscan_sophos[2880]: connect to service hostfs
by user rainer 

root      2744  0.0  0.4  4232 1124 ?        S    21:28   0:00
/usr/local/samba/bin/smbd -D
rainer    2880  0.9  2.5  9340 6556 ?        S    21:52   0:00
/usr/local/samba/bin/smbd -D


Well, why does smbclient and Windows behave different here? The main
problem with Win* is, that if an user is connected to three shares and
opens a somewhat bigger file (-> virus scanning takes some time) all the
other shares are slowed down, as only one smbd child is forked. I even
had a report that by retrieving a 30 MB ZIP-File, which is scanned
recursively as I've specified within SAVI to scan inside zip files, no
more connections to other shares are possible by this user. With
smbclient, for every share one smbd child (and therefore one
smbd_vscan_sophos "child") is forked. So, retrieving one large file from
one share does not slow down speed of the other shares. At least I
wasn't able to reproduce this behaviour.

Can this issue be solved in any way, i.e. a setting in smb.conf or
within the settings in Win?


TIA

cheers, Rainer

-- 
Rainer Link  | Student of Computer Networking                        
link at suse.de | University of Applied Sciences, Furtwangen, Germany    
rainer.w3.to | http://www.computer-networking.de/




More information about the samba-technical mailing list