Skip to content
  • Rick Macklem's avatar
    Add support for ext_pgs mbufs to nfsrv_adj(). · 18a48314
    Rick Macklem authored
    This patch uses a slightly different algorithm for nfsrv_adj()
    since ext_pgs mbuf lists are not permitted to have m_len == 0 mbufs.
    As such, the code now frees mbufs after the adjustment in the list instead
    of setting their m_len field to 0.
    Since mbuf(s) may be trimmed off the tail of the list, the function now
    returns a pointer to the last mbuf in the list.  This saves the caller
    from needing to use m_last() to find the last mbuf.
    It also implies that it might return a nul list, which required a check for
    that in nfsrvd_readlink().
    
    This is another in the series of commits that add support to the NFS client
    and server for building RPC messages in ext_pgs mbufs with anonymous pages.
    This is useful so that the entire mbuf list does not need to be
    copied before calling sosend() when NFS over TLS is enabled.
    
    Use of ext_pgs mbufs will not be enabled until the kernel RPC is updated
    to handle TLS.
    18a48314