inode pointer structure
The inode pointer structure is a structure adopted by the inode of a file of the Unix file system for listing the data blocks of a file. It has also been adopted by many related file systems, including ext3, which is popular with Linux users .
structure
In the past, the structure consisted of 11 or 13 pointers, but most modern file systems use 15. These pointers include (assuming 15):
- Twelve pointers that refer directly to data blocks in the file (direct pointers)
- An indirect pointer (a pointer that points to a block of pointers whose pointers point to the data)
- A double indirect pointer (a pointer that points to a block of pointers whose pointer points to another block of pointers whose pointers point to the data in the file)
- A triple indirect pointer (a pointer that points to a block of pointers that points to a block of pointers that points to a block of pointers whose pointers point to the data in the file)
Key functions
Fixed logical block size: The structure is partially shown in the diagram on the right. It allows inodes to write large files in the file system with a fixed logical block size. The central mechanism is that block addresses (also called indirect blocks) are only assigned dynamically, i.e. when required.
Web links
- Ext3 for large file systems. on LWN.net, June 12, 2006.
- Marshall Kirk McKusick , William N. Joy , Samuel J. Leffler, Robert S. Fabry: A Fast File System for UNIX (PDF) February 18, 1984.