]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
nfscl: Make NFSv4.0 client acquisition NFSv4.1/4.2 compatible
authorRick Macklem <rmacklem@FreeBSD.org>
Wed, 16 Jun 2021 00:42:13 +0000 (17:42 -0700)
committerRick Macklem <rmacklem@FreeBSD.org>
Wed, 16 Jun 2021 00:48:51 +0000 (17:48 -0700)
commitaed98fa5acb1a62bb79fc0e182b2151b239d6239
treeadfad07c507f7218b52330e804f46593eaf91c17
parent18c69734e9ac74651ca794d3315ffc4b305ffc6e
nfscl: Make NFSv4.0 client acquisition NFSv4.1/4.2 compatible

When the NFSv4.0 client was implemented, acquisition of a clientid
via SetClientID/SetClientIDConfirm was done upon the first Open,
since that was when it was needed.  NFSv4.1/4.2 acquires the clientid
during mount (via ExchangeID/CreateSession), since the associated
session is required during mount.

This patch modifies the NFSv4.0 mount so that it acquires the
clientid during mount.  This simplifies the code and makes it
easy to implement "find the highest minor version supported by
the NFSv4 server", which will be done for the default minorversion
in a future commit.
The "start_renewthread" argument for nfscl_getcl() is replaced
by "tryminvers", which will be used by the aforementioned
future commit.

MFC after: 2 weeks
sys/fs/nfs/nfs_var.h
sys/fs/nfsclient/nfs_clrpcops.c
sys/fs/nfsclient/nfs_clstate.c
sys/fs/nfsclient/nfs_clvfsops.c