Messages in this thread | | | From | (Larry McVoy) | Subject | Re: NFS Data CORRUPTION Between Linux and SunOS 5.5.1 | Date | Thu, 13 Aug 1998 18:00:04 -0600 |
| |
: This is a very puzzling bug. We do NOT see corruption when we link : directly to the local hard drive and we don't see corruption when : we NFS mount another 2.1.102 Linux box and link on its file system. : : The only corruption occurs when running 'ld' under 2.1.102 (or
I've seen (and fixed) this sort of bug before - SunOS itself had this problem. I don't know if this is the same but I'll bet it is similar.
The problem is that 'ld' seeks around and patches up the file. It's one of the few regularly used programs that do anything other than simple sequential writes.
How I tracked it down on SunOS was to strace the ld program that caused the proplem and pull out the system calls which did file I/O and made a simple C program that generated the same sequence of I/O calls. Fortunately, at that time, ld did not use mmap() to write the file - if that is the case now, that makes it much harder to simulate.
Anyway, take your test program and put well known patterns in the buffer before each write and then run the program over ext2fs. Save the resulting file as "good". Then do the same thing over NFS to the Solaris server and on the Solaris box compare "good" and "bad" and see if they are different. If not, try the compare on the Linux client (to narrow it down to the Linux client cache or the Linux/Solaris NFS interactions).
Also - one other thought - see if the problem occurs when you use 8K write blocks on the Linux clients. If you are already, try 1K and see what that does.
--lm
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |