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