• Rick Macklem's avatar
    nfscl: Add a Lookup+Open RPC for NFSv4.1/4.2 · 3ad1e1c1
    Rick Macklem authored
    This patch adds a Lookup+Open compound RPC to the NFSv4.1/4.2
    NFS client, which can be used by nfs_lookup() so that a
    subsequent Open RPC is not required.
    It uses the cn_flags OPENREAD, OPENWRITE added by commit c18c74a8.
    This reduced the number of RPCs by about 15% for a kernel
    build over NFS.
    For now, use of Lookup+Open is only done when the "oneopenown"
    mount option is used.  It may be possible for Lookup+Open to
    be used for non-oneopenown NFSv4.1/4.2 mounts, but that will
    require extensive further testing to determine if it works.
    While here, I've added the changes to the nfscommon module
    that are needed to implement the Deallocate NFSv4.2 operation.
    This avoids needing another cycle of changes to the internal
    KAPI between the NFS modules.
    This commit has changed the internal KAPI between the NFS
    modules and, as such, all need to be rebuilt from sources.
    I have not bumped __FreeBSD_version, since it was bumped a
    few days ago.