O'Reilly logo

UNIX Filesystems: Evolution, Design, and Implementation by Steve D. Pate

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Pre-2.4 Linux Filesystem Support

The Linux community named their filesystem architecture the Virtual File System Switch, or Linux VFS which is a little of a misnomer because it was substantially different from the Sun VFS/vnode architecture and the SVR4 VFS architecture that preceded it. However, as with all POSIX-compliant, UNIX-like operating systems, there are many similarities between Linux and other UNIX variants.

The following sections describe the earlier implementations of Linux prior to the 2.4 kernel released, generally around the 1.2 timeframe. Later on, the differences introduced with the 2.4 kernel are highlighted with a particular emphasis on the style of I/O, which changed substantially.

For further details on the earlier Linux kernels see [BECK96]. For details on Linux filesystems, [BAR01] contains information about the filesystem architecture as well as details about some of the newer filesystem types supported on Linux.

Per-Process Linux Filesystem Structures

The main structures used in construction of the Linux VFS are shown in Figure 8.4 and are described in detail below.

Linux processes are defined by the task_struct structure, which contains information used for filesystem-related operations as well as the list of open file descriptors. The file-related fields are as follows:

unsigned short  umask;
struct inode    *root;
struct inode    *pwd;

The umask field is used in response to calls to set the umask. The root and pwd fields hold the root and current working ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required