2010-01-05 08:01:55

by Ray Van Dolson

[permalink] [raw]
Subject: Proper way to request async from NFS server?

RHEL 5.4 NFSv3 client accessing a Solaris 10 NFS export.

Solaris 10 does not offer a way to specify whether a given share is
async or sync as the Linux NFS server does. As far as I understand it,
its NFS server will honor whatever the connecting NFS client requests.

I'm mounting a Solaris NFS share with -o async (or using async in the
options field in fstab). Though this completes without complaint, I
don't see "async" listed in the mount options under /proc/mounts and
when I do a snoop on the Solaris side, all the write requests are FSYNC
instead of ASYNC.

Am I doing something wrong? What's the correct way to get the Linux
NFS client to request asynchronous operation?

This is with nfs-utils 1.0.9 and of course, the RHEL5 kernel
2.6.18-164.6.1.el5.

Thanks,
Ray


2010-01-05 15:39:27

by Peter Staubach

[permalink] [raw]
Subject: Re: Proper way to request async from NFS server?

Ray Van Dolson wrote:
> RHEL 5.4 NFSv3 client accessing a Solaris 10 NFS export.
>
> Solaris 10 does not offer a way to specify whether a given share is
> async or sync as the Linux NFS server does. As far as I understand it,
> its NFS server will honor whatever the connecting NFS client requests.
>
> I'm mounting a Solaris NFS share with -o async (or using async in the
> options field in fstab). Though this completes without complaint, I
> don't see "async" listed in the mount options under /proc/mounts and
> when I do a snoop on the Solaris side, all the write requests are FSYNC
> instead of ASYNC.
>
> Am I doing something wrong? What's the correct way to get the Linux
> NFS client to request asynchronous operation?
>
> This is with nfs-utils 1.0.9 and of course, the RHEL5 kernel
> 2.6.18-164.6.1.el5.
>

Simply mounting with no specific options should cause the
client to generate WRITE requests with the appropriate setting.
When it can, the client generates UNSTABLE requests followed
by COMMIT operations. When it is required to, the client
generates FSYNC requests.

If you are only seeing FSYNC requests over the wire, then I
might suggest checking the application to see how it opens
the file.

ps