Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
4.5 Case study: The Network File System (NFS) 187 This case is one example of the NFS designers trading some unix semantics to obtain a simpler implementation. File handles are usable across server failures, so that even if the server computer fails and restarts between a client program opening a file and then reading from the file, the server can identify the file using the information in the file handle. Making file handles (which include a file system identifier and a generation number) usable across server failures requires small changes to the server's on-disk file system: the NFS designers modi- fied the super block to record the file system identifier and modified inodes to record the generation number for the inode. With this information recorded, after a reboot the NFS server will be able to process NFS requests that the server handed out before it failed. 4.5.2 the NFS remote Procedure Calls Table 4.1 shows the remote procedure calls used by NFS. The remote procedure calls are best explained by example. Suppose we have the following fragment of a user program: fd open ("f", readonly ) (fd, buf, n) read