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