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