The Coda servers may be run on unmodified kernels. The Coda codasrv process is user-level code that uses existing kernel services. The Venus client, however, requires some Coda-specific changes be made to the kernel. The kernel specific changes add Coda specific definitions to the vnode layer in the kernel which are needed to satisfy the requirements of the Coda file system to the VFS layer in the kernel.
In Unix systems, the code which translates user-generated system calls into file system requests is called the VFS Interface . Coda provides a VFS Interface by providing the necessary support for systems calls such as creat() , open() , stat() , etc.
Communication between Venus and the kernel occurs through a character device /dev/cfs0 (part of Coda) which provides the kernel with access to Venus for handling the vsf < - > vnode kernel interface. Please see Chapter 6 for the major and minor device numbers specific to a supported platform.
The rest of this chapter will focus on integrating the Coda code that satisfies the Vnode interface into the kernels of supported platforms.