HomeFreeBSD

nfscl: Make NFSv4.0 client acquisition NFSv4.1/4.2 compatible

Description

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.

(cherry picked from commit aed98fa5acb1a62bb79fc0e182b2151b239d6239)

Details

Provenance
rmacklemAuthored on Jun 16 2021, 12:42 AM
Parents
rG7a37d13b6cfa: linux(4): Prevent integer overflow in futex_requeue.
Branches
Unknown
Tags
Unknown