You may be wondering how the CFS can accomplish this, without your needing to go out and learn how to work with a new file system. The CFS is conveniently sandwiched between the Virtual File System (VFS) and the physical file systems (see Figure 13-1) and acts as a router (or traffic cop) directing I/O from the VFS to all parts physical.
Figure 13-1: The CFS I/O Architecture
A user runs a program that needs to perform file I/O. The program uses the same I/O routines it would normally use in a non-clustered environment (open, read, write, fcntl, etc.), these routines interface with the VFS, and the VFS interfaces with the CFS. It is the CFS's job to coordinate access to the physical file system by determining where in the cluster the physical file system is located and if necessary send the I/O request to the appropriate CFS server on another member in the cluster. This happens transparently from the user's perspective.