Introduction

The primary role of the pvfs2-client daemon is to efficiently marshal operation requests and data from the kernel's VFS (Virtual File System, or Virtual Filesystem Switch) layer to the pvfs2-server, and return responses from the pvfs2-server(s) back to the VFS layer. This involves waiting for file system and I/O requests, performing operations against the pvfs2-server application(s), and passing responses back to the Linux kernel's VFS layer. The data medium for the communication between the VFS request and the pvfs2-client application is the /dev/pvfs2 device node. An interface that will allow incoming unexpected requests from the /dev/pvfs2 device node is required, and using the existing BMI interface is preferred.

Figure: High Level PVFS2 Architecture
\includegraphics[scale=0.4]{pvfs2-vfs.eps}

Figure 1 illustrates the architecture of several components of PVFS2. This document will focus specifically on the pvfs2-client application.