Knowledge (XXG)

inode pointer structure

Source 📝

25: 90: 184:
The inode pointer structure not only allows for files to easily be allocated to non-contiguous blocks, it also allows the data at a particular location inside a file to be easily located. This is possible because the logical block size is fixed. For example, if each block is 8 kB, file data at 112 kB
193:
Unlike inodes, which are fixed in number and allocated in a special part of the file system, the indirect blocks may be of any number and are allocated in the same part of the file system as data blocks. The number of pointers in the indirect blocks is dependent on the block size and size of block
171:
The structure is partially illustrated in the diagram accompanying this article. The structure allows for inodes to describe very large files in file systems with a fixed logical block size. Central to the mechanism is that blocks of addresses (also called
176:) are only allocated as needed. For example, a 12-block file would be described using just the inode because its blocks fit into the number of direct pointers available. However, a 13-block file needs an indirect block to contain the thirteenth address. 125:
In the past, the structure may have consisted of about twelve pointers, but most modern file systems use fifteen pointers. These pointers consist of (assuming 15 pointers in the inode):
54: 185:
to 120 kB would be pointed to by the third pointer of the first indirect block (assuming twelve direct pointers in the inode pointer structure).
265: 194:
pointers. Example: with a 512-byte block size, and 4-byte block pointers, each indirect block can consist of 128 (512 / 4) pointers.
76: 247: 37: 47: 41: 33: 158:
The levels of indirection indicate the number of pointer that must be followed before reaching actual file data.
58: 210: 227: 110: 235: 106: 259: 239: 211:
https://inst.eecs.berkeley.edu/~cs162/sp20/static/sections/section9-sol.pdf
231: 89: 220: 102: 88: 113:. It is also adopted by many related file systems, including the 114: 18: 16:
Hierarchy/layout for directing inodes in a Unix File System
154:(pointing to a block of doubly indirect pointers) 147:(pointing to a block of single indirect pointers) 133:that directly point to blocks of the file's data 46:but its sources remain unclear because it lacks 8: 77:Learn how and when to remove this message 140:(pointing to a block of direct pointers) 109:(UFS) to list the addresses of a file's 238:; Robert S. Fabry (February 18, 1984). 203: 117:file system, popular with Linux users. 7: 14: 23: 248:Computer Systems Research Group 101:is a structure adopted by the 1: 240:"A Fast File System for UNIX" 266:Unix file system technology 221:Ext3 for large file systems 282: 223:, LWN.net, June 12, 2006. 167:Fixed logical block size 32:This article includes a 152:triply indirect pointer 145:doubly indirect pointer 138:singly indirect pointer 99:inode pointer structure 61:more precise citations. 228:Marshall Kirk McKusick 94: 180:Ease of data location 92: 93:Example of structure 95: 34:list of references 105:of a file in the 87: 86: 79: 273: 252: 244: 236:Samuel J Leffler 213: 208: 107:Unix File System 82: 75: 71: 68: 62: 57:this article by 48:inline citations 27: 26: 19: 281: 280: 276: 275: 274: 272: 271: 270: 256: 255: 242: 226: 217: 216: 209: 205: 200: 191: 189:Indirect blocks 182: 174:indirect blocks 169: 164: 131:direct pointers 123: 83: 72: 66: 63: 52: 38:related reading 28: 24: 17: 12: 11: 5: 279: 277: 269: 268: 258: 257: 254: 253: 232:William N. Joy 224: 215: 214: 202: 201: 199: 196: 190: 187: 181: 178: 168: 165: 163: 160: 156: 155: 148: 141: 134: 122: 119: 85: 84: 42:external links 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 278: 267: 264: 263: 261: 250: 249: 241: 237: 233: 229: 225: 222: 219: 218: 212: 207: 204: 197: 195: 188: 186: 179: 177: 175: 166: 161: 159: 153: 149: 146: 142: 139: 135: 132: 128: 127: 126: 120: 118: 116: 112: 108: 104: 100: 91: 81: 78: 70: 67:February 2012 60: 56: 50: 49: 43: 39: 35: 30: 21: 20: 246: 206: 192: 183: 173: 170: 162:Key features 157: 151: 144: 137: 130: 124: 98: 96: 73: 64: 53:Please help 45: 111:data blocks 59:introducing 198:References 121:Structure 260:Category 55:improve 243:(PDF) 103:inode 40:, or 115:ext3 97:The 129:12 262:: 245:. 234:; 230:; 150:1 143:1 136:1 44:, 36:, 251:. 80:) 74:( 69:) 65:( 51:.

Index

list of references
related reading
external links
inline citations
improve
introducing
Learn how and when to remove this message

inode
Unix File System
data blocks
ext3
https://inst.eecs.berkeley.edu/~cs162/sp20/static/sections/section9-sol.pdf
Ext3 for large file systems
Marshall Kirk McKusick
William N. Joy
Samuel J Leffler
"A Fast File System for UNIX"
Computer Systems Research Group
Category
Unix file system technology

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.