HomeFreeBSD

Make the NFSv4 client to use a write open for reading if allowed by the server.

Description

Make the NFSv4 client to use a write open for reading if allowed by the server.

An NFSv4 server has the option of allowing a Read to be done using a Write
Open. If this is not allowed, the server will return NFSERR_OPENMODE.
This patch attempts the read with a write open and then disables this
if the server replies NFSERR_OPENMODE.
This change will avoid some uses of the special stateids. This will be
useful for pNFS/DS Reads, since they cannot use special stateids.
It will also be useful for any NFSv4 server that does not support reading
via the special stateids. It has been tested against both types of NFSv4 server.

MFC after: 2 weeks

Details

Provenance
rmacklemAuthored on
Parents
rS317344: Don't set the connection-back-channel flag for DS sessions.
Branches
Unknown
Tags
Unknown