The top level

At the top level we see:

The doc directory rather obviously holds documentation, mostly written in LaTeX. There are a few subdirectories under doc. The coding subdirectory has a document describing guidelines for writing code for the project. The design subdirectory has a number of documents describing various components of the system and APIs and more importantly currently houses the Quick Start.

Much of the documentation is out of date.

examples currently holds two example server configuration files and that is it.

include holds include files that are both used all over the system and are eventually installed on the system during a make install. Any prototypes or defines that are needed by clients using the API should be in one of the include files in this directory.

lib is empty. It holds libpvfs2.a when it is built, prior to installation, if you are building in-tree. More on out-of-tree builds later.

maint holds a collection of scripts. Some of these are used in the build process, while others are used to check for the presence of inappropriately named symbols in the resulting library or reformat code that doesn't conform to the coding standard.

src holds the source code to the majority of PVFS2, including the server, client library, Linux 2.6.x kernel module, and management tools. We'll talk more about this one in a subsequent subsection.

test holds the source code to many many tests that have been built over time to validate the PVFS2 implementation. We will discuss this more in a subsequent subsection as well.