[RFC] Should vfs.nfsrv.async be implemented for new NFS server?

Ivan Voras ivoras at freebsd.org
Wed Nov 9 14:20:21 UTC 2011

On 06/11/2011 02:18, Rick Macklem wrote:
> Hi,
> Josh Paetzel pointed out that vfs.nfsrv.async doesn't exist
> for the new NFS server.
> I don't think I had spotted this before, but when I looked I
> saw that, when vfs.nfsrv.async is set non-zero in the old server,
> it returns FILESYNC (which means the write has been committed to
> non-volatile storage) even when it hasn't actually done that.

Do I understand this correctly: the server normally (for async=0) does a
fsync after any writes and returns FILESYNC status to the client?

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.

On 06/11/2011 17:25, Josh Paetzel wrote:
> In 8.x, setting the async sysctl was the difference between 80-100MB/sec
> and 800 MB/sec (Yes, MegaBytes!) using a variety of different clients,

Yup, this is in any case too big not to add the async mode.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20111109/4c2beae0/signature.pgp

More information about the freebsd-fs mailing list