Welcome to Coda! Whether you are at Carnegie Mellon or elsewhere, we hope that this manual will help you make effective use of the Coda File System. The manual is written from two different perspectives: end user and system administrator. If your organization is already running Coda, and you need to learn how to use it - Chapter 1 and Chapter 2 should fully answer your questions. For more adventurous among you, who wan't to maintain your own Coda cell, please read Chapter 3 through Chapter 5. The rest of the book is dedicated specifics of system administration.
In writing this manual, we have assumed that you are an experienced Unix user, familiar with the broad concepts of distributed file systems. If you are a system administrator, we assume that you are familiar with administering Unix systems. You will find Coda especially easy to use if you are already fluent in using AFS.
We have also assumed that you are familiar with the design goals and architecture of Coda. The best way to learn about these is to read the overview and design rationale papers on Coda [SATYANARAYANAN90Z], [SATYANARAYANAN90Y], [KISTLER92]. We urge you to obtain copies of these papers and to read them before attempting to use Coda. Those papers provide context and information upon which this manual relies and does not repeat.
Since Coda is an experimental system and not a commercial product, you will inevitably encounter rough edges. Within the limits of our resources, we will do our best to fix these problems and to improve the system over time. But we do ask that you try to characterize the problem as accurately as possible, and to try and obtain a repeatable and concise instance of it.
After you have taken the time to learn the system well, please give us your feedback. We would like to improve both the system and this manual.
Besides the three papers mentioned above, there are a number of papers that address specific aspects of Coda. These include:
A description of the MiniCache, which allows the client manager to reside outside the kernel without excessive loss of performance [STEERE90].
A description and performance analysis of the technique used in Coda for transparent directory resolution [KUMAR93].
A manual on the remote procedure call, RPC2, and threading, LWP, mechanisms used in Coda [SATYA91].
A detailed description of support for disconnected operation in Coda [KISTLER93]. Chapter 4 of this document offers an excellent overview of the implementation structure of clients and servers.
A discussion of relevant security issues and mechanisms to address them [SATYANARAYANAN89C]. This paper discusses security in AFS-2, but the mechanisms in Coda are virtually identical.