xref: /linux/Documentation/filesystems/ext4/blocks.rst (revision 8a98ec7c7b3901330a036af0f62f523c31d763da)
1*8a98ec7cSDarrick J. Wong.. SPDX-License-Identifier: GPL-2.0
2*8a98ec7cSDarrick J. Wong
3*8a98ec7cSDarrick J. WongBlocks
4*8a98ec7cSDarrick J. Wong------
5*8a98ec7cSDarrick J. Wong
6*8a98ec7cSDarrick J. Wongext4 allocates storage space in units of “blocks”. A block is a group of
7*8a98ec7cSDarrick J. Wongsectors between 1KiB and 64KiB, and the number of sectors must be an
8*8a98ec7cSDarrick J. Wongintegral power of 2. Blocks are in turn grouped into larger units called
9*8a98ec7cSDarrick J. Wongblock groups. Block size is specified at mkfs time and typically is
10*8a98ec7cSDarrick J. Wong4KiB. You may experience mounting problems if block size is greater than
11*8a98ec7cSDarrick J. Wongpage size (i.e. 64KiB blocks on a i386 which only has 4KiB memory
12*8a98ec7cSDarrick J. Wongpages). By default a filesystem can contain 2^32 blocks; if the '64bit'
13*8a98ec7cSDarrick J. Wongfeature is enabled, then a filesystem can have 2^64 blocks.
14*8a98ec7cSDarrick J. Wong
15*8a98ec7cSDarrick J. WongFor 32-bit filesystems, limits are as follows:
16*8a98ec7cSDarrick J. Wong
17*8a98ec7cSDarrick J. Wong.. list-table::
18*8a98ec7cSDarrick J. Wong   :widths: 1 1 1 1 1
19*8a98ec7cSDarrick J. Wong   :header-rows: 1
20*8a98ec7cSDarrick J. Wong
21*8a98ec7cSDarrick J. Wong   * - Item
22*8a98ec7cSDarrick J. Wong     - 1KiB
23*8a98ec7cSDarrick J. Wong     - 2KiB
24*8a98ec7cSDarrick J. Wong     - 4KiB
25*8a98ec7cSDarrick J. Wong     - 64KiB
26*8a98ec7cSDarrick J. Wong   * - Blocks
27*8a98ec7cSDarrick J. Wong     - 2^32
28*8a98ec7cSDarrick J. Wong     - 2^32
29*8a98ec7cSDarrick J. Wong     - 2^32
30*8a98ec7cSDarrick J. Wong     - 2^32
31*8a98ec7cSDarrick J. Wong   * - Inodes
32*8a98ec7cSDarrick J. Wong     - 2^32
33*8a98ec7cSDarrick J. Wong     - 2^32
34*8a98ec7cSDarrick J. Wong     - 2^32
35*8a98ec7cSDarrick J. Wong     - 2^32
36*8a98ec7cSDarrick J. Wong   * - File System Size
37*8a98ec7cSDarrick J. Wong     - 4TiB
38*8a98ec7cSDarrick J. Wong     - 8TiB
39*8a98ec7cSDarrick J. Wong     - 16TiB
40*8a98ec7cSDarrick J. Wong     - 256PiB
41*8a98ec7cSDarrick J. Wong   * - Blocks Per Block Group
42*8a98ec7cSDarrick J. Wong     - 8,192
43*8a98ec7cSDarrick J. Wong     - 16,384
44*8a98ec7cSDarrick J. Wong     - 32,768
45*8a98ec7cSDarrick J. Wong     - 524,288
46*8a98ec7cSDarrick J. Wong   * - Inodes Per Block Group
47*8a98ec7cSDarrick J. Wong     - 8,192
48*8a98ec7cSDarrick J. Wong     - 16,384
49*8a98ec7cSDarrick J. Wong     - 32,768
50*8a98ec7cSDarrick J. Wong     - 524,288
51*8a98ec7cSDarrick J. Wong   * - Block Group Size
52*8a98ec7cSDarrick J. Wong     - 8MiB
53*8a98ec7cSDarrick J. Wong     - 32MiB
54*8a98ec7cSDarrick J. Wong     - 128MiB
55*8a98ec7cSDarrick J. Wong     - 32GiB
56*8a98ec7cSDarrick J. Wong   * - Blocks Per File, Extents
57*8a98ec7cSDarrick J. Wong     - 2^32
58*8a98ec7cSDarrick J. Wong     - 2^32
59*8a98ec7cSDarrick J. Wong     - 2^32
60*8a98ec7cSDarrick J. Wong     - 2^32
61*8a98ec7cSDarrick J. Wong   * - Blocks Per File, Block Maps
62*8a98ec7cSDarrick J. Wong     - 16,843,020
63*8a98ec7cSDarrick J. Wong     - 134,480,396
64*8a98ec7cSDarrick J. Wong     - 1,074,791,436
65*8a98ec7cSDarrick J. Wong     - 4,398,314,962,956 (really 2^32 due to field size limitations)
66*8a98ec7cSDarrick J. Wong   * - File Size, Extents
67*8a98ec7cSDarrick J. Wong     - 4TiB
68*8a98ec7cSDarrick J. Wong     - 8TiB
69*8a98ec7cSDarrick J. Wong     - 16TiB
70*8a98ec7cSDarrick J. Wong     - 256TiB
71*8a98ec7cSDarrick J. Wong   * - File Size, Block Maps
72*8a98ec7cSDarrick J. Wong     - 16GiB
73*8a98ec7cSDarrick J. Wong     - 256GiB
74*8a98ec7cSDarrick J. Wong     - 4TiB
75*8a98ec7cSDarrick J. Wong     - 256TiB
76*8a98ec7cSDarrick J. Wong
77*8a98ec7cSDarrick J. WongFor 64-bit filesystems, limits are as follows:
78*8a98ec7cSDarrick J. Wong
79*8a98ec7cSDarrick J. Wong.. list-table::
80*8a98ec7cSDarrick J. Wong   :widths: 1 1 1 1 1
81*8a98ec7cSDarrick J. Wong   :header-rows: 1
82*8a98ec7cSDarrick J. Wong
83*8a98ec7cSDarrick J. Wong   * - Item
84*8a98ec7cSDarrick J. Wong     - 1KiB
85*8a98ec7cSDarrick J. Wong     - 2KiB
86*8a98ec7cSDarrick J. Wong     - 4KiB
87*8a98ec7cSDarrick J. Wong     - 64KiB
88*8a98ec7cSDarrick J. Wong   * - Blocks
89*8a98ec7cSDarrick J. Wong     - 2^64
90*8a98ec7cSDarrick J. Wong     - 2^64
91*8a98ec7cSDarrick J. Wong     - 2^64
92*8a98ec7cSDarrick J. Wong     - 2^64
93*8a98ec7cSDarrick J. Wong   * - Inodes
94*8a98ec7cSDarrick J. Wong     - 2^32
95*8a98ec7cSDarrick J. Wong     - 2^32
96*8a98ec7cSDarrick J. Wong     - 2^32
97*8a98ec7cSDarrick J. Wong     - 2^32
98*8a98ec7cSDarrick J. Wong   * - File System Size
99*8a98ec7cSDarrick J. Wong     - 16ZiB
100*8a98ec7cSDarrick J. Wong     - 32ZiB
101*8a98ec7cSDarrick J. Wong     - 64ZiB
102*8a98ec7cSDarrick J. Wong     - 1YiB
103*8a98ec7cSDarrick J. Wong   * - Blocks Per Block Group
104*8a98ec7cSDarrick J. Wong     - 8,192
105*8a98ec7cSDarrick J. Wong     - 16,384
106*8a98ec7cSDarrick J. Wong     - 32,768
107*8a98ec7cSDarrick J. Wong     - 524,288
108*8a98ec7cSDarrick J. Wong   * - Inodes Per Block Group
109*8a98ec7cSDarrick J. Wong     - 8,192
110*8a98ec7cSDarrick J. Wong     - 16,384
111*8a98ec7cSDarrick J. Wong     - 32,768
112*8a98ec7cSDarrick J. Wong     - 524,288
113*8a98ec7cSDarrick J. Wong   * - Block Group Size
114*8a98ec7cSDarrick J. Wong     - 8MiB
115*8a98ec7cSDarrick J. Wong     - 32MiB
116*8a98ec7cSDarrick J. Wong     - 128MiB
117*8a98ec7cSDarrick J. Wong     - 32GiB
118*8a98ec7cSDarrick J. Wong   * - Blocks Per File, Extents
119*8a98ec7cSDarrick J. Wong     - 2^32
120*8a98ec7cSDarrick J. Wong     - 2^32
121*8a98ec7cSDarrick J. Wong     - 2^32
122*8a98ec7cSDarrick J. Wong     - 2^32
123*8a98ec7cSDarrick J. Wong   * - Blocks Per File, Block Maps
124*8a98ec7cSDarrick J. Wong     - 16,843,020
125*8a98ec7cSDarrick J. Wong     - 134,480,396
126*8a98ec7cSDarrick J. Wong     - 1,074,791,436
127*8a98ec7cSDarrick J. Wong     - 4,398,314,962,956 (really 2^32 due to field size limitations)
128*8a98ec7cSDarrick J. Wong   * - File Size, Extents
129*8a98ec7cSDarrick J. Wong     - 4TiB
130*8a98ec7cSDarrick J. Wong     - 8TiB
131*8a98ec7cSDarrick J. Wong     - 16TiB
132*8a98ec7cSDarrick J. Wong     - 256TiB
133*8a98ec7cSDarrick J. Wong   * - File Size, Block Maps
134*8a98ec7cSDarrick J. Wong     - 16GiB
135*8a98ec7cSDarrick J. Wong     - 256GiB
136*8a98ec7cSDarrick J. Wong     - 4TiB
137*8a98ec7cSDarrick J. Wong     - 256TiB
138*8a98ec7cSDarrick J. Wong
139*8a98ec7cSDarrick J. WongNote: Files not using extents (i.e. files using block maps) must be
140*8a98ec7cSDarrick J. Wongplaced within the first 2^32 blocks of a filesystem. Files with extents
141*8a98ec7cSDarrick J. Wongmust be placed within the first 2^48 blocks of a filesystem. It's not
142*8a98ec7cSDarrick J. Wongclear what happens with larger filesystems.
143