Clipper application running under Linux over cifsfs can miss the last read and corrupt the database. lseek(fd, 0, SEEK_END) is missing the last write and returning the wrong size (there's a 1 second cache of file size that must be revalidated on the wire in the non-oplocked case). I'll attach the files to reprodce the bug. Jeremy. Reported by Claudia Neumann <dr.claudia.neumann@gmx.de>
Test case can be found here : www.apw-wiegand.de/Jeremy/ (it's in German - just as an fyi). Jeremy.
Fix in cifs-2.6.git tree now. Will request merge to mainline when test success confirmation is returned (tests ok for me with 2.6.20 simple fs tests)