Suretrak and samba drives

Andy Smith abs at maunsell.co.uk
Thu Jul 22 11:02:25 GMT 1999


Hi, can anyone shed light on this?

We have had users loading and storing suretrak data on samba drives for
a while, but they have recently found a route through the program that
is guarenteed to cause problems when saving files.  I have confirmed
that this is not an application error, it works OK if the drives are
re-attached with NFS, or if the files are saved to local hard disk.

Essentially, saving a project provokes suretrak to open and write a
number of files (about 15 or so) with similar names (eg railac2.ps,
railacc.p3, railact.p3 and so on).  Sometimes this works perfectly, but
on occasions, this fails with smbd hung waiting for getdents() on a
file entry that does not exist.  Here is a couple of cycles from the
truss output, the original version of file in question was presumably
removed by the application, there is no file "15/jgs2/raildir.p3".  The
behaviour occurs on 1.9.19, 2.0.5 and 2.1.0-prealpha and this is samba
on solaris 2.5.1 :-

stat("15/jgs2/raildir.p3", 0xEFFFF028)		Err#2 ENOENT
stat("15/jgs2/raildir.p3", 0xEFFFEB08)		Err#2 ENOENT
open("15/jgs2/raildir.p3", O_RDWR)		Err#2 ENOENT
write(10, "\0\0\0 #FF S M BA201\002".., 39)	= 39
poll(0xEFFFD5C0, 2, 10000)			= 1
read(10, "\0\0\0 g", 4)				= 4
read(10, "FF S M BA2\0\0\0\01803\0".., 103)	= 103
time()						= 932638495
stat("15/jgs2", 0xEFFFEBB8)			= 0
stat("15/jgs2/raildir.p3", 0xEFFFEBB8)		Err#2 ENOENT
stat("15/jgs2/raildir.p3", 0xEFFFEBB8)		Err#2 ENOENT
open("15/jgs2", O_RDONLY|O_NDELAY)		= 20
fcntl(20, F_SETFD, 0x00000001)			= 0
fstat(20, 0xEFFFD8F8)				= 0
getdents(20, 0x0030A818, 1048)			= 1048
getdents(20, 0x0030A818, 1048)			= 1048
getdents(20, 0x0030A818, 1048)			= 620
getdents(20, 0x0030A818, 1048)			= 792
getdents(20, 0x0030A818, 1048)			= 864
getdents(20, 0x0030A818, 1048)			= 860
getdents(20, 0x0030A818, 1048)			= 1028
getdents(20, 0x0030A818, 1048)			= 240
getdents(20, 0x0030A818, 1048)			= 0
close(20)					= 0
stat("15/jgs2/raildir.p3", 0xEFFFF028)		Err#2 ENOENT
stat("15/jgs2/raildir.p3", 0xEFFFEB08)		Err#2 ENOENT
open("15/jgs2/raildir.p3", O_RDWR)		Err#2 ENOENT
write(10, "\0\0\0 #FF S M BA201\002".., 39)	= 39
poll(0xEFFFD5C0, 2, 10000)			= 1
read(10, "\0\0\0 g", 4)				= 4
read(10, "FF S M BA2\0\0\0\01803\0".., 103)	= 103
time()						= 932638495
stat("15/jgs2", 0xEFFFEBB8)			= 0
stat("15/jgs2/raildir.p3", 0xEFFFEBB8)		Err#2 ENOENT
stat("15/jgs2/raildir.p3", 0xEFFFEBB8)		Err#2 ENOENT
open("15/jgs2", O_RDONLY|O_NDELAY)		= 20
fcntl(20, F_SETFD, 0x00000001)			= 0
fstat(20, 0xEFFFD8F8)				= 0
getdents(20, 0x0030A870, 1048)			= 1048
getdents(20, 0x0030A870, 1048)			= 1048
getdents(20, 0x0030A870, 1048)			= 620
getdents(20, 0x0030A870, 1048)			= 792
getdents(20, 0x0030A870, 1048)			= 864
getdents(20, 0x0030A870, 1048)			= 860
getdents(20, 0x0030A870, 1048)			= 1028
getdents(20, 0x0030A870, 1048)			= 240
getdents(20, 0x0030A870, 1048)			= 0
close(20)					= 0

-- 
  _          __         Maunsell Ltd, IT Unit    Tel  : 0181-663-6565
 /_|   _/   (  _  '_//  160 Croydon Road,        Fax  : 0181-663-6723
(  |/)(/(/ __)//)/ //)  Beckenham, Kent BR3 4DE  Email: abs at maunsell.co.uk
        /               England.                 -or- abs at maunsl00.demon.co.uk


More information about the samba-ntdom mailing list