xref: /linux/Documentation/filesystems/ext4/blocks.rst (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
18a98ec7cSDarrick J. Wong.. SPDX-License-Identifier: GPL-2.0
28a98ec7cSDarrick J. Wong
38a98ec7cSDarrick J. WongBlocks
48a98ec7cSDarrick J. Wong------
58a98ec7cSDarrick J. Wong
68a98ec7cSDarrick J. Wongext4 allocates storage space in units of “blocks”. A block is a group of
78a98ec7cSDarrick J. Wongsectors between 1KiB and 64KiB, and the number of sectors must be an
88a98ec7cSDarrick J. Wongintegral power of 2. Blocks are in turn grouped into larger units called
98a98ec7cSDarrick J. Wongblock groups. Block size is specified at mkfs time and typically is
108a98ec7cSDarrick J. Wong4KiB. You may experience mounting problems if block size is greater than
118a98ec7cSDarrick J. Wongpage size (i.e. 64KiB blocks on a i386 which only has 4KiB memory
128a98ec7cSDarrick J. Wongpages). By default a filesystem can contain 2^32 blocks; if the '64bit'
13219db95bSAyush Ranjanfeature is enabled, then a filesystem can have 2^64 blocks. The location
14219db95bSAyush Ranjanof structures is stored in terms of the block number the structure lives
15219db95bSAyush Ranjanin and not the absolute offset on disk.
168a98ec7cSDarrick J. Wong
178a98ec7cSDarrick J. WongFor 32-bit filesystems, limits are as follows:
188a98ec7cSDarrick J. Wong
198a98ec7cSDarrick J. Wong.. list-table::
208a98ec7cSDarrick J. Wong   :widths: 1 1 1 1 1
218a98ec7cSDarrick J. Wong   :header-rows: 1
228a98ec7cSDarrick J. Wong
238a98ec7cSDarrick J. Wong   * - Item
248a98ec7cSDarrick J. Wong     - 1KiB
258a98ec7cSDarrick J. Wong     - 2KiB
268a98ec7cSDarrick J. Wong     - 4KiB
278a98ec7cSDarrick J. Wong     - 64KiB
288a98ec7cSDarrick J. Wong   * - Blocks
298a98ec7cSDarrick J. Wong     - 2^32
308a98ec7cSDarrick J. Wong     - 2^32
318a98ec7cSDarrick J. Wong     - 2^32
328a98ec7cSDarrick J. Wong     - 2^32
338a98ec7cSDarrick J. Wong   * - Inodes
348a98ec7cSDarrick J. Wong     - 2^32
358a98ec7cSDarrick J. Wong     - 2^32
368a98ec7cSDarrick J. Wong     - 2^32
378a98ec7cSDarrick J. Wong     - 2^32
388a98ec7cSDarrick J. Wong   * - File System Size
398a98ec7cSDarrick J. Wong     - 4TiB
408a98ec7cSDarrick J. Wong     - 8TiB
418a98ec7cSDarrick J. Wong     - 16TiB
42*688b0d85Slianzhi chang     - 256TiB
438a98ec7cSDarrick J. Wong   * - Blocks Per Block Group
448a98ec7cSDarrick J. Wong     - 8,192
458a98ec7cSDarrick J. Wong     - 16,384
468a98ec7cSDarrick J. Wong     - 32,768
478a98ec7cSDarrick J. Wong     - 524,288
488a98ec7cSDarrick J. Wong   * - Inodes Per Block Group
498a98ec7cSDarrick J. Wong     - 8,192
508a98ec7cSDarrick J. Wong     - 16,384
518a98ec7cSDarrick J. Wong     - 32,768
528a98ec7cSDarrick J. Wong     - 524,288
538a98ec7cSDarrick J. Wong   * - Block Group Size
548a98ec7cSDarrick J. Wong     - 8MiB
558a98ec7cSDarrick J. Wong     - 32MiB
568a98ec7cSDarrick J. Wong     - 128MiB
578a98ec7cSDarrick J. Wong     - 32GiB
588a98ec7cSDarrick J. Wong   * - Blocks Per File, Extents
598a98ec7cSDarrick J. Wong     - 2^32
608a98ec7cSDarrick J. Wong     - 2^32
618a98ec7cSDarrick J. Wong     - 2^32
628a98ec7cSDarrick J. Wong     - 2^32
638a98ec7cSDarrick J. Wong   * - Blocks Per File, Block Maps
648a98ec7cSDarrick J. Wong     - 16,843,020
658a98ec7cSDarrick J. Wong     - 134,480,396
668a98ec7cSDarrick J. Wong     - 1,074,791,436
678a98ec7cSDarrick J. Wong     - 4,398,314,962,956 (really 2^32 due to field size limitations)
688a98ec7cSDarrick J. Wong   * - File Size, Extents
698a98ec7cSDarrick J. Wong     - 4TiB
708a98ec7cSDarrick J. Wong     - 8TiB
718a98ec7cSDarrick J. Wong     - 16TiB
728a98ec7cSDarrick J. Wong     - 256TiB
738a98ec7cSDarrick J. Wong   * - File Size, Block Maps
748a98ec7cSDarrick J. Wong     - 16GiB
758a98ec7cSDarrick J. Wong     - 256GiB
768a98ec7cSDarrick J. Wong     - 4TiB
778a98ec7cSDarrick J. Wong     - 256TiB
788a98ec7cSDarrick J. Wong
798a98ec7cSDarrick J. WongFor 64-bit filesystems, limits are as follows:
808a98ec7cSDarrick J. Wong
818a98ec7cSDarrick J. Wong.. list-table::
828a98ec7cSDarrick J. Wong   :widths: 1 1 1 1 1
838a98ec7cSDarrick J. Wong   :header-rows: 1
848a98ec7cSDarrick J. Wong
858a98ec7cSDarrick J. Wong   * - Item
868a98ec7cSDarrick J. Wong     - 1KiB
878a98ec7cSDarrick J. Wong     - 2KiB
888a98ec7cSDarrick J. Wong     - 4KiB
898a98ec7cSDarrick J. Wong     - 64KiB
908a98ec7cSDarrick J. Wong   * - Blocks
918a98ec7cSDarrick J. Wong     - 2^64
928a98ec7cSDarrick J. Wong     - 2^64
938a98ec7cSDarrick J. Wong     - 2^64
948a98ec7cSDarrick J. Wong     - 2^64
958a98ec7cSDarrick J. Wong   * - Inodes
968a98ec7cSDarrick J. Wong     - 2^32
978a98ec7cSDarrick J. Wong     - 2^32
988a98ec7cSDarrick J. Wong     - 2^32
998a98ec7cSDarrick J. Wong     - 2^32
1008a98ec7cSDarrick J. Wong   * - File System Size
1018a98ec7cSDarrick J. Wong     - 16ZiB
1028a98ec7cSDarrick J. Wong     - 32ZiB
1038a98ec7cSDarrick J. Wong     - 64ZiB
1048a98ec7cSDarrick J. Wong     - 1YiB
1058a98ec7cSDarrick J. Wong   * - Blocks Per Block Group
1068a98ec7cSDarrick J. Wong     - 8,192
1078a98ec7cSDarrick J. Wong     - 16,384
1088a98ec7cSDarrick J. Wong     - 32,768
1098a98ec7cSDarrick J. Wong     - 524,288
1108a98ec7cSDarrick J. Wong   * - Inodes Per Block Group
1118a98ec7cSDarrick J. Wong     - 8,192
1128a98ec7cSDarrick J. Wong     - 16,384
1138a98ec7cSDarrick J. Wong     - 32,768
1148a98ec7cSDarrick J. Wong     - 524,288
1158a98ec7cSDarrick J. Wong   * - Block Group Size
1168a98ec7cSDarrick J. Wong     - 8MiB
1178a98ec7cSDarrick J. Wong     - 32MiB
1188a98ec7cSDarrick J. Wong     - 128MiB
1198a98ec7cSDarrick J. Wong     - 32GiB
1208a98ec7cSDarrick J. Wong   * - Blocks Per File, Extents
1218a98ec7cSDarrick J. Wong     - 2^32
1228a98ec7cSDarrick J. Wong     - 2^32
1238a98ec7cSDarrick J. Wong     - 2^32
1248a98ec7cSDarrick J. Wong     - 2^32
1258a98ec7cSDarrick J. Wong   * - Blocks Per File, Block Maps
1268a98ec7cSDarrick J. Wong     - 16,843,020
1278a98ec7cSDarrick J. Wong     - 134,480,396
1288a98ec7cSDarrick J. Wong     - 1,074,791,436
1298a98ec7cSDarrick J. Wong     - 4,398,314,962,956 (really 2^32 due to field size limitations)
1308a98ec7cSDarrick J. Wong   * - File Size, Extents
1318a98ec7cSDarrick J. Wong     - 4TiB
1328a98ec7cSDarrick J. Wong     - 8TiB
1338a98ec7cSDarrick J. Wong     - 16TiB
1348a98ec7cSDarrick J. Wong     - 256TiB
1358a98ec7cSDarrick J. Wong   * - File Size, Block Maps
1368a98ec7cSDarrick J. Wong     - 16GiB
1378a98ec7cSDarrick J. Wong     - 256GiB
1388a98ec7cSDarrick J. Wong     - 4TiB
1398a98ec7cSDarrick J. Wong     - 256TiB
1408a98ec7cSDarrick J. Wong
1418a98ec7cSDarrick J. WongNote: Files not using extents (i.e. files using block maps) must be
1428a98ec7cSDarrick J. Wongplaced within the first 2^32 blocks of a filesystem. Files with extents
1438a98ec7cSDarrick J. Wongmust be placed within the first 2^48 blocks of a filesystem. It's not
1448a98ec7cSDarrick J. Wongclear what happens with larger filesystems.
145