This patchset provides a stable source base for continued development of advanced transport technologies, including NFS/RDMA, NFS sessions, and NFS on IPv6. It combines patches from several sources to provide an RPC client transport switch facility suitable for advanced transport development.
To keep transport developers' lives simple, there will be no API changes or new features in subsequent patchsets in this series (9-b, 9-c, and so on); only bug fixes and changes for stability. Later series against future kernels may contain changes to the API and new features.
Note Well: This jumbo patch trio has been tested only minimally. See below for supplemental patches that may address significant problems found in this patchset. Please report problems to Chuck Lever.
Outstanding issues and a brief to-do list is here.
The patchset is based on the final release of the 2.6.9 Linux kernel, which can be downloaded from here. After downloading and unpacking the kernel source, apply these three patches (in this order):
The first patch is the final 2.6.9 patchset from Trond, with the addition of an extra patch that is missing from that patchset. Trond's patches are destined for integration into the upstream kernel. The second patch is CITI's 2.6.9-rc3 NFS4_ALL patch, adjusted to fit over Trond's final 2.6.9 patchset. We expect that most of this patchset will eventually be integrated into the upstream kernel.
The third patch is the latest RPC transport switch patchset. Note that some of the patches in this patchset have not been completely reviewed by community developers, meaning that the implementation and APIs are still subject to some churn and further development. In addition there are some known problems with this work, listed in the section below. The patches in this patchset are also available individually on this page.
These changes will be integrated in the next release of this patchset. They are included here as separate diffs against the 9-a patchset so that it is easy to apply them to existing source trees based on the 9-a patchset. Please apply all of these patches in order after applying the three patches listed above.