{"id":548,"date":"2011-07-09T12:49:22","date_gmt":"2011-07-09T04:49:22","guid":{"rendered":"http:\/\/blog.dynox.cn\/?p=548"},"modified":"2011-07-09T12:51:05","modified_gmt":"2011-07-09T04:51:05","slug":"flexible-block-groups-flex_bg","status":"publish","type":"post","link":"https:\/\/blog.dynox.cn\/?p=548","title":{"rendered":"Flexible Block Groups (flex_bg)"},"content":{"rendered":"<div class=\"gruber-markdown\"><p>\u6628\u5929\u665a\u4e0a\u7814\u7a76\u4e86\u4e00\u4e0be2fsprogs\u4e2d\u5173\u4e8eflex_bg\u7684\u5b9e\u73b0\u3002flex_bg\uff0c\u5373Flexible Block Groups\uff0c\u662fEXT4\u6587\u4ef6\u7cfb\u7edf\u5f15\u5165\u7684\u4e00\u4e2afeature\u3002\u7b80\u8a00\u4e4b\u5c31\u662f\u5c06\u4e4b\u524dEXT3\u4e2d\u5206\u6563\u5728\u5404\u4e2agroup\u4e2d\u7684bitmaps (block bitmap, inode bitmap)\u53cainode table\u5206\u522b\u96c6\u4e2d\u8d77\u6765\u7ba1\u7406\u3002\u96c6\u4e2d\u8d77\u6765\u81f3\u5c11\u6709\u4e24\u4e2a\u597d\u5904\uff1a<\/p>  <ul>   <li>\u51cf\u5c11\u4e86\u78c1\u76d8\u5bfb\u9053\u64cd\u4f5c\uff1a\u5c06\u9891\u7e41\u8bbf\u95ee\u7684block group\u8d44\u6e90\u653e\u5230\u6709\u78c1\u76d8\u4e0a\u4e00\u5757\u8fde\u7eed\u533a\u57df<\/li>    <li>\u53ef\u4ee5\u4e00\u6b21\u6027\u5206\u914d\u66f4\u591ablock\u7ed9\u4e00\u4e2aextent\/run\uff1a\u4ee5\u524d\u7684group\u5c06\u78c1\u76d8\u7a7a\u95f4\u5212\u5206\u4e3a\u4f17\u591a\u4e0d\u8fde\u7eed\u7684\u7a7a\u95f4\u7247\u6bb5\uff0c\u4ece\u800c\u5bfc\u81f4\u4e00\u4e2a\u5206\u914d\u8bf7\u6c42\u6700\u5927\u80fd\u53ea\u7533\u8bf7\u5230\u4e00\u4e2agroup\u6240\u7ba1\u7406\u7684blocks\u3002\u4ee5\u6700\u5e38\u7528\u76844K BLOCK_SIZE\u6765\u8bf4\uff0c\u4e00\u4e2agroup\u6700\u591a\u80fd\u7ba1\u74064K*8=32K\u4e2ablock\uff08128M\uff09\uff0c\u4f46\u9664\u53bbgroup\u672c\u8eab\u7684metadata (bitmap blocks: 2&#160; inodes table: (32768 * 128&#160; + 4095)\/4096 = 1024)\uff0c\u8fd8\u80fd\u5269\u4e0b31742\u4e2ablock\u7a7a\u95f2\uff0c\u5982\u679c\u6b64group\u5305\u542bspare_super\uff0c\u8fd8\u8981\u51cf\u53bbsuper_block\u6240\u5360\u7528\u7684\u4e00\u4e2ablock\u3002<\/li> <\/ul>  <p>\u660e\u767d\u4e86\u4e0a\u9762\u7684\u95ee\u9898\uff0c\u518d\u6765\u770bflex_bg\u7684\u5b9e\u73b0\u5c31\u6bd4\u8f83\u5bb9\u6613\u4e86\u3002\u5728\u521b\u5efaEXT4\u5377\u65f6\uff0cmke2fs\u4f1a\u6839\u636e\u7528\u6237\u6307\u5b9a\u7684flex block group\u5927\u5c0f\uff08flex_bg_size\u5fc5\u987b\u4e3a\uff0c2\u7684\u5e42\uff0c\u5355\u4f4d\u4e3agroup\uff09\uff0c\u5c06\u6700\u524d\u7684flex_bg_size\u4e2agroups\u96c6\u4e2d\u8d77\u6765\u7ba1\u7406\u3002\u770b\u4e0b\u9762\u7684\u4f8b\u5b50\uff1a<\/p>  <p>\u5b9e\u9a8c\u7528\u5f97\u662f320G\u7684\u786c\u76d8\uff0c\u53ea\u6709\u4e00\u4e2a\u5206\u533a\uff1a<\/p>  <blockquote>   <p>[root@srv ~]# fdisk -l \/dev\/sdc<\/p>    <p>Disk \/dev\/sdc: 320.1 GB, 320072931328 bytes     <br \/>255 heads, 63 sectors\/track, 38913 cylinders      <br \/>Units = cylinders of 16065 * 512 = 8225280 bytes      <br \/>Sector size (logical\/physical): 512 bytes \/ 512 bytes      <br \/>I\/O size (minimum\/optimal): 512 bytes \/ 512 bytes      <br \/>Disk identifier: 0xe4afe4af<\/p>    <p>&#160;&#160; Device Boot&#160;&#160;&#160;&#160;&#160; Start&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; End&#160;&#160;&#160;&#160;&#160; Blocks&#160;&#160; Id&#160; System     <br \/>\/dev\/sdc1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1&#160;&#160;&#160;&#160;&#160;&#160; 38914&#160;&#160; 312568832&#160;&#160;&#160; 7&#160; HPFS\/NTFS<\/p> <\/blockquote>  <p>\u6307\u5b9aflex_bg_size\u4e3a256\u4e2agroup:<\/p>  <blockquote>   <p>[root@srv ~]# mke2fs -j -O flex_bg,extents,uninit_bg -G 256 -I 256 \/dev\/sdc<\/p> <\/blockquote>  <p>\u518d\u7528debugfs\u6765\u67e5\u770b\u65b0\u5efaEXT4\u5377group descriptions:<\/p>  <blockquote>   <p>[root@srv ~]# debugfs \/dev\/sdc1<\/p>    <p>debugfs:&#160; stats     <br \/>Filesystem volume name:&#160;&#160; &lt;none&gt;      <br \/>Last mounted on:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;not available&gt;      <br \/>Filesystem UUID:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 5be014f5-5a27-4cf1-81dc-d1f55e71dfdd      <br \/>Filesystem magic number:&#160; 0xEF53      <br \/>Filesystem revision #:&#160;&#160;&#160; 1 (dynamic)      <br \/>Filesystem features:&#160;&#160;&#160;&#160;&#160; has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file uninit_bg      <br \/>Filesystem flags:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; signed_directory_hash       <br \/>Default mount options:&#160;&#160;&#160; (none)      <br \/>Filesystem state:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; clean      <br \/>Errors behavior:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Continue      <br \/>Filesystem OS type:&#160;&#160;&#160;&#160;&#160;&#160; Linux      <br \/>Inode count:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 19537920      <br \/>Block count:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 78142208      <br \/>Reserved block count:&#160;&#160;&#160;&#160; 3907110      <br \/>Free blocks:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 76867144      <br \/>Free inodes:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 19537909      <br \/>First block:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0      <br \/>Block size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4096      <br \/>Fragment size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4096      <br \/>Reserved GDT blocks:&#160;&#160;&#160;&#160;&#160; 1005      <br \/>Blocks per group:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 32768      <br \/>Fragments per group:&#160;&#160;&#160;&#160;&#160; 32768      <br \/>Inodes per group:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 8192      <br \/>Inode blocks per group:&#160;&#160; 512      <br \/>Flex block group size:&#160;&#160;&#160; 256      <br \/>Filesystem created:&#160;&#160;&#160;&#160;&#160;&#160; Fri Jul&#160; 8 23:02:47 2011      <br \/>Last mount time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; n\/a      <br \/>Last write time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fri Jul&#160; 8 23:06:48 2011      <br \/>Mount count:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0      <br \/>Maximum mount count:&#160;&#160;&#160;&#160;&#160; 20      <br \/>Last checked:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fri Jul&#160; 8 23:02:47 2011      <br \/>Check interval:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 15552000 (6 months)      <br \/>Next check after:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Wed Jan&#160; 4 23:02:47 2012      <br \/>Lifetime writes:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4904 MB      <br \/>Reserved blocks uid:&#160;&#160;&#160;&#160;&#160; 0 (user root)      <br \/>Reserved blocks gid:&#160;&#160;&#160;&#160;&#160; 0 (group root)      <br \/>First inode:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 11      <br \/>Inode size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 256      <br \/>Required extra isize:&#160;&#160;&#160;&#160; 28      <br \/>Desired extra isize:&#160;&#160;&#160;&#160;&#160; 28      <br \/>Journal inode:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 8      <br \/>Default directory hash:&#160;&#160; half_md4      <br \/>Directory Hash Seed:&#160;&#160;&#160;&#160;&#160; 63bc1c54-cf76-4546-99a3-7aca37c86fc1      <br \/>Journal backup:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; inode blocks      <br \/>Directories:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2      <br \/> Group&#160; 0: block bitmap at <strong>1025<\/strong>, inode bitmap at <strong>1281<\/strong>, inode table at <strong>1537<\/strong>      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4089 free blocks, 8181 free inodes, 2 used directories, 8181 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Checksum 0x2e4a]      <br \/> Group&#160; 1: block bitmap at <strong>1026<\/strong>, inode bitmap at <strong>1282<\/strong>, inode table at <strong>2049<\/strong>      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0x4578]      <br \/> Group&#160; 2: block bitmap at <strong>1027<\/strong>, inode bitmap at <strong>1283<\/strong>, inode table at <strong>2561<\/strong>      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4095 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0xa897]<\/p>    <p>\u2026\u2026<\/p>    <p>Group 255: block bitmap at <strong>1280<\/strong>, inode bitmap at <strong>1536<\/strong>, inode table at <strong>142337<\/strong>      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 32768 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Block not init, Checksum 0xcd10]      <br \/> Group 256: block bitmap at <strong>8388608<\/strong>, inode bitmap at <strong>8388864<\/strong>, inode table at <strong>8389120       <br \/><\/strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0x42cd]<\/p>    <p>\u2026\u2026<\/p>    <p>Group 2384: block bitmap at <strong>75497552<\/strong>, inode bitmap at <strong>75497808<\/strong>, inode table at <strong>75538944       <br \/><\/strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 23296 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0xd1d2]<\/p> <\/blockquote>  <p>\u53ef\u4ee5\u770b\u51fa\uff0cgroup 0-255\u7684block bitmap\uff0cinode bitmap\u53cainodes table\u662f\u8fde\u5728\u4e00\u8d77\u7684\uff0c\u5982block bitmap\u662f\u4ece1025\u5f00\u59cb\u52301280\uff0cinode bitmap\u5219\u4ece1281\u5f00\u59cb\uff0c\u76f4\u52301536\u7ed3\u675f\u3002inodes talbe\u4e5f\u540c\u6837\u3002\u540e\u9762\u4ecegroup 256\u5f00\u59cb\uff0c\u53c8\u662f\u5e38\u89c4\u7684\u4e0d\u8fde\u7eed\u65b9\u5f0f\u3002<\/p>  <p>\u4e0d\u59a8\u518d\u505a\u4e2a\u5b9e\u9a8c\uff0c\u5c06\u6307\u5b9aflex_bg_size\u8bbe\u4e3a4096,\u5c06\u6240\u6709group\uff08\u51712385\u4e2a\uff09\u90fd\u5305\u542b\u8fdbflexible block group:<\/p>  <blockquote>   <p>[root@srv ~]# mke2fs -j -O flex_bg,extents,uninit_bg -G 4096 -I 256 \/dev\/sdc<\/p> <\/blockquote>  <p>\u542f\u52a8debugfs\u6765\u67e5\u770bgroup descriptions:<\/p>  <blockquote>   <p>[root@srv ~]# debugfs \/dev\/sdc1<\/p>    <p>Filesystem volume name:&#160;&#160; &lt;none&gt;     <br \/>Last mounted on:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;not available&gt;      <br \/>Filesystem UUID:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ab2057e4-2510-4c25-bd72-c2867bebb294      <br \/>Filesystem magic number:&#160; 0xEF53      <br \/>Filesystem revision #:&#160;&#160;&#160; 1 (dynamic)      <br \/>Filesystem features:&#160;&#160;&#160;&#160;&#160; has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file uninit_bg      <br \/>Filesystem flags:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; signed_directory_hash       <br \/>Default mount options:&#160;&#160;&#160; (none)      <br \/>Filesystem state:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; clean      <br \/>Errors behavior:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Continue      <br \/>Filesystem OS type:&#160;&#160;&#160;&#160;&#160;&#160; Linux      <br \/>Inode count:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 19537920      <br \/>Block count:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 78142208      <br \/>Reserved block count:&#160;&#160;&#160;&#160; 3907110      <br \/>Free blocks:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 76867144      <br \/>Free inodes:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 19537909      <br \/>First block:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0      <br \/>Block size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4096      <br \/>Fragment size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4096      <br \/>Reserved GDT blocks:&#160;&#160;&#160;&#160;&#160; 1005      <br \/>Blocks per group:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 32768      <br \/>Fragments per group:&#160;&#160;&#160;&#160;&#160; 32768      <br \/>Inodes per group:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 8192      <br \/>Inode blocks per group:&#160;&#160; 512      <br \/>Flex block group size:&#160;&#160;&#160; 4096      <br \/>Filesystem created:&#160;&#160;&#160;&#160;&#160;&#160; Fri Jul&#160; 8 23:14:02 2011      <br \/>Last mount time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; n\/a      <br \/>Last write time:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fri Jul&#160; 8 23:17:59 2011      <br \/>Mount count:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0      <br \/>Maximum mount count:&#160;&#160;&#160;&#160;&#160; 39      <br \/>Last checked:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Fri Jul&#160; 8 23:14:02 2011      <br \/>Check interval:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 15552000 (6 months)      <br \/>Next check after:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Wed Jan&#160; 4 23:14:02 2012      <br \/>Lifetime writes:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4904 MB      <br \/>Reserved blocks uid:&#160;&#160;&#160;&#160;&#160; 0 (user root)      <br \/>Reserved blocks gid:&#160;&#160;&#160;&#160;&#160; 0 (group root)      <br \/>First inode:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 11      <br \/>Inode size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 256      <br \/>Required extra isize:&#160;&#160;&#160;&#160; 28      <br \/>Desired extra isize:&#160;&#160;&#160;&#160;&#160; 28      <br \/>Journal inode:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 8      <br \/>Default directory hash:&#160;&#160; half_md4      <br \/>Directory Hash Seed:&#160;&#160;&#160;&#160;&#160; f6f4dbbc-3673-4b58-b11c-2fbae02d7ee3      <br \/>Journal backup:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; inode blocks      <br \/>Directories:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2      <br \/> Group&#160; 0: block bitmap at <strong>1025<\/strong>, inode bitmap at <strong>5121<\/strong>, inode table at <strong>9217       <br \/><\/strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 7511 free blocks, 8181 free inodes, 2 used directories, 8181 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Checksum 0xee4f]      <br \/> Group&#160; 1: block bitmap at <strong>1026<\/strong>, inode bitmap at <strong>5122<\/strong>, inode table at<strong> 9729       <br \/><\/strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0x255d]      <br \/> Group&#160; 2: block bitmap at <strong>1027<\/strong>, inode bitmap at <strong>5123<\/strong>, inode table at <strong>10241       <br \/><\/strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4095 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0x047e]<\/p>    <p>\u2026\u2026<\/p>    <p>Group 2384: block bitmap at <strong>3409<\/strong>, inode bitmap at <strong>7505<\/strong>, inode table at <strong>1265665       <br \/><\/strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 23296 free blocks, 8192 free inodes, 0 used directories, 8192 unused inodes      <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [Inode not init, Checksum 0x8406]<\/p> <\/blockquote>  <p>\u770b\u5f97\u51fa\uff0c\u6574\u4e2aflexible block group\u88ab\u5206\u9694\u4e09\u90e8\u5206\uff0c\u7b2c\u4e00\u90e8\u5206\u662f\u6240\u6709\u7684block bitmap\uff0c\u7b2c\u4e8c\u90e8\u5206\u662f\u6240\u6709\u7684inode bitmap\uff0c\u6700\u540e\u662f\u6240\u6709\u7684inodes table\u3002\u6240\u6709\u7684\u8868\u9879\u90fd\u662f\u8fde\u7eed\u5b58\u653e\u4e8e\u78c1\u76d8\u4e0a\u7684\u3002 <\/p><\/div>","protected":false},"excerpt":{"rendered":"<p>\u6628\u5929\u665a\u4e0a\u7814\u7a76\u4e86\u4e00\u4e0be2fsprogs\u4e2d\u5173\u4e8eflex_bg\u7684\u5b9e\u73b0\u3002flex_bg\uff0c\u5373Flexible Block [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[9],"tags":[234,233,235],"views":4889,"_links":{"self":[{"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=\/wp\/v2\/posts\/548"}],"collection":[{"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=548"}],"version-history":[{"count":1,"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=\/wp\/v2\/posts\/548\/revisions"}],"predecessor-version":[{"id":549,"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=\/wp\/v2\/posts\/548\/revisions\/549"}],"wp:attachment":[{"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.dynox.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}