Date: Thu, 11 Feb 2010 12:55:46 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-stable@freebsd.org Cc: freebsd-hackers@freebsd.org, Dmitry Marakasov <amdmi3@amdmi3.ru> Subject: Re: NFS write corruption on 8.0-RELEASE Message-ID: <201002111255.46256.jhb@freebsd.org> In-Reply-To: <20100210174338.GC39752@hades.panopticon> References: <20100210174338.GC39752@hades.panopticon>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 10 February 2010 12:43:38 pm Dmitry Marakasov wrote: > Hi! > > I think I've reported that before, the I thought it's been fixed, > however I still get data corruptions when writing on NFS volumes. > Now I wonder - is nobody really using NFS, or do I have that much > of uncommon setup, or this is some kind of local problem? > > Client: 8.0-RELEASE i386 > Server: 8.0-RELEASE amd64 > > mount options: > nfs rw,nosuid,noexec,nfsv3,intr,soft,tcp,bg,nolockd > > Server has ZFS, but the same thing happens when sharing UFS placed on > md(4). > > I've prepared a special 1GB file to determine the details of corruption: > it's filled with 32-bit numbers each equal to it's own offset in the > file. That is, like that: > > 00000000 00 00 00 00 04 00 00 00 08 00 00 00 0c 00 00 00 |................| > 00000010 10 00 00 00 14 00 00 00 18 00 00 00 1c 00 00 00 |................| > 00000020 20 00 00 00 24 00 00 00 28 00 00 00 2c 00 00 00 | ...$...(...,...| > 00000030 30 00 00 00 34 00 00 00 38 00 00 00 3c 00 00 00 |0...4...8...<...| > > I've copied that file over NFS from client to server around 50 > times, and got 3 corruptions on 8th, 28th and 36th copies. > > Case1: single currupted block 3779CF88-3779FFFF (12408 bytes). > Data in block is shifted 68 bytes up, loosing first 68 bytes are > filling last 68 bytes with garbage. Interestingly, among that garbage > is my hostname. Is it the hostname of the server or the client? > Case2: single currupted block 2615CFA0-2615FFFF (12384 bytes). > Data is shifted by 44 bytes in the same way. > > Case3: single currepted block 3AA947A8-3AA97FFF (14424 bytes). > Data is shifted by 36 bytes in the same way. > > Any ideas? > > PS. Diffs of corrupted blocks in a text format are here: > http://people.freebsd.org/~amdmi3/diff.1.txt > http://people.freebsd.org/~amdmi3/diff.2.txt > http://people.freebsd.org/~amdmi3/diff.3.txt Can you reproduce this using a non-FreeBSD server with a FreeBSD client or a non-FreeBSD client with a FreeBSD server? That would narrow down the breakage to either the client or the server. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002111255.46256.jhb>