Network File System (NFS)
What is NFS ?
-
The NFS protocol is designed to be portable across different machines,
operating systems, network architectures, and transport protocols - pportability
is achieved through the use of Remote Procedure Call (RPC - see RFC 1057)
primitives built on top of an eXternal Data Representation (XDR - see RFC
1014).
-
Network File System (NFS) is file system that will mount remote file systems
across homogenous and heterogenous systems.
-
NFS consists of a client and server systems - the server can export local
directories for remote clients to use.
-
The supporting mount protocol allows the server to hand out remote access
privileges to a restricted set of clients. It performs the operating
system-specific functions that allow, for example, to attach remote directory
trees to some local file system.
-
All of the procedures in the NFS protocol are assumed to be synchronous.
When a procedure returns to the client, the client can assume that the
operation has completed and any data associated with the request is now
on stable storage.
-
NFS runs over IP using UDP (commonly) - there are implementations
that will work using TCP as the network transport service.
-
NFS was originally developed by Sun Microsystems Computer Corp. (SMCC)
and is now part of their Open Network Computing (ONC) initiative.
-
NFS has been accepted by the IETF in certain RFC's (1094) as a standard
for file services on TCP/IP networks on the Internet.
NFS Service Routines
-
NFSPROC_GETATTR(fhandle)
-
NFSPROC_SETATTR(sattrargs)
-
NFSPROC_ROOT(void)
-
NFSPROC_LOOKUP(diropargs)
-
NFSPROC_READLINK(fhandle)
-
NFSPROC_READ(readargs)
-
NFSPROC_WRITECACHE(void)
-
NFSPROC_WRITE(writeargs)
-
NFSPROC_CREATE(createargs)
-
NFSPROC_REMOVE(diropargs)
-
NFSPROC_RENAME(renameargs)
-
NFSPROC_LINK(linkargs)
-
NFSPROC_SYMLINK(symlinkargs)
-
NFSPROC_MKDIR(createargs)
-
NFSPROC_RMDIR(diropargs)
-
NFSPROC_READDIR(readdirargs)
-
NFSPROC_READDIR(readdirargs)
NFS Mount Protocol
Basic Data Types
-
fhandle - The type "fhandle" is
the file handle that the server passes to the client. All file operations
are done using file handles to refer to a file or directory. The
file handle can contain whatever information the server needs to distinguish
an individual file.
-
fhstatus - The type "fhstatus"
is a union. If a "status" of zero is returned, the call completed
successfully, and a file handle for the "directory" follows. A non-zero
status indicates some sort of error.
-
dirpath - The type "dirpath" is
a server pathname of a directory.
-
name - The type "name" is an arbitrary
string used for various names.
Server Procedures
-
MOUNTPROC_NULL(void)
-
MOUNTPROC_DUMP(void)
-
MOUNTPROC_UMNT(dirpath)
-
MOUNTPROC_UMNTALL(void)
-
MOUNTPROC_EXPORT(void)
Last Updated: 5th September 1997 by Mark
Baker