strace on smb/iozone

Steven N. Hirsch (shirsch@ibm.net)
Wed, 12 Nov 1997 08:25:14 -0500 (EST)


Bill,

It gets better all the time :-(.

Trace of 2.0.32 against share on WfW 3.11:

----
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
fsync(4) = 0
times({tms_utime=1, tms_stime=93, tms_cutime=0, tms_cstime=0}) = 31965548
close(4) = 0
open("iozone.tmp", O_RDONLY) = 4
write(1, "Writing the 1 Megabyte file, \'i"..., 62) = 62
times({tms_utime=1, tms_stime=93, tms_cutime=0, tms_cstime=0}) = 31965555
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512

----

Trace of 2.1.62 against same:

----

write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
fsync(4) = 0
times({tms_utime=2, tms_stime=43, tms_cutime=0, tms_cstime=0}) = 12162718
close(4) = 0
open("iozone.tmp", O_RDONLY) = 4
write(1, "Writing the 1 Megabyte file, \'i"..., 62) = 62
times({tms_utime=2, tms_stime=43, tms_cutime=0, tms_cstime=0}) = 12162725
read(4, "", 512) = 0
^^^^^^^^

write(1, "Reading the file...Error reading"..., 41) = 41
_exit(1) = ?

----

For whatever reason, read() returns a zero length on the first call.
Yet the file does exist. This suggests that something in the VFS or
smbfs layer is in a race with the call and has not updated its notion
of the file's state. FWIW, Bonnie behaves the same way; failing on the
first read attempt.

I'd _really_ like to see this one nailed down, so let me know what
other trickery might be required to narrow down the fault?

Steve