- Timestamp:
-
02/23/10 07:49:11 (14 years ago)
- Author:
-
ChrisJohns
- Comment:
-
/* RFS Structure */
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v8
|
v9
|
|
22 | 22 | |} |
23 | 23 | </blockquote> |
24 | | == Groups == |
| 24 | = Groups = |
25 | 25 | |
26 | 26 | A group is broken up into the block allocation bitmap the inode allocation bitmap, the inodes, and the data blocks. |
… |
… |
|
40 | 40 | |
41 | 41 | The block bitmap contains a single bit for every block in a group. The default format is to allocate the size of a group based on the number of bits that fit into a single block. For example a block of 1024 bytes has 8,192 bits therefore a group can have 8192 blocks including the block bitmap block. The inode bitmap has a bit for ever inode in the group. An inode is the information about a node on the disk. A node is the data that links the elements of the disk together to create directories, files, and nodes as well as hold times and flags. The number of inodes in a group is a format configuration parameter. The default is use 1% of the disk's blocks for inode data. Again with a 1024 byte block size there are 18 inodes per block and 1448 inodes per group. Inodes do not span block boundaries. |
42 | | == Inodes == |
| 42 | = Inodes = |
43 | 43 | |
44 | 44 | |
… |
… |
|
46 | 46 | |
47 | 47 | Inodes hold the number of links to itself. If 0 the inode is not linked and therefore should be marked as free in the group's inode allocator bitmap. An inode can have a number of links or hard links it is not of type directory. Inodes also hold the owner details and the permission bits. These control access to the inode via the operating calls. Finally inodes hold the access, modified and changed times. The access time if the last time the file was read, the modified time the last time file was written to and the changed time the last time the inode was written to. |
48 | | == Device Nodes == |
| 48 | = Device Nodes = |
49 | 49 | |
50 | 50 | |
51 | 51 | A block or character device node is an inode that holds the major and minor device number. These numbers are held in the block map's slots. A directory entry links to the inode therefore giving it a name in the file system. |
52 | | == Directory == |
| 52 | = Directory = |
53 | 53 | |
54 | 54 | |
… |
… |
|
71 | 71 | |
72 | 72 | Directories are maintained unsorted, sparse and not indexed. If directory performance is an issue it can be addressed in future versions. Blocks of directory entried are maintained compacted. As entries are removed the entried in the block are compacted, how-ever intermediate blocks in a block map are not removed and freed when they become empty while trailing empty blocks are. |
73 | | == Regular Files == |
| 73 | = Regular Files = |
74 | 74 | |
75 | 75 | |