Date: Fri, 12 Feb 2010 14:20:10 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Dmitry Marakasov <amdmi3@amdmi3.ru> Cc: freebsd-hackers@FreeBSD.ORG, freebsd-stable@FreeBSD.ORG, Oliver Fromme <olli@lurza.secnetix.de> Subject: Re: NFS write corruption on 8.0-RELEASE Message-ID: <Pine.GSO.4.63.1002121413290.24931@muncher.cs.uoguelph.ca> In-Reply-To: <20100212180032.GC94665@hades.panopticon> References: <freebsd-hackers.77287.1265825437.20100210174338.GC39752@hades.panopticon> <201002102046.o1AKkrvj085173@lurza.secnetix.de> <20100212180032.GC94665@hades.panopticon>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 12 Feb 2010, Dmitry Marakasov wrote: > > Interesting, I'll try disabling it. However now I really wonder why > is such dangerous option available (given it's the cause) at all, > especially without a notice. Silent data corruption is possibly the > worst thing to happen ever. > I doubt that the data corruption you are seeing would be because of "soft". "soft" will cause various problems w.r.t. consistency, but in the case of a write through the buffer cache, I think it will leave the buffer dirty and eventually it will get another write attempt. > However, without soft option NFS would be a strange thing to use - > network problems is kinda inevitable thing, and having all processes > locked in a unkillable state (with hard mounts) when it dies is not > fun. Or am I wrong? > Well, using NFS over an unreliable network is going to cause grief sooner or later. The problem is that POSIX apps. don't expect I/O system calls to fail with EIO and generally don't handle that gracefully. For the future, I think "umount -F" (a forced dismount that accepts data loss) is the best compromise, since at least then a sysadmin knows that data corruption could have occurred when they do it and can choose to "wait" until the network is fixed as an alternative to the corruption? rick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.63.1002121413290.24931>