Skip to content
kalebskeithley edited this page Nov 7, 2023 · 83 revisions

Welcome to NFS-Ganesha Wiki


Nfs-ganesha is a user-mode file server for NFS v3, 4.0, 4.1, and 4.2; and for 9P from the Plan9 operating system. It can support all these protocols concurrently.

This is an Open Source project with an active community of both company sponsored and independent developers. This Wiki is the primary location for all current information about the project and its software releases.

Table of Contents

pNFS

NFS-Ganesha has support infrastructure for pNFS but efforts in this area have not been active for many years and pNFS is not currently supported by the active community.

Release Status

Releases occur more often than updates to this section. To get the most up to date release information, browse the NFS-Ganesha GitHub Releases history.

Version 5.7 is the current supported release. Release Notes

Users of the following older releases are urged to upgrade as we are unable to devote resources to fix issues with these releases. There are no collated release notes for most of these older releases, the tag information for the latest update for each is listed, if you really need the full release history, also explore the tags from V3.0 to V3.4 or V2.x.0 to V2.x.y).

The last Version 4 release is 4.4.1. Release Notes

The last Version 3 release is 3.5.

The last Version 2.8 release is 2.8.4.

The last 2.7 release is 2.7.6.

The last 2.6 release is 2.6.3.

The last 2.5 release is 2.5.5.

The last 2.4 release is 2.4.5.

The last 2.3 release was 2.3.3.

The last 2.2 release was Version 2.2. This is a significant update that supports delegations. It also improves stability and protocol correctness. See the Release Notes V2.2 for details.

Our previous releases are Version 2.1 (see the Release Notes V2.1 for details), Version 2.0 (see the Release Notes V2.0 for details) and Version 1.5

Source Code Availability

Our supported releases since 2.3 are available as source code tarball downloads provided via the Release Status history URL above. Git provides access to the most recent development or (if you select) stable branches at Github nfs-ganesha.

See the Download Page for details. Official tarballs are also available by clicking through the Releases button on the repository's top page.

We (obviously) use git for our source management. Our official development tree is maintained at Github nfs-ganesha. Individual developers have their own git repositories, most of them on Github, for publishing their changes to the community. See the Developer Area for details. The Release Notes describe source availability in greater detail. In particular, all our releases going forward are marked by signed tags.

NOTE:
The sidebar on the repository's home page gives you the choice of an HTTPS or SSH for cloning. We use git submodules which will not work with an HTTPS clone. Use: git clone git://github.com/nfs-ganesha/nfs-ganesha.git instead for anonymous clones.

Development Policies

As our user base and development community have expanded, we have had to put some order to how we develop, release, and support our work. Our Development Policies page describes how we go about our business, developing Open Source software.

Documentation

Documentation from the "next" branch: https://github.com/nfs-ganesha/nfs-ganesha/tree/next/src/doc/man

From V3-stable: https://github.com/nfs-ganesha/nfs-ganesha/tree/V3-stable/src/doc/man

Some documentation on setting up NFS-Ganesha: Setup

Developer Documentation

Compiling: https://github.com/nfs-ganesha/nfs-ganesha/blob/next/src/COMPILING_HOWTO.txt

Contributing: https://github.com/nfs-ganesha/nfs-ganesha/blob/next/src/CONTRIBUTING_HOWTO.txt

Some notes on coding style: https://github.com/nfs-ganesha/nfs-ganesha/blob/next/src/doc/coding_style/doxygen.txt

Note that we follow many of the Linux Kernel style requirements, using checkpatch.pl to verify style. Patch submissions are generally expected to conform to the style. There are a few places we make exceptions. Continuous Integration will run checkpatch.pl on your submissions and they will be reported. Any exceptions will be noted during code review, otherwise we expect these errors and warnings to be cleaned up.

Install git hook to run checkpatch.pl: https://github.com/nfs-ganesha/nfs-ganesha/blob/next/src/scripts/git_hooks/install_git_hooks.sh

The checkpatch.pl script: https://github.com/nfs-ganesha/nfs-ganesha/blob/next/src/scripts/checkpatch.pl

Contacting Us

The community maintains an active, open IRC channel on Libera #ganesha. Most of our developers keep in touch on this channel.

We also maintain an email list on https://lists.nfs-ganesha.org/archives/list/devel@lists.nfs-ganesha.org/. Release announcements, technical discussions, and user questions are handled here.

We have a weekly 30 minute video conference call on Tuesdays at 7:00 AM PST/PDT on Google Meet:

  https://meet.google.com/mkh-ctnj-tqz
  phone (US) +1 401-702-0462 (PIN: 495972631)
  other phone numbers at https://meet.google.com/mkh-ctnj-tqz

Other Useful Links

These links are approaching obsolete but may be of interest.
Clone this wiki locally