Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Nov 2011 13:16:21 +0100
From:      Ivan Voras <ivoras@freebsd.org>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: [RFC] Should vfs.nfsrv.async be implemented for new NFS server?
Message-ID:  <CAF-QHFXhBuT36KZiVXPUhmF0QT4cYfaMaAo=oi7V6e9bMYVLVQ@mail.gmail.com>
In-Reply-To: <364937844.1458624.1320854968216.JavaMail.root@erie.cs.uoguelph.ca>
References:  <j9e26l$ht8$1@dough.gmane.org> <364937844.1458624.1320854968216.JavaMail.root@erie.cs.uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On 9 November 2011 17:09, Rick Macklem <rmacklem@uoguelph.ca> wrote:
> Ivan Voras wrote:
> [good stuff snipped for brevity]
>>
>> This seems too extreme... doesn't NFSv4 have its own fsync()-like RPC
>> that does that manually? If it does, then I don't think there are any
>> differences between doing a write() on a local file system with e.g.
>> soft-updates enabled and doing a write on a NFS file system - in both
>> cases, no data is even remotely guaranteed to survive a crash unless a
>> fsync (or equivalent operation) was issued.
>>
> I think you have to be a bit careful when an assumption about loss of
> data after a crash is applied to a file server. If a client crashes,
> everyone pretty much assumes that recently written data might have been
> lost (in a Unix-like world, at least) and the crash is visible to users.
>
> However, take the following scenario:
> - User on desktop client edits a document for an hour, then saves it.
> =C2=A0--> NFS server crashes/reboots just after the "save".
> - User on desktop client goes off reading email for an hour, using a
> =C2=A0mail system not affected by the NFS server crash/reboot.
> - User goes back to document and finds an old damaged document file.
> =C2=A0--> User is very upset...
>
> My point is that a user on a client may not even realize the server
> crashed/rebooted. The above case can happen if async!=3D0, but not if
> async=3D=3D0.

Thank you for the excellent explanation! I see the problem but I think
it is still well within the judgement call of the system
administrator. It should probably not be the default (though I recall
from some benchmarks way back that it might be the default on Linux)
but it should definitely exist as an option.

Thanks again!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAF-QHFXhBuT36KZiVXPUhmF0QT4cYfaMaAo=oi7V6e9bMYVLVQ>