NFS write corruption on 8.0-RELEASE

Nate Eldredge nate at thatsmathematics.com
Fri Feb 12 18:40:45 UTC 2010


On Fri, 12 Feb 2010, Dmitry Marakasov wrote:

> * Oliver Fromme (olli at lurza.secnetix.de) wrote:
>
>> This is an excerpt from Solaris' mount_nfs(1M) manpage:
>>
>>     File systems that are mounted read-write or that  con-
>>     tain  executable  files  should always be mounted with
>>     the hard option.  Applications using soft mounted file
>>     systems  may incur unexpected I/O errors, file corrup-
>>     tion, and unexpected  program  core  dumps.  The  soft
>>     option is not recommended.
>>
>> FreeBSD's manual page doesn't contain such a warning, but
>> maybe it should.  (It contains a warning not to use "soft"
>> with NFSv4, though, for different reasons.)
>
> 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.

Tell me about it. :)

But in this case I'm not sure I understand.  As I understand it, the 
difference between soft and hard is that in the case of soft, a timeout 
will result in the operation failing and returning EIO or the like (hence 
"unexpected I/O errors").  And if the operation is being done to fault in 
a mapped page, you'd have to notify the process asynchronously by sending 
a signal like SIGBUS which it may not be expecting (hence "unexpected core 
dumps").  But in what scenario would you see file corruption?  Unless you 
have a buggy program that doesn't check return values from system calls or 
handles signals in a stupid way, I don't see how this can happen, and I'm 
not sure what the Sun man page is referring to.

-- 

Nate Eldredge
nate at thatsmathematics.com


More information about the freebsd-stable mailing list