problem.h revision fa441f91f1dc02f7c72694b5d4f65374b5a18f44
121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * problem.h --- e2fsck problem error codes 321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * 421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Copyright 1996 by Theodore Ts'o 521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * 621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * %Begin-Header% 721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * This file may be redistributed under the terms of the GNU Public 821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * License. 921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * %End-Header% 1021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 1121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 121b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'otypedef __u32 problem_t; 131b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 1421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'ostruct problem_context { 151b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o errcode_t errcode; 1686c627ec1136446409a0170d439e60c148e6eb48Theodore Ts'o ext2_ino_t ino, ino2, dir; 1721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o struct ext2_inode *inode; 1821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o struct ext2_dir_entry *dirent; 1915d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o blk64_t blk, blk2; 209d1bd3de8dd44603a8141dbe4f0b2057dbdc5ea7Theodore Ts'o e2_blkcnt_t blkcount; 213971bfe878d6c30f9b5be3a2c0310943982a4775Theodore Ts'o dgrp_t group; 22b9a64a519af790216b6cd5105ccce55ff7f41a09Theodore Ts'o __u32 csum1, csum2; 23246501c612cb8309dc81b354b785405bbeef05ceTheodore Ts'o __u64 num; 241b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o const char *str; 2521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o}; 2621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 2721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 2821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * We define a set of "latch groups"; these are problems which are 2921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * handled as a set. The user answers once for a particular latch 3021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * group. 3121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 3221afac096df642708ebf63dc4354575883f11174Theodore Ts'o#define PR_LATCH_MASK 0x0ff0 /* Latch mask */ 3321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_LATCH_BLOCK 0x0010 /* Latch for illegal blocks (pass 1) */ 3421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_LATCH_BBLOCK 0x0020 /* Latch for bad block inode blocks (pass 1) */ 351b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_LATCH_IBITMAP 0x0030 /* Latch for pass 5 inode bitmap proc. */ 361b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_LATCH_BBITMAP 0x0040 /* Latch for pass 5 inode bitmap proc. */ 371b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_LATCH_RELOC 0x0050 /* Latch for superblock relocate hint */ 381b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_LATCH_DBLOCK 0x0060 /* Latch for pass 1b dup block headers */ 3921afac096df642708ebf63dc4354575883f11174Theodore Ts'o#define PR_LATCH_LOW_DTIME 0x0070 /* Latch for pass1 orphaned list refugees */ 40da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o#define PR_LATCH_TOOBIG 0x0080 /* Latch for file to big errors */ 41850d05e9aa405497e57c72090b9561af98b1b661Theodore Ts'o#define PR_LATCH_OPTIMIZE_DIR 0x0090 /* Latch for optimize directories */ 4260139154878ebdafd4b372cdcf179c5a957c519dTheodore Ts'o#define PR_LATCH_BG_CHECKSUM 0x00A0 /* Latch for block group checksums */ 4321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 4421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_LATCH(x) ((((x) & PR_LATCH_MASK) >> 4) - 1) 4521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 4621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 471b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o * Latch group descriptor flags 481b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o */ 491b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PRL_YES 0x0001 /* Answer yes */ 501b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PRL_NO 0x0002 /* Answer no */ 511b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PRL_LATCHED 0x0004 /* The latch group is latched */ 521b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PRL_SUPPRESS 0x0008 /* Suppress all latch group questions */ 531b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 541b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PRL_VARIABLE 0x000f /* All the flags that need to be reset */ 551b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 561b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* 5721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pre-Pass 1 errors 5821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 5921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Block bitmap not in group */ 6121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_0_BB_NOT_GROUP 0x000001 6221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode bitmap not in group */ 6421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_0_IB_NOT_GROUP 0x000002 6521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode table not in group */ 6721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_0_ITABLE_NOT_GROUP 0x000003 6821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 691b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Superblock corrupt */ 701b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_SB_CORRUPT 0x000004 711b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 721b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Filesystem size is wrong */ 731b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_FS_SIZE_WRONG 0x000005 741b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 751b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Fragments not supported */ 761b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_NO_FRAGMENTS 0x000006 771b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 781b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad blocks_per_group */ 791b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_BLOCKS_PER_GROUP 0x000007 801b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 811b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad first_data_block */ 821b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_FIRST_DATA_BLOCK 0x000008 831b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 841b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Adding UUID to filesystem */ 851b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_ADD_UUID 0x000009 861b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 87db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Relocate hint */ 881b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_RELOCATE_HINT 0x00000A 891b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 901b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Miscellaneous superblock corruption */ 911b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_MISC_CORRUPT_SUPER 0x00000B 92db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 931b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error determing physical device size of filesystem */ 941b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_0_GETSIZE_ERROR 0x00000C 951b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 96d4b0ce03168d313e89110ab9fbaa6caf616d1786Theodore Ts'o/* Inode count in the superblock incorrect */ 97d4b0ce03168d313e89110ab9fbaa6caf616d1786Theodore Ts'o#define PR_0_INODE_COUNT_WRONG 0x00000D 98d4b0ce03168d313e89110ab9fbaa6caf616d1786Theodore Ts'o 994ea0a1109d761e9caaa53f6fa9e036321826c5faTheodore Ts'o/* The Hurd does not support the filetype feature */ 1004ea0a1109d761e9caaa53f6fa9e036321826c5faTheodore Ts'o#define PR_0_HURD_CLEAR_FILETYPE 0x00000E 1013b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 1023b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o/* Journal inode is invalid */ 1033b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o#define PR_0_JOURNAL_BAD_INODE 0x00000F 1043b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 105adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0eTheodore Ts'o/* The external journal has multiple filesystems (which we can't handle yet) */ 106adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0eTheodore Ts'o#define PR_0_JOURNAL_UNSUPP_MULTIFS 0x000010 1073b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 108adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0eTheodore Ts'o/* Can't find external journal */ 109adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0eTheodore Ts'o#define PR_0_CANT_FIND_JOURNAL 0x000011 1103b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 111adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0eTheodore Ts'o/* External journal has bad superblock */ 112adee8d75db09dc8ecb2a32f59a8c64d3f4c64b0eTheodore Ts'o#define PR_0_EXT_JOURNAL_BAD_SUPER 0x000012 1133b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 1143b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o/* Superblock has a bad journal UUID */ 1153b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o#define PR_0_JOURNAL_BAD_UUID 0x000013 1163b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 1173b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o/* Journal has an unknown superblock type */ 1183b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o#define PR_0_JOURNAL_UNSUPP_SUPER 0x000014 1193b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 1203b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o/* Journal superblock is corrupt */ 1213b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o#define PR_0_JOURNAL_BAD_SUPER 0x000015 1223b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 1233b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o/* Journal superblock is corrupt */ 1243b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o#define PR_0_JOURNAL_HAS_JOURNAL 0x000016 1253b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 1263b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o/* Superblock has recovery flag set but no journal */ 1273b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o#define PR_0_JOURNAL_RECOVER_SET 0x000017 1283b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 129d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o/* Journal has data, but recovery flag is clear */ 130d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o#define PR_0_JOURNAL_RECOVERY_CLEAR 0x000018 1313b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 132d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o/* Ask if we should clear the journal */ 133d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o#define PR_0_JOURNAL_RESET_JOURNAL 0x000019 1343b5386dca8e0008e13351be5de6323576329aa58Theodore Ts'o 135060b5fbf807dca3ce5f977a693ac68e84c03d13eTheodore Ts'o/* Filesystem revision is 0, but feature flags are set */ 136060b5fbf807dca3ce5f977a693ac68e84c03d13eTheodore Ts'o#define PR_0_FS_REV_LEVEL 0x00001A 137060b5fbf807dca3ce5f977a693ac68e84c03d13eTheodore Ts'o 138ecf1b7767e1772f4c6dba8f02026057ed05397bdTheodore Ts'o/* Clearing orphan inode */ 1398394902e04e64ed10ca81e869892c00143ee4931Theodore Ts'o#define PR_0_ORPHAN_CLEAR_INODE 0x000020 140db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 14180bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o/* Illegal block found in orphaned inode */ 142ecf1b7767e1772f4c6dba8f02026057ed05397bdTheodore Ts'o#define PR_0_ORPHAN_ILLEGAL_BLOCK_NUM 0x000021 14380bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o 14480bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o/* Already cleared block found in orphaned inode */ 145ecf1b7767e1772f4c6dba8f02026057ed05397bdTheodore Ts'o#define PR_0_ORPHAN_ALREADY_CLEARED_BLOCK 0x000022 146db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 14780bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o/* Illegal orphan inode in superblock */ 148ecf1b7767e1772f4c6dba8f02026057ed05397bdTheodore Ts'o#define PR_0_ORPHAN_ILLEGAL_HEAD_INODE 0x000023 14980bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o 15080bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o/* Illegal inode in orphaned inode list */ 151ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_0_ORPHAN_ILLEGAL_INODE 0x000024 15280bfaa3e40ae6ab00cc3d4d1f4c0eeefce0b1a96Theodore Ts'o 153424cd2beb7c40a3e4cf96b5bf28b24e48554a754Theodore Ts'o/* Journal has unsupported read-only feature - abort */ 154424cd2beb7c40a3e4cf96b5bf28b24e48554a754Theodore Ts'o#define PR_0_JOURNAL_UNSUPP_ROCOMPAT 0x000025 155424cd2beb7c40a3e4cf96b5bf28b24e48554a754Theodore Ts'o 156424cd2beb7c40a3e4cf96b5bf28b24e48554a754Theodore Ts'o/* Journal has unsupported incompatible feature - abort */ 157424cd2beb7c40a3e4cf96b5bf28b24e48554a754Theodore Ts'o#define PR_0_JOURNAL_UNSUPP_INCOMPAT 0x000026 158424cd2beb7c40a3e4cf96b5bf28b24e48554a754Theodore Ts'o 159c7f23364fd6d8d25d74e51ba5f342fc2230048d8Theodore Ts'o/* Journal has unsupported version number */ 1602f686ace1c8e2f680ffd450d143cdd01a649687aTheodore Ts'o#define PR_0_JOURNAL_UNSUPP_VERSION 0x000027 161c7f23364fd6d8d25d74e51ba5f342fc2230048d8Theodore Ts'o 162773fd8a1d4202af708a37bdc7754134e6fdcfe22Theodore Ts'o/* Moving journal to hidden file */ 163773fd8a1d4202af708a37bdc7754134e6fdcfe22Theodore Ts'o#define PR_0_MOVE_JOURNAL 0x000028 164773fd8a1d4202af708a37bdc7754134e6fdcfe22Theodore Ts'o 165773fd8a1d4202af708a37bdc7754134e6fdcfe22Theodore Ts'o/* Error moving journal */ 166773fd8a1d4202af708a37bdc7754134e6fdcfe22Theodore Ts'o#define PR_0_ERR_MOVE_JOURNAL 0x000029 167773fd8a1d4202af708a37bdc7754134e6fdcfe22Theodore Ts'o 16862e3e7fe4f32c2186e848f37b7f977835975413eTheodore Ts'o/* Clearing V2 journal superblock */ 16962e3e7fe4f32c2186e848f37b7f977835975413eTheodore Ts'o#define PR_0_CLEAR_V2_JOURNAL 0x00002A 17062e3e7fe4f32c2186e848f37b7f977835975413eTheodore Ts'o 171d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o/* Run journal anyway */ 172d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o#define PR_0_JOURNAL_RUN 0x00002B 173d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o 174d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o/* Run journal anyway by default */ 175d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o#define PR_0_JOURNAL_RUN_DEFAULT 0x00002C 176d37066a9fa14ff3c0e7f4ea95e07204fce95f41aTheodore Ts'o 177a435ec3449694a8fa299337197cc09624960a3a6Theodore Ts'o/* Backup journal inode blocks */ 178a435ec3449694a8fa299337197cc09624960a3a6Theodore Ts'o#define PR_0_BACKUP_JNL 0x00002D 179a435ec3449694a8fa299337197cc09624960a3a6Theodore Ts'o 180e75cfc5da83c749be43f87c0ccf5ec1f1dd26e2cTheodore Ts'o/* Reserved blocks w/o resize_inode */ 181e75cfc5da83c749be43f87c0ccf5ec1f1dd26e2cTheodore Ts'o#define PR_0_NONZERO_RESERVED_GDT_BLOCKS 0x00002E 182e75cfc5da83c749be43f87c0ccf5ec1f1dd26e2cTheodore Ts'o 183e75cfc5da83c749be43f87c0ccf5ec1f1dd26e2cTheodore Ts'o/* Resize_inode not enabled, but resize inode is non-zero */ 184e75cfc5da83c749be43f87c0ccf5ec1f1dd26e2cTheodore Ts'o#define PR_0_CLEAR_RESIZE_INODE 0x00002F 185e75cfc5da83c749be43f87c0ccf5ec1f1dd26e2cTheodore Ts'o 186c3ffaf833b7ddb3c1d422c71f59e1623029ede0cTheodore Ts'o/* Resize inode invalid */ 187c3ffaf833b7ddb3c1d422c71f59e1623029ede0cTheodore Ts'o#define PR_0_RESIZE_INODE_INVALID 0x000030 188c3ffaf833b7ddb3c1d422c71f59e1623029ede0cTheodore Ts'o 1898dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9aTheodore Ts'o/* Last mount time is in the future */ 1908dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9aTheodore Ts'o#define PR_0_FUTURE_SB_LAST_MOUNT 0x000031 1918dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9aTheodore Ts'o 1928dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9aTheodore Ts'o/* Last write time is in the future */ 1938dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9aTheodore Ts'o#define PR_0_FUTURE_SB_LAST_WRITE 0x000032 1948dceb92407f751d1a8aecd4bfb36d1fe2dc3cf9aTheodore Ts'o 195b1c52b26a44efeb366402985763c242a4b21aeb1Theodore Ts'o/* Superblock hint for external journal incorrect */ 196b1c52b26a44efeb366402985763c242a4b21aeb1Theodore Ts'o#define PR_0_EXTERNAL_JOURNAL_HINT 0x000033 197b1c52b26a44efeb366402985763c242a4b21aeb1Theodore Ts'o 198f77704e416fca7dbe4cc91abba674d2ae3c14f6fTheodore Ts'o/* Superblock hint for external journal incorrect */ 199f77704e416fca7dbe4cc91abba674d2ae3c14f6fTheodore Ts'o#define PR_0_DIRHASH_HINT 0x000034 200f77704e416fca7dbe4cc91abba674d2ae3c14f6fTheodore Ts'o 20149a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Group descriptor N checksum is invalid */ 20249a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_0_GDT_CSUM 0x000035 20349a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 20449a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Group descriptor N marked uninitialized without feature set. */ 20549a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_0_GDT_UNINIT 0x000036 20649a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 20740b9cc517351dbedff43ab4f4da59af4921b6d25Theodore Ts'o/* Block bitmap is not initialised and Inode bitmap is -- NO LONGER USED */ 20840b9cc517351dbedff43ab4f4da59af4921b6d25Theodore Ts'o/* #define PR_0_BB_UNINIT_IB_INIT 0x000037 */ 20949a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 21049a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Group descriptor N has invalid unused inodes count. */ 21149a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_0_GDT_ITABLE_UNUSED 0x000038 21249a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 2130d5439c8e0bc63438f45315755e7f0d9dcb09ccfAndreas Dilger/* Last group block bitmap is uninitialized. */ 2140d5439c8e0bc63438f45315755e7f0d9dcb09ccfAndreas Dilger#define PR_0_BB_UNINIT_LAST 0x000039 2150d5439c8e0bc63438f45315755e7f0d9dcb09ccfAndreas Dilger 216185c4aeaf23d48375e3506218305031663203d0fTheodore Ts'o/* Journal transaction found corrupt */ 217185c4aeaf23d48375e3506218305031663203d0fTheodore Ts'o#define PR_0_JNL_TXN_CORRUPT 0x00003A 218185c4aeaf23d48375e3506218305031663203d0fTheodore Ts'o 21980875db58a6db58e3e2f01caf1adabca068d3ffbTheodore Ts'o/* The test_fs filesystem flag is set and ext4 is available */ 22080875db58a6db58e3e2f01caf1adabca068d3ffbTheodore Ts'o#define PR_0_CLEAR_TESTFS_FLAG 0x00003B 22180875db58a6db58e3e2f01caf1adabca068d3ffbTheodore Ts'o 22226ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o/* Last mount time is in the future (fudged) */ 22326ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o#define PR_0_FUTURE_SB_LAST_MOUNT_FUDGED 0x00003C 22426ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o 22526ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o/* Last write time is in the future (fudged) */ 22626ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o#define PR_0_FUTURE_SB_LAST_WRITE_FUDGED 0x00003D 22726ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o 22860139154878ebdafd4b372cdcf179c5a957c519dTheodore Ts'o/* Block group checksum (latch question) */ 22960139154878ebdafd4b372cdcf179c5a957c519dTheodore Ts'o#define PR_0_GDT_CSUM_LATCH 0x00003E 23060139154878ebdafd4b372cdcf179c5a957c519dTheodore Ts'o 231a3efe4842054175d01b465fbe0b29b9be8b800a1Theodore Ts'o/* Free inodes count wrong */ 232a3efe4842054175d01b465fbe0b29b9be8b800a1Theodore Ts'o#define PR_0_FREE_INODE_COUNT 0x00003F 233a3efe4842054175d01b465fbe0b29b9be8b800a1Theodore Ts'o 234a3efe4842054175d01b465fbe0b29b9be8b800a1Theodore Ts'o/* Free blocks count wrong */ 235a3efe4842054175d01b465fbe0b29b9be8b800a1Theodore Ts'o#define PR_0_FREE_BLOCK_COUNT 0x000040 236a3efe4842054175d01b465fbe0b29b9be8b800a1Theodore Ts'o 237624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali/* Make quota file hidden */ 238624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali#define PR_0_HIDE_QUOTA 0x000041 239624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali 2400f5eba7501f467f757792ee449d16c9259b994fdAndreas Dilger/* Superblock has invalid MMP block. */ 2410f5eba7501f467f757792ee449d16c9259b994fdAndreas Dilger#define PR_0_MMP_INVALID_BLK 0x000042 2420f5eba7501f467f757792ee449d16c9259b994fdAndreas Dilger 2430f5eba7501f467f757792ee449d16c9259b994fdAndreas Dilger/* Superblock has invalid MMP magic. */ 2440f5eba7501f467f757792ee449d16c9259b994fdAndreas Dilger#define PR_0_MMP_INVALID_MAGIC 0x000043 2450f5eba7501f467f757792ee449d16c9259b994fdAndreas Dilger 246010c49cf499738c7a06de13077f31f2a12ecadebTheodore Ts'o/* Opening file system failed */ 247010c49cf499738c7a06de13077f31f2a12ecadebTheodore Ts'o#define PR_0_OPEN_FAILED 0x000044 248010c49cf499738c7a06de13077f31f2a12ecadebTheodore Ts'o 249010c49cf499738c7a06de13077f31f2a12ecadebTheodore Ts'o/* Checking group descriptor failed */ 250010c49cf499738c7a06de13077f31f2a12ecadebTheodore Ts'o#define PR_0_CHECK_DESC_FAILED 0x000045 25126ea4899d1fea0fbc5d28120944d2c2758ac1b11Theodore Ts'o 25227b2297d5726623c2d119c671a0e1778aae6010aDarrick J. Wong/* 64bit is set but extents are not set. */ 25327b2297d5726623c2d119c671a0e1778aae6010aDarrick J. Wong#define PR_0_64BIT_WITHOUT_EXTENTS 0x000048 25427b2297d5726623c2d119c671a0e1778aae6010aDarrick J. Wong 25521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 256387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong * metadata_csum supersedes uninit_bg; both feature bits cannot be set 257387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong * simultaneously. 258387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong */ 259387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong#define PR_0_META_AND_GDT_CSUM_SET 0x000046 260387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong 261f57b371506734f381a1612be9ac465499f1c1676Darrick J. Wong/* Superblock has invalid MMP checksum. */ 262f57b371506734f381a1612be9ac465499f1c1676Darrick J. Wong#define PR_0_MMP_CSUM_INVALID 0x000047 263f57b371506734f381a1612be9ac465499f1c1676Darrick J. Wong 264387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong 265387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong/* 26621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pass 1 errors 26721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 26821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 2691b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 1: Checking inodes, blocks, and sizes */ 2701b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_PASS_HEADER 0x010000 2711b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 27221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Root directory is not an inode */ 2731b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_ROOT_NO_DIR 0x010001 27421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 27521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Root directory has dtime set */ 2761b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_ROOT_DTIME 0x010002 27721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 27821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Reserved inode has bad mode */ 2791b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_RESERVED_BAD_MODE 0x010003 28021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 28121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Deleted inode has zero dtime */ 2821b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_ZERO_DTIME 0x010004 28321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 28421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode in use, but dtime set */ 2851b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_SET_DTIME 0x010005 28621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 28721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Zero-length directory */ 2881b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_ZERO_LENGTH_DIR 0x010006 28921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 29021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Block bitmap conflicts with some other fs block */ 2911b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_BB_CONFLICT 0x010007 29221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 29321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode bitmap conflicts with some other fs block */ 2941b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_IB_CONFLICT 0x010008 29521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 29621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode table conflicts with some other fs block */ 2971b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_ITABLE_CONFLICT 0x010009 29821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 29921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Block bitmap is on a bad block */ 3001b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_BB_BAD_BLOCK 0x01000A 30121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 30221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode bitmap is on a bad block */ 3031b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_IB_BAD_BLOCK 0x01000B 30421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 30521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode has incorrect i_size */ 3061b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_BAD_I_SIZE 0x01000C 30721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 30821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode has incorrect i_blocks */ 3091b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_BAD_I_BLOCKS 0x01000D 31021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 31121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Illegal block number in inode */ 3121b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_ILLEGAL_BLOCK_NUM 0x01000E 31321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 31421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Block number overlaps fs metadata */ 31521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_1_BLOCK_OVERLAPS_METADATA 0x01000F 31621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 31721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode has illegal blocks (latch question) */ 3181b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_INODE_BLOCK_LATCH 0x010010 31921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 32021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Too many bad blocks in inode */ 321ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_1_TOO_MANY_BAD_BLOCKS 0x010011 322db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 32321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Illegal block number in bad block inode */ 324ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_1_BB_ILLEGAL_BLOCK_NUM 0x010012 32521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 32621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Bad block inode has illegal blocks (latch question) */ 3271b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_INODE_BBLOCK_LATCH 0x010013 3281b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3291b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicate or bad blocks in use! */ 3301b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_DUP_BLOCKS_PREENSTOP 0x010014 331db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 332db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Bad block used as bad block indirect block */ 3331b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_BBINODE_BAD_METABLOCK 0x010015 3341b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3351b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Inconsistency can't be fixed prompt */ 3361b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1_BBINODE_BAD_METABLOCK_PROMPT 0x010016 337db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 3381b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad primary block */ 339b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BAD_PRIMARY_BLOCK 0x010017 340db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 3411b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad primary block prompt */ 342b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BAD_PRIMARY_BLOCK_PROMPT 0x010018 3431b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3441b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad primary superblock */ 345b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BAD_PRIMARY_SUPERBLOCK 0x010019 3461b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3471b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad primary block group descriptors */ 348b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BAD_PRIMARY_GROUP_DESCRIPTOR 0x01001A 3491b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3501b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad superblock in group */ 351b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BAD_SUPERBLOCK 0x01001B 3521b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3531b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad block group descriptors in group */ 354b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BAD_GROUP_DESCRIPTORS 0x01001C 3551b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 356db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Block claimed for no reason */ 357b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_PROGERR_CLAIMED_BLOCK 0x01001D 3581b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 359f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o/* Error allocating blocks for relocating metadata */ 360b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_RELOC_BLOCK_ALLOCATE 0x01001E 361db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 362f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o/* Error allocating block buffer during relocation process */ 363b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_RELOC_MEMORY_ALLOCATE 0x01001F 364db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 365db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Relocating metadata group information from X to Y */ 366b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_RELOC_FROM_TO 0x010020 367db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 3681b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Relocating metatdata group information to X */ 369b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_RELOC_TO 0x010021 370db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 3711b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Block read error during relocation process */ 372b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_RELOC_READ_ERR 0x010022 373db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 3741b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Block write error during relocation process */ 375b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_RELOC_WRITE_ERR 0x010023 3761b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3771b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating inode bitmap */ 378b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ALLOCATE_IBITMAP_ERROR 0x010024 3791b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3801b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating block bitmap */ 381b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ALLOCATE_BBITMAP_ERROR 0x010025 3821b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3831b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating icount structure */ 384b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ALLOCATE_ICOUNT 0x010026 385db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 3861b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating dbcount */ 387b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ALLOCATE_DBCOUNT 0x010027 3881b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3891b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while scanning inodes */ 390b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ISCAN_ERROR 0x010028 3911b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 3921b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while iterating over blocks */ 393b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_BLOCK_ITERATE 0x010029 3941b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 395db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Error while storing inode count information */ 396b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ICOUNT_STORE 0x01002A 3971b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 398db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Error while storing directory block information */ 399b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_ADD_DBLOCK 0x01002B 4001b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 4011b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while reading inode (for clearing) */ 402b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_READ_INODE 0x01002C 4031b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 404f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o/* Suppress messages prompt */ 405b2f93192a1701855d4f5f05f0087c45e92a35681Theodore Ts'o#define PR_1_SUPPRESS_MESSAGES 0x01002D 40621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 4076fdc7a325c8bff67fc3a0489d0858bc7c48dc1a3Theodore Ts'o/* Imagic flag set on an inode when filesystem doesn't support it */ 4086fdc7a325c8bff67fc3a0489d0858bc7c48dc1a3Theodore Ts'o#define PR_1_SET_IMAGIC 0x01002F 4096fdc7a325c8bff67fc3a0489d0858bc7c48dc1a3Theodore Ts'o 4106fdc7a325c8bff67fc3a0489d0858bc7c48dc1a3Theodore Ts'o/* Immutable flag set on a device or socket inode */ 4116fdc7a325c8bff67fc3a0489d0858bc7c48dc1a3Theodore Ts'o#define PR_1_SET_IMMUTABLE 0x010030 4121917875fcd16428d14eb5a86acf414472bc216f1Theodore Ts'o 4131917875fcd16428d14eb5a86acf414472bc216f1Theodore Ts'o/* Compression flag set on a non-compressed filesystem */ 4141917875fcd16428d14eb5a86acf414472bc216f1Theodore Ts'o#define PR_1_COMPR_SET 0x010031 4151917875fcd16428d14eb5a86acf414472bc216f1Theodore Ts'o 416d647a1ea4db5fa4e4ed48573c63a1bde56e071dbTheodore Ts'o/* Non-zero size on on device, fifo or socket inode */ 417d647a1ea4db5fa4e4ed48573c63a1bde56e071dbTheodore Ts'o#define PR_1_SET_NONZSIZE 0x010032 418d647a1ea4db5fa4e4ed48573c63a1bde56e071dbTheodore Ts'o 419060b5fbf807dca3ce5f977a693ac68e84c03d13eTheodore Ts'o/* Filesystem revision is 0, but feature flags are set */ 420060b5fbf807dca3ce5f977a693ac68e84c03d13eTheodore Ts'o#define PR_1_FS_REV_LEVEL 0x010033 421060b5fbf807dca3ce5f977a693ac68e84c03d13eTheodore Ts'o 422f18996c8eb7f530a7a408b8ede4a99fd52c02533Theodore Ts'o/* Journal inode not in use, needs clearing */ 423a9ca2016e14b5b56e5f0b61a73d52c4caee718bcTheodore Ts'o#define PR_1_JOURNAL_INODE_NOT_CLEAR 0x010034 424f18996c8eb7f530a7a408b8ede4a99fd52c02533Theodore Ts'o 425a9ca2016e14b5b56e5f0b61a73d52c4caee718bcTheodore Ts'o/* Journal inode has wrong mode */ 426a9ca2016e14b5b56e5f0b61a73d52c4caee718bcTheodore Ts'o#define PR_1_JOURNAL_BAD_MODE 0x010035 42721afac096df642708ebf63dc4354575883f11174Theodore Ts'o 42821afac096df642708ebf63dc4354575883f11174Theodore Ts'o/* Inode that was part of orphan linked list */ 42921afac096df642708ebf63dc4354575883f11174Theodore Ts'o#define PR_1_LOW_DTIME 0x010036 43021afac096df642708ebf63dc4354575883f11174Theodore Ts'o 43121afac096df642708ebf63dc4354575883f11174Theodore Ts'o/* Latch question which asks how to deal with low dtime inodes */ 43221afac096df642708ebf63dc4354575883f11174Theodore Ts'o#define PR_1_ORPHAN_LIST_REFUGEES 0x010037 433342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o 434342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o/* Error allocating refcount structure */ 435342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o#define PR_1_ALLOCATE_REFCOUNT 0x010038 436db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 437342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o/* Error reading Extended Attribute block */ 438342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o#define PR_1_READ_EA_BLOCK 0x010039 439342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o 440342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o/* Invalid Extended Attribute block */ 441342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o#define PR_1_BAD_EA_BLOCK 0x01003A 442342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o 443e8a3ee628ad693cbae231089b18886e6ba0e59d3Theodore Ts'o/* Error reading Extended Attribute block while fixing refcount -- abort */ 444e8a3ee628ad693cbae231089b18886e6ba0e59d3Theodore Ts'o#define PR_1_EXTATTR_READ_ABORT 0x01003B 445e8a3ee628ad693cbae231089b18886e6ba0e59d3Theodore Ts'o 446e8a3ee628ad693cbae231089b18886e6ba0e59d3Theodore Ts'o/* Extended attribute reference count incorrect */ 447e8a3ee628ad693cbae231089b18886e6ba0e59d3Theodore Ts'o#define PR_1_EXTATTR_REFCOUNT 0x01003C 448e8a3ee628ad693cbae231089b18886e6ba0e59d3Theodore Ts'o 449db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Error writing Extended Attribute block while fixing refcount */ 450a6217f5ae2ca02f2f12c259b34615cbd7f4110d6Theodore Ts'o#define PR_1_EXTATTR_WRITE_ABORT 0x01003D 45155fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o 45255fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o/* Multiple EA blocks not supported */ 45355fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o#define PR_1_EA_MULTI_BLOCK 0x01003E 45455fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o 45555fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o/* Error allocating EA region allocation structure */ 456a6217f5ae2ca02f2f12c259b34615cbd7f4110d6Theodore Ts'o#define PR_1_EA_ALLOC_REGION_ABORT 0x01003F 457b94a052a25d0c524209782e408c31d8ff25a6fe1Andreas Dilger 45855fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o/* Error EA allocation collision */ 45955fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o#define PR_1_EA_ALLOC_COLLISION 0x010040 460b94a052a25d0c524209782e408c31d8ff25a6fe1Andreas Dilger 46155fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o/* Bad extended attribute name */ 46255fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o#define PR_1_EA_BAD_NAME 0x010041 46355fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o 46455fd07ed0a5f4ed3dcc770526ee1ad3be967ac98Theodore Ts'o/* Bad extended attribute value */ 465b94a052a25d0c524209782e408c31d8ff25a6fe1Andreas Dilger#define PR_1_EA_BAD_VALUE 0x010042 466b94a052a25d0c524209782e408c31d8ff25a6fe1Andreas Dilger 467da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o/* Inode too big (latch question) */ 468da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o#define PR_1_INODE_TOOBIG 0x010043 469da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o 470da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o/* Directory too big */ 471da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o#define PR_1_TOOBIG_DIR 0x010044 472da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o 473da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o/* Regular file too big */ 474da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o#define PR_1_TOOBIG_REG 0x010045 475da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o 476da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o/* Symlink too big */ 477da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o#define PR_1_TOOBIG_SYMLINK 0x010046 478da307041e75bdf3b24c1eb43132a4f9d8a1b3844Theodore Ts'o 4798fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* INDEX_FL flag set on a non-HTREE filesystem */ 4808fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_1_HTREE_SET 0x010047 4818fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 482db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* INDEX_FL flag set on a non-directory */ 483503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o#define PR_1_HTREE_NODIR 0x010048 484503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o 485db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Invalid root node in HTREE directory */ 486503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o#define PR_1_HTREE_BADROOT 0x010049 487503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o 488db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Unsupported hash version in HTREE directory */ 489503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o#define PR_1_HTREE_HASHV 0x01004A 490503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o 491db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Incompatible flag in HTREE root node */ 492503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o#define PR_1_HTREE_INCOMPAT 0x01004B 493503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o 494db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* HTREE too deep */ 495503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o#define PR_1_HTREE_DEPTH 0x01004C 496503f9e7f6eb331c5b75d7f1ad126f71bcdcfb4e3Theodore Ts'o 497000ba4046fbcc11ff70ef840988854d82235e5b5Theodore Ts'o/* Bad block has indirect block that conflicts with filesystem block */ 498000ba4046fbcc11ff70ef840988854d82235e5b5Theodore Ts'o#define PR_1_BB_FS_BLOCK 0x01004D 499000ba4046fbcc11ff70ef840988854d82235e5b5Theodore Ts'o 500c3ffaf833b7ddb3c1d422c71f59e1623029ede0cTheodore Ts'o/* Resize inode failed */ 501c3ffaf833b7ddb3c1d422c71f59e1623029ede0cTheodore Ts'o#define PR_1_RESIZE_INODE_CREATE 0x01004E 502c3ffaf833b7ddb3c1d422c71f59e1623029ede0cTheodore Ts'o 503db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* inode->i_size is too long */ 504cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o#define PR_1_EXTRA_ISIZE 0x01004F 505cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o 506cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o/* attribute name is too long */ 507cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o#define PR_1_ATTR_NAME_LEN 0x010050 508cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o 509cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o/* wrong EA value offset */ 510cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o#define PR_1_ATTR_VALUE_OFFSET 0x010051 511cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o 512cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o/* wrong EA blocknumber */ 513cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o#define PR_1_ATTR_VALUE_BLOCK 0x010052 514cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o 515cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o/* wrong EA value size */ 516cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o#define PR_1_ATTR_VALUE_SIZE 0x010053 517cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o 518cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o/* wrong EA hash value */ 519cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o#define PR_1_ATTR_HASH 0x010054 520cebe48a1ece8b9f61271c73ead83b59c8b36233eTheodore Ts'o 521fbc3f90194ca557e377c25f71db242c38c78f836Theodore Ts'o/* inode appears to be a directory */ 522fbc3f90194ca557e377c25f71db242c38c78f836Theodore Ts'o#define PR_1_TREAT_AS_DIRECTORY 0x010055 523fbc3f90194ca557e377c25f71db242c38c78f836Theodore Ts'o 52415d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o/* Error while reading extent tree */ 52515d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o#define PR_1_READ_EXTENT 0x010056 52615d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 5277518c176867099eb529502103106501861a71280Theodore Ts'o/* Failure to iterate extents */ 5287518c176867099eb529502103106501861a71280Theodore Ts'o#define PR_1_EXTENT_ITERATE_FAILURE 0x010057 52915d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 53015d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o/* Bad starting block in extent */ 53115d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o#define PR_1_EXTENT_BAD_START_BLK 0x010058 53215d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 53315d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o/* Extent ends beyond filesystem */ 53415d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o#define PR_1_EXTENT_ENDS_BEYOND 0x010059 53515d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 53615d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o/* EXTENTS_FL flag set on a non-extents capable filesystem */ 53715d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o#define PR_1_EXTENTS_SET 0x01005A 53815d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 53915d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o/* inode has extents, superblock missing INCOMPAT_EXTENTS feature */ 54015d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o#define PR_1_EXTENT_FEATURE 0x01005B 54115d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 54215d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o/* inode missing EXTENTS_FL, but is an extent inode */ 54315d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o#define PR_1_UNSET_EXTENT_FL 0x01005C 54415d482ba6e46b6979d8d9e9b3b28e0942b626c2eTheodore Ts'o 545ee19c902e6f09ae058577f6b742d60692e7fb853Theodore Ts'o/* Fast symlink has EXTENTS_FL set */ 546ee19c902e6f09ae058577f6b742d60692e7fb853Theodore Ts'o#define PR_1_FAST_SYMLINK_EXTENT_FL 0x01005D 547ee19c902e6f09ae058577f6b742d60692e7fb853Theodore Ts'o 548d5a8f9a9f25a85b69335915e5dac2a359334b5d7Theodore Ts'o/* Extents are out of order */ 549d5a8f9a9f25a85b69335915e5dac2a359334b5d7Theodore Ts'o#define PR_1_OUT_OF_ORDER_EXTENTS 0x01005E 550d5a8f9a9f25a85b69335915e5dac2a359334b5d7Theodore Ts'o 5517518c176867099eb529502103106501861a71280Theodore Ts'o/* Extent node header invalid */ 5527518c176867099eb529502103106501861a71280Theodore Ts'o#define PR_1_EXTENT_HEADER_INVALID 0x01005F 5537518c176867099eb529502103106501861a71280Theodore Ts'o 554010dc7b90d97b93907cbf57b3b44f1c1cad234f6Lukas Czerner/* PR_1_EOFBLOCKS_FL_SET 0x010060 was here */ 5552291fbb0358be8251df0d611913f49fbb9beb740Theodore Ts'o 55644fe08f1fa1e9a994ff304aa02022c53c9341519Theodore Ts'o/* Failed to convert subcluster bitmap */ 55744fe08f1fa1e9a994ff304aa02022c53c9341519Theodore Ts'o#define PR_1_CONVERT_SUBCLUSTER 0x010061 55844fe08f1fa1e9a994ff304aa02022c53c9341519Theodore Ts'o 559624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali/* Quota inode has wrong mode */ 560624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali#define PR_1_QUOTA_BAD_MODE 0x010062 561624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali 562624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali/* Quota inode is not in use, but contains data */ 563624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali#define PR_1_QUOTA_INODE_NOT_CLEAR 0x010063 564624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali 565624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali/* Quota inode is user visible */ 566624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali#define PR_1_QUOTA_INODE_NOT_HIDDEN 0x010064 567624e4a6466dba9889f5f80dc168f2bb7c2a3f5d0Aditya Kali 56896a8afa7c134ef9239a70f264c35e709737f42cdTheodore Ts'o/* Invalid bad inode */ 56996a8afa7c134ef9239a70f264c35e709737f42cdTheodore Ts'o#define PR_1_INVALID_BAD_INODE 0x010065 57096a8afa7c134ef9239a70f264c35e709737f42cdTheodore Ts'o 57126c09eb8145a16dcba6c40810d46a78712d253f2Theodore Ts'o/* Extent has zero length */ 57226c09eb8145a16dcba6c40810d46a78712d253f2Theodore Ts'o#define PR_1_EXTENT_LENGTH_ZERO 0x010066 57326c09eb8145a16dcba6c40810d46a78712d253f2Theodore Ts'o 57468d70624e34b90fd153964950b7a2917b5bb3a8cDarrick J. Wong/* inode seems to contain garbage */ 57568d70624e34b90fd153964950b7a2917b5bb3a8cDarrick J. Wong#define PR_1_INODE_IS_GARBAGE 0x010067 576b9cde40d4d1119a16ced92b83b85af0587b52215Darrick J. Wong 577b9cde40d4d1119a16ced92b83b85af0587b52215Darrick J. Wong/* inode passes checks, but checksum does not match inode */ 578b9cde40d4d1119a16ced92b83b85af0587b52215Darrick J. Wong#define PR_1_INODE_ONLY_CSUM_INVALID 0x010068 579b9cde40d4d1119a16ced92b83b85af0587b52215Darrick J. Wong 58078c666b832b4c703aa0a87e7f34ccc8d15b00261Darrick J. Wong/* Inode EA allocation collision */ 58178c666b832b4c703aa0a87e7f34ccc8d15b00261Darrick J. Wong#define PR_1_INODE_EA_ALLOC_COLLISION 0x010069 58278c666b832b4c703aa0a87e7f34ccc8d15b00261Darrick J. Wong 5831e2372b3ae9a5f65f9daad7322c095d2003acc7bDarrick J. Wong/* extent block passes checks, but checksum does not match extent block */ 5841e2372b3ae9a5f65f9daad7322c095d2003acc7bDarrick J. Wong#define PR_1_EXTENT_ONLY_CSUM_INVALID 0x01006A 5851e2372b3ae9a5f65f9daad7322c095d2003acc7bDarrick J. Wong 5865e07cb280f30b2f44f90d9bbbe36b5f305be5cc5Darrick J. Wong/* ea block passes checks, but checksum invalid */ 5875e07cb280f30b2f44f90d9bbbe36b5f305be5cc5Darrick J. Wong#define PR_1_EA_BLOCK_ONLY_CSUM_INVALID 0x01006C 5885e07cb280f30b2f44f90d9bbbe36b5f305be5cc5Darrick J. Wong 589789bd401c3bce85d3c2ae4504ca62509aa0a8b88Eric Sandeen/* Index start doesn't match start of next extent down */ 590789bd401c3bce85d3c2ae4504ca62509aa0a8b88Eric Sandeen#define PR_1_EXTENT_INDEX_START_INVALID 0x01006D 591387e6384cbb74fb68f6c0a64c9c3b72b8abc6699Darrick J. Wong 592d3f32c2db8f11c87aa7939d78e7eb4c373f7034fDavid Jeffery#define PR_1_EXTENT_END_OUT_OF_BOUNDS 0x01006E 59325fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu 59425fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu/* Inode has inline data, but superblock is missing INLINE_DATA feature. */ 59525fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu#define PR_1_INLINE_DATA_FEATURE 0x01006F 59625fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu 59725fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu/* INLINE_DATA feature is set in a non-inline-data filesystem */ 59825fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu#define PR_1_INLINE_DATA_SET 0x010070 59925fed0fc394c060c483f7a8c13dc60989f2696cdZheng Liu 60035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong/* file metadata collides with critical metadata */ 60135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong#define PR_1_CRITICAL_METADATA_COLLISION 0x010071 60235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong 60357b7fabc2e06e145811977b88b46239267bbd1e6Darrick J. Wong/* Directory inode has a missing block (hole) */ 60457b7fabc2e06e145811977b88b46239267bbd1e6Darrick J. Wong#define PR_1_COLLAPSE_DBLOCK 0x010072 60557b7fabc2e06e145811977b88b46239267bbd1e6Darrick J. Wong 60657b7fabc2e06e145811977b88b46239267bbd1e6Darrick J. Wong/* uninit directory block */ 60757b7fabc2e06e145811977b88b46239267bbd1e6Darrick J. Wong#define PR_1_UNINIT_DBLOCK 0x010073 60857b7fabc2e06e145811977b88b46239267bbd1e6Darrick J. Wong 6099a1d614df217c02ea6b2cb0072fccfe706aea111Darrick J. Wong/* Inode logical block is misaligned */ 6109a1d614df217c02ea6b2cb0072fccfe706aea111Darrick J. Wong#define PR_1_MISALIGNED_CLUSTER 0x010074 6119a1d614df217c02ea6b2cb0072fccfe706aea111Darrick J. Wong 61249a3749aded829c1802cb5e0a972a83ace7629b0Darrick J. Wong/* Inode has INLINE_DATA_FL flag but extended attribute not found */ 61349a3749aded829c1802cb5e0a972a83ace7629b0Darrick J. Wong#define PR_1_INLINE_DATA_NO_ATTR 0x010075 61449a3749aded829c1802cb5e0a972a83ace7629b0Darrick J. Wong 6158dae07fb5550dfc3022c7eed4ea797a42b595e6eDarrick J. Wong/* extents/inlinedata set on fifo/socket/device */ 6168dae07fb5550dfc3022c7eed4ea797a42b595e6eDarrick J. Wong#define PR_1_SPECIAL_EXTENTS_IDATA 0x010076 6178dae07fb5550dfc3022c7eed4ea797a42b595e6eDarrick J. Wong 618fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong/* idata/extent flag set and extent header found, clear idata flag */ 619fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong#define PR_1_CLEAR_INLINE_DATA_FOR_EXTENT 0x010077 620fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong 621fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong/* inlinedata/extent set and no extent header found, clear extent flag */ 622fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong#define PR_1_CLEAR_EXTENT_FOR_INLINE_DATA 0x010078 623fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong 624fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong/* inlinedata/extent set, clear both flags */ 625fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong#define PR_1_CLEAR_EXTENT_INLINE_DATA_FLAGS 0x010079 626fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong 627fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong/* inlinedata/extent set, clear inode */ 628fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong#define PR_1_CLEAR_EXTENT_INLINE_DATA_INODE 0x01007A 629fa441f91f1dc02f7c72694b5d4f65374b5a18f44Darrick J. Wong 63021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 63121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pass 1b errors 63221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 63321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6341b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 1B: Rescan for duplicate/bad blocks */ 6351b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1B_PASS_HEADER 0x011000 6361b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6371b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicate/bad block(s) header */ 6381b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1B_DUP_BLOCK_HEADER 0x011001 6391b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6401b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicate/bad block(s) in inode */ 6411b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1B_DUP_BLOCK 0x011002 6421b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6431b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicate/bad block(s) end */ 6441b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1B_DUP_BLOCK_END 0x011003 645db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 6461b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while scanning inodes */ 6471b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1B_ISCAN_ERROR 0x011004 6481b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6491b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating inode bitmap */ 6501b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1B_ALLOCATE_IBITMAP_ERROR 0x011005 6511b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 652133a56dc9da52054bc27b4c1a23f03e3405003dbTheodore Ts'o/* Error while iterating over blocks */ 6537494cbfd59eb61301e168dd8aa4b19c2f4b73532Andreas Dilger#define PR_1B_BLOCK_ITERATE 0x011006 6541b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6550684a4f33b5c268fe12f57fcbc77a880c79ab282Theodore Ts'o/* Error adjusting EA refcount */ 6567494cbfd59eb61301e168dd8aa4b19c2f4b73532Andreas Dilger#define PR_1B_ADJ_EA_REFCOUNT 0x011007 6570684a4f33b5c268fe12f57fcbc77a880c79ab282Theodore Ts'o 65828b966d7c667049f19a2947441ed29a95b415469Darrick J. Wong/* Duplicate/bad block range in inode */ 65928b966d7c667049f19a2947441ed29a95b415469Darrick J. Wong#define PR_1B_DUP_RANGE 0x011008 66028b966d7c667049f19a2947441ed29a95b415469Darrick J. Wong 6611b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 1C: Scan directories for inodes with dup blocks. */ 6621b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1C_PASS_HEADER 0x012000 6631b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6641b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6651b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 1D: Reconciling duplicate blocks */ 6661b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_PASS_HEADER 0x013000 6671b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 66821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* File has duplicate blocks */ 6691b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_DUP_FILE 0x013001 67021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 671db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* List of files sharing duplicate blocks */ 6721b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_DUP_FILE_LIST 0x013002 67321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 674db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* File sharing blocks with filesystem metadata */ 6751b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_SHARE_METADATA 0x013003 6761b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 677db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Report of how many duplicate/bad inodes */ 6781b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_NUM_DUP_INODES 0x013004 6791b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6801b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicated blocks already reassigned or cloned. */ 6811b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_DUP_BLOCKS_DEALT 0x013005 6821b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6831b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Clone duplicate/bad blocks? */ 6841b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_CLONE_QUESTION 0x013006 6851b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 6861b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Delete file? */ 6871b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_DELETE_QUESTION 0x013007 688521e36857227b21e7ab47b0a97f788d2af9f9717Theodore Ts'o 6891b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Couldn't clone file (error) */ 6901b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_1D_CLONE_ERROR 0x013008 691db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 69221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 69321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pass 2 errors 69421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 69521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 6961b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 2: Checking directory structure */ 6971b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_PASS_HEADER 0x020000 6981b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 69921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Bad inode number for '.' */ 70021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_BAD_INODE_DOT 0x020001 70121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 70221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory entry has bad inode number */ 70321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_BAD_INO 0x020002 70421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 70521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory entry has deleted or unused inode */ 70621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_UNUSED_INODE 0x020003 70721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 70821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directry entry is link to '.' */ 70921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_LINK_DOT 0x020004 71021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 71121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory entry points to inode now located in a bad block */ 71221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_BB_INODE 0x020005 71321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 71421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory entry contains a link to a directory */ 71521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_LINK_DIR 0x020006 71621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 71721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory entry contains a link to the root directry */ 71821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_LINK_ROOT 0x020007 71921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 72021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory entry has illegal characters in its name */ 72121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_BAD_NAME 0x020008 72221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 723db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Missing '.' in directory inode */ 72421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_MISSING_DOT 0x020009 72521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 726db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Missing '..' in directory inode */ 72721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_MISSING_DOT_DOT 0x02000A 72821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 72921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* First entry in directory inode doesn't contain '.' */ 73021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_1ST_NOT_DOT 0x02000B 73121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 73221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Second entry in directory inode doesn't contain '..' */ 73321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_2ND_NOT_DOT_DOT 0x02000C 73421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 73521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* i_faddr should be zero */ 73621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_FADDR_ZERO 0x02000D 73721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 73821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* i_file_acl should be zero */ 73921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_FILE_ACL_ZERO 0x02000E 74021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 74121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* i_dir_acl should be zero */ 74221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_DIR_ACL_ZERO 0x02000F 74321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 74421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* i_frag should be zero */ 74521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_FRAG_ZERO 0x020010 74621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 74721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* i_fsize should be zero */ 74821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_FSIZE_ZERO 0x020011 749db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 75021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* inode has bad mode */ 75121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_BAD_MODE 0x020012 75221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 75321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* directory corrupted */ 75421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_DIR_CORRUPTED 0x020013 755db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 75621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* filename too long */ 75721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_FILENAME_LONG 0x020014 758db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 75921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Directory inode has a missing block (hole) */ 76021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_DIRECTORY_HOLE 0x020015 76121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 76221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* '.' is not NULL terminated */ 76321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_DOT_NULL_TERM 0x020016 76421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 76521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* '..' is not NULL terminated */ 76621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o#define PR_2_DOT_DOT_NULL_TERM 0x020017 76721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 7687cf73dcd3d173d88ceab26d381f4abac362d8518Theodore Ts'o/* Illegal character device in inode */ 7697cf73dcd3d173d88ceab26d381f4abac362d8518Theodore Ts'o#define PR_2_BAD_CHAR_DEV 0x020018 7707cf73dcd3d173d88ceab26d381f4abac362d8518Theodore Ts'o 7717cf73dcd3d173d88ceab26d381f4abac362d8518Theodore Ts'o/* Illegal block device in inode */ 7727cf73dcd3d173d88ceab26d381f4abac362d8518Theodore Ts'o#define PR_2_BAD_BLOCK_DEV 0x020019 7737cf73dcd3d173d88ceab26d381f4abac362d8518Theodore Ts'o 7741b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicate '.' entry */ 7751b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_DUP_DOT 0x02001A 7761b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7771b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Duplicate '..' entry */ 7781b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_DUP_DOT_DOT 0x02001B 779db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 7801b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Internal error: couldn't find dir_info */ 7811b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_NO_DIRINFO 0x02001C 7821b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7831b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Final rec_len is wrong */ 7841b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_FINAL_RECLEN 0x02001D 7851b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7861b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating icount structure */ 7871b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_ALLOCATE_ICOUNT 0x02001E 7881b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7891b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error iterating over directory blocks */ 7901b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_DBLIST_ITERATE 0x02001F 7911b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7921b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error reading directory block */ 7931b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_READ_DIRBLOCK 0x020020 7941b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7951b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error writing directory block */ 7961b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_WRITE_DIRBLOCK 0x020021 7971b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 7981b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating new directory block */ 7991b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_ALLOC_DIRBOCK 0x020022 8001b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 8011b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error deallocating inode */ 8021b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_2_DEALLOC_INODE 0x020023 8031b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 804f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o/* Directory entry for '.' is big. Split? */ 8057142db08c4e54a863fea2e757c6d3afa42ba2290Theodore Ts'o#define PR_2_SPLIT_DOT 0x020024 806f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o 8071dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6Theodore Ts'o/* Illegal FIFO */ 8081dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6Theodore Ts'o#define PR_2_BAD_FIFO 0x020025 8091dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6Theodore Ts'o 8101dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6Theodore Ts'o/* Illegal socket */ 8111dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6Theodore Ts'o#define PR_2_BAD_SOCKET 0x020026 8121dde43f0c1176f61dd0bf91aff265ce8cd1c5fd6Theodore Ts'o 813aa4115a47c554a936fdf5e6679e72a9329fecf45Theodore Ts'o/* Directory filetype not set */ 814aa4115a47c554a936fdf5e6679e72a9329fecf45Theodore Ts'o#define PR_2_SET_FILETYPE 0x020027 815aa4115a47c554a936fdf5e6679e72a9329fecf45Theodore Ts'o 816aa4115a47c554a936fdf5e6679e72a9329fecf45Theodore Ts'o/* Directory filetype incorrect */ 817aa4115a47c554a936fdf5e6679e72a9329fecf45Theodore Ts'o#define PR_2_BAD_FILETYPE 0x020028 818aa4115a47c554a936fdf5e6679e72a9329fecf45Theodore Ts'o 8197847c1d4fff9195c16b6d74194d104200b3f6c67Theodore Ts'o/* Directory filetype set when it shouldn't be */ 8207847c1d4fff9195c16b6d74194d104200b3f6c67Theodore Ts'o#define PR_2_CLEAR_FILETYPE 0x020029 8217847c1d4fff9195c16b6d74194d104200b3f6c67Theodore Ts'o 822c40db6d5717023bdd6bb4935161e7ce9678d6234Theodore Ts'o/* Directory filename can't be zero-length */ 823c40db6d5717023bdd6bb4935161e7ce9678d6234Theodore Ts'o#define PR_2_NULL_NAME 0x020030 824c40db6d5717023bdd6bb4935161e7ce9678d6234Theodore Ts'o 825bcf9c5d4016975c3c2afdb4a4b358569bd3c8681Theodore Ts'o/* Invalid symlink */ 826bcf9c5d4016975c3c2afdb4a4b358569bd3c8681Theodore Ts'o#define PR_2_INVALID_SYMLINK 0x020031 827fdbdea09b87dbd8e39c23286f22653e7641599aeTheodore Ts'o 828342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o/* i_file_acl (extended attribute) is bad */ 829342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o#define PR_2_FILE_ACL_BAD 0x020032 830342d847db355d81299218e07a1e58ece82080a04Theodore Ts'o 831a47426914745b7d50bb58a3d44b3509c647c637eTheodore Ts'o/* Filesystem contains large files, but has no such flag in sb */ 832a47426914745b7d50bb58a3d44b3509c647c637eTheodore Ts'o#define PR_2_FEATURE_LARGE_FILES 0x020033 833a47426914745b7d50bb58a3d44b3509c647c637eTheodore Ts'o 8348fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Node in HTREE directory not referenced */ 8358fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_2_HTREE_NOTREF 0x020034 8368fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8378fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Node in HTREE directory referenced twice */ 8388fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_2_HTREE_DUPREF 0x020035 8398fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8408fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Node in HTREE directory has bad min hash */ 8418fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_2_HTREE_MIN_HASH 0x020036 8428fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8438fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Node in HTREE directory has bad max hash */ 8448fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_2_HTREE_MAX_HASH 0x020037 8458fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8468fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Clear invalid HTREE directory */ 8478fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_2_HTREE_CLEAR 0x020038 8488fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8498fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Clear the htree flag forcibly */ 85033db8f80f2b5c5c5d8cd5068205c79f0ea11905bTheodore Ts'o/* #define PR_2_HTREE_FCLR 0x020039 */ 8518fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8528fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o/* Bad block in htree interior node */ 8538fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o#define PR_2_HTREE_BADBLK 0x02003A 8548fdc9985c1e2a4467630b33719b7feb281b7b33bTheodore Ts'o 8550684a4f33b5c268fe12f57fcbc77a880c79ab282Theodore Ts'o/* Error adjusting EA refcount */ 8560684a4f33b5c268fe12f57fcbc77a880c79ab282Theodore Ts'o#define PR_2_ADJ_EA_REFCOUNT 0x02003B 8570684a4f33b5c268fe12f57fcbc77a880c79ab282Theodore Ts'o 858ea1959f01523ffc105747d660ccc5b7f02805928Theodore Ts'o/* Invalid HTREE root node */ 859ea1959f01523ffc105747d660ccc5b7f02805928Theodore Ts'o#define PR_2_HTREE_BAD_ROOT 0x02003C 860ea1959f01523ffc105747d660ccc5b7f02805928Theodore Ts'o 861ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o/* Invalid HTREE limit */ 862ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o#define PR_2_HTREE_BAD_LIMIT 0x02003D 863ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o 864ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o/* Invalid HTREE count */ 865ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o#define PR_2_HTREE_BAD_COUNT 0x02003E 866ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o 867ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o/* HTREE interior node has out-of-order hashes in table */ 868ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o#define PR_2_HTREE_HASH_ORDER 0x02003F 869ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o 870ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o/* Node in HTREE directory has bad depth */ 871b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o#define PR_2_HTREE_BAD_DEPTH 0x020040 872b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o 873b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o/* Duplicate directory entry found */ 874b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o#define PR_2_DUPLICATE_DIRENT 0x020041 875b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o 876b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o/* Non-unique filename found */ 877b0700a1b6083f2f0c19c349f07ca80e70ec456beTheodore Ts'o#define PR_2_NON_UNIQUE_FILE 0x020042 878ad4fa4660404ed88a3231fee338397af11e041b4Theodore Ts'o 8790926668d3af802b4d385d0fc3525a5a4e679574aTheodore Ts'o/* Duplicate directory entry found */ 8800926668d3af802b4d385d0fc3525a5a4e679574aTheodore Ts'o#define PR_2_REPORT_DUP_DIRENT 0x020043 8810926668d3af802b4d385d0fc3525a5a4e679574aTheodore Ts'o 8825d17119d14fe1276936c85d7986695a4543b1aa1Theodore Ts'o/* i_blocks_hi should be zero */ 8835d17119d14fe1276936c85d7986695a4543b1aa1Theodore Ts'o#define PR_2_BLOCKS_HI_ZERO 0x020044 8845d17119d14fe1276936c85d7986695a4543b1aa1Theodore Ts'o 885d45edec0fb2e5d100d122fdda0914560c64def44Theodore Ts'o/* Unexpected HTREE block */ 886d45edec0fb2e5d100d122fdda0914560c64def44Theodore Ts'o#define PR_2_UNEXPECTED_HTREE_BLOCK 0x020045 887d45edec0fb2e5d100d122fdda0914560c64def44Theodore Ts'o 88849a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Inode found in group where _INODE_UNINIT is set */ 88949a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_2_INOREF_BG_INO_UNINIT 0x020046 89049a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 89149a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Inode found in group unused inodes area */ 89249a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_2_INOREF_IN_UNUSED 0x020047 89349a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 894911ec6261568ca56d2d7b9a15f00578c4d127cf4Theodore Ts'o/* i_file_acl_hi should be zero */ 895911ec6261568ca56d2d7b9a15f00578c4d127cf4Theodore Ts'o#define PR_2_I_FILE_ACL_HI_ZERO 0x020048 896911ec6261568ca56d2d7b9a15f00578c4d127cf4Theodore Ts'o 89707307114dea005917b0c3a18a08948435f4a2abcDarrick J. Wong/* htree root node fails checksum */ 89807307114dea005917b0c3a18a08948435f4a2abcDarrick J. Wong#define PR_2_HTREE_ROOT_CSUM_INVALID 0x020049 89907307114dea005917b0c3a18a08948435f4a2abcDarrick J. Wong 90007307114dea005917b0c3a18a08948435f4a2abcDarrick J. Wong/* htree node fails checksum */ 90107307114dea005917b0c3a18a08948435f4a2abcDarrick J. Wong#define PR_2_HTREE_NODE_CSUM_INVALID 0x02004A 90207307114dea005917b0c3a18a08948435f4a2abcDarrick J. Wong 903e8548796a5bb59b2319c81973b7a460f036faa3eDarrick J. Wong/* no space in leaf for checksum */ 904e8548796a5bb59b2319c81973b7a460f036faa3eDarrick J. Wong#define PR_2_LEAF_NODE_MISSING_CSUM 0x02004C 905e8548796a5bb59b2319c81973b7a460f036faa3eDarrick J. Wong 906e8548796a5bb59b2319c81973b7a460f036faa3eDarrick J. Wong/* dir leaf node passes checks, but fails checksum */ 907e8548796a5bb59b2319c81973b7a460f036faa3eDarrick J. Wong#define PR_2_LEAF_NODE_ONLY_CSUM_INVALID 0x02004D 908e8548796a5bb59b2319c81973b7a460f036faa3eDarrick J. Wong 90921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 91021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pass 3 errors 91121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 91221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 9131b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 3: Checking directory connectivity */ 9141b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_PASS_HEADER 0x030000 9151b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 91621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Root inode not allocated */ 9171b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_NO_ROOT_INODE 0x030001 91821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 91921c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* No room in lost+found */ 9201b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_EXPAND_LF_DIR 0x030002 92121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 92221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Unconnected directory inode */ 9231b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_UNCONNECTED_DIR 0x030003 92421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 92521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* /lost+found not found */ 9261b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_NO_LF_DIR 0x030004 92721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 92821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* .. entry is incorrect */ 9291b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_BAD_DOT_DOT 0x030005 9301b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9311b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Bad or non-existent /lost+found. Cannot reconnect */ 9321b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_NO_LPF 0x030006 9331b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9341b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Could not expand /lost+found */ 9351b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_CANT_EXPAND_LPF 0x030007 9361b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9371b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Could not reconnect inode */ 9381b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_CANT_RECONNECT 0x030008 9391b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9401b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while trying to find /lost+found */ 9411b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ERR_FIND_LPF 0x030009 9421b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9431b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error in ext2fs_new_block while creating /lost+found */ 9441b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ERR_LPF_NEW_BLOCK 0x03000A 94521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 9461b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error in ext2fs_new_inode while creating /lost+found */ 9471b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ERR_LPF_NEW_INODE 0x03000B 9481b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 949db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Error in ext2fs_new_dir_block while creating /lost+found */ 9501b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ERR_LPF_NEW_DIR_BLOCK 0x03000C 951db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 9521b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while writing directory block for /lost+found */ 9531b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ERR_LPF_WRITE_BLOCK 0x03000D 9541b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9551b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error while adjusting inode count */ 9561b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ADJUST_INODE 0x03000E 9571b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9581b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Couldn't fix parent directory -- error */ 9591b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_FIX_PARENT_ERR 0x03000F 9601b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 961db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Couldn't fix parent directory -- couldn't find it */ 9621b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_FIX_PARENT_NOFIND 0x030010 963db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 9641b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error allocating inode bitmap */ 9651b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_ALLOCATE_IBITMAP_ERROR 0x030011 966db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 9671b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error creating root directory */ 9681b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_CREATE_ROOT_ERROR 0x030012 9691b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 9701b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Error creating lost and found directory */ 9711b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_3_CREATE_LPF_ERROR 0x030013 97221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 973f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o/* Root inode is not directory; aborting */ 974f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o#define PR_3_ROOT_NOT_DIR_ABORT 0x030014 975f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o 976f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o/* Cannot proceed without a root inode. */ 977f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o#define PR_3_NO_ROOT_INODE_ABORT 0x030015 978f8188fff23dc2d9c9f858fb21264e46b17672825Theodore Ts'o 9797f813ba33711902f5e557da49f98622532e7556dTheodore Ts'o/* Internal error: couldn't find dir_info */ 9804a9f59366b3c5503bde40e9566dc996a0a40626fTheodore Ts'o#define PR_3_NO_DIRINFO 0x030016 9814a9f59366b3c5503bde40e9566dc996a0a40626fTheodore Ts'o 9824a9f59366b3c5503bde40e9566dc996a0a40626fTheodore Ts'o/* Lost+found is not a directory */ 9834a9f59366b3c5503bde40e9566dc996a0a40626fTheodore Ts'o#define PR_3_LPF_NOTDIR 0x030017 9847f813ba33711902f5e557da49f98622532e7556dTheodore Ts'o 9859676f3a94f4cece2458e5a13332c978832bb0ce7Zheng Liu/* Lost+found has inline data */ 9869676f3a94f4cece2458e5a13332c978832bb0ce7Zheng Liu#define PR_3_LPF_INLINE_DATA 0x030018 9879676f3a94f4cece2458e5a13332c978832bb0ce7Zheng Liu 9880991896720917b467e573a5fae38539d950d0617Darrick J. Wong/* Cannot allocate lost+found */ 9890991896720917b467e573a5fae38539d950d0617Darrick J. Wong#define PR_3_LPF_NO_SPACE 0x030019 9900991896720917b467e573a5fae38539d950d0617Darrick J. Wong 991d5da89e868cd7b32801ae8f5322e13d373ab7060Darrick J. Wong/* Insufficient space to recover lost files */ 992d5da89e868cd7b32801ae8f5322e13d373ab7060Darrick J. Wong#define PR_3_NO_SPACE_TO_RECOVER 0x03001A 993d5da89e868cd7b32801ae8f5322e13d373ab7060Darrick J. Wong 99421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 995b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o * Pass 3a --- rehashing diretories 996b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o */ 997b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o/* Pass 3a: Reindexing directories */ 998b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o#define PR_3A_PASS_HEADER 0x031000 999b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o 1000b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o/* Error iterating over directories */ 1001850d05e9aa405497e57c72090b9561af98b1b661Theodore Ts'o#define PR_3A_OPTIMIZE_ITER 0x031001 1002b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o 1003b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o/* Error rehash directory */ 1004db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o#define PR_3A_OPTIMIZE_DIR_ERR 0x031002 1005b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o 1006b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o/* Rehashing dir header */ 1007ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_3A_OPTIMIZE_DIR_HEADER 0x031003 1008b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o 1009b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o/* Rehashing directory %d */ 1010850d05e9aa405497e57c72090b9561af98b1b661Theodore Ts'o#define PR_3A_OPTIMIZE_DIR 0x031004 1011db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 1012db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Rehashing dir end */ 1013850d05e9aa405497e57c72090b9561af98b1b661Theodore Ts'o#define PR_3A_OPTIMIZE_DIR_END 0x031005 1014850d05e9aa405497e57c72090b9561af98b1b661Theodore Ts'o 1015b7a00563b22b0ea47ddc7117508c0b8e0d65df43Theodore Ts'o/* 101621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pass 4 errors 101721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 101821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 10191b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 4: Checking reference counts */ 1020ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_4_PASS_HEADER 0x040000 10211b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 102221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Unattached zero-length inode */ 1023ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_4_ZERO_LEN_INODE 0x040001 102421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 102521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Unattached inode */ 1026ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_4_UNATTACHED_INODE 0x040002 102721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 102821c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* Inode ref count wrong */ 1029ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_4_BAD_REF_COUNT 0x040003 103021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 10311b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Inconsistent inode count information cached */ 1032ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_4_INCONSISTENT_COUNT 0x040004 10331b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 103421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 103521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Pass 5 errors 103621c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 103721c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 10381b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Pass 5: Checking group summary information */ 10391b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_PASS_HEADER 0x050000 1040db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 10411b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Padding at end of inode bitmap is not set. */ 10421b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_INODE_BMAP_PADDING 0x050001 10431b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10441b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Padding at end of block bitmap is not set. */ 10451b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_BLOCK_BMAP_PADDING 0x050002 10461b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10471b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Block bitmap differences header */ 1048ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_5_BLOCK_BITMAP_HEADER 0x050003 10491b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10501b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Block not used, but marked in bitmap */ 1051f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o#define PR_5_BLOCK_UNUSED 0x050004 1052db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 10531b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Block used, but not marked used in bitmap */ 10541b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_BLOCK_USED 0x050005 10551b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 1056db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Block bitmap differences end */ 10571b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_BLOCK_BITMAP_END 0x050006 10581b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10591b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Inode bitmap differences header */ 10601b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_INODE_BITMAP_HEADER 0x050007 10611b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10621b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Inode not used, but marked in bitmap */ 1063f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o#define PR_5_INODE_UNUSED 0x050008 1064db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 10651b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Inode used, but not marked used in bitmap */ 10661b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_INODE_USED 0x050009 10671b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 1068db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o/* Inode bitmap differences end */ 10691b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_INODE_BITMAP_END 0x05000A 10701b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10711b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Free inodes count for group wrong */ 10721b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_FREE_INODE_COUNT_GROUP 0x05000B 10731b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10741b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Directories count for group wrong */ 10751b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_FREE_DIR_COUNT_GROUP 0x05000C 10761b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10771b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Free inodes count wrong */ 1078ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilger#define PR_5_FREE_INODE_COUNT 0x05000D 10791b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10801b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Free blocks count for group wrong */ 10811b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_FREE_BLOCK_COUNT_GROUP 0x05000E 10821b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10831b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Free blocks count wrong */ 10841b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_FREE_BLOCK_COUNT 0x05000F 10851b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o 10861b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Programming error: bitmap endpoints don't match */ 10871b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_BMAP_ENDPOINTS 0x050010 1088bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o 10891b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o/* Internal error: fudging end of bitmap */ 10901b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'o#define PR_5_FUDGE_BITMAP_ERROR 0x050011 1091bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o 1092bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o/* Error copying in replacement inode bitmap */ 1093bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o#define PR_5_COPY_IBITMAP_ERROR 0x050012 1094bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o 1095bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o/* Error copying in replacement block bitmap */ 1096bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o#define PR_5_COPY_BBITMAP_ERROR 0x050013 1097bbd47d76b7c12e98f9bf79b7c2582173252b4db6Theodore Ts'o 1098f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o/* Block range not used, but marked in bitmap */ 1099f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o#define PR_5_BLOCK_RANGE_UNUSED 0x050014 1100db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o 1101f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o/* Block range used, but not marked used in bitmap */ 1102f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o#define PR_5_BLOCK_RANGE_USED 0x050015 1103f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o 1104f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o/* Inode range not used, but marked in bitmap */ 1105f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o#define PR_5_INODE_RANGE_UNUSED 0x050016 110649a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 1107f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o/* Inode rangeused, but not marked used in bitmap */ 1108f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o#define PR_5_INODE_RANGE_USED 0x050017 1109f122632e6bb8a51126da2c71bdb95fbcb52f51bcTheodore Ts'o 111049a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Block in use but group is marked BLOCK_UNINIT */ 111149a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_5_BLOCK_UNINIT 0x050018 111249a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 111349a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos/* Inode in use but group is marked INODE_UNINIT */ 111449a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos#define PR_5_INODE_UNINIT 0x050019 111549a7360ba6b986242d9f0f33e102291d2e0dfb47Jose R. Santos 111611ac780e5f6a896e6b166314fafe66f334ca162aDarrick J. Wong/* Inode bitmap checksum does not match */ 111711ac780e5f6a896e6b166314fafe66f334ca162aDarrick J. Wong#define PR_5_INODE_BITMAP_CSUM_INVALID 0x05001A 111811ac780e5f6a896e6b166314fafe66f334ca162aDarrick J. Wong 1119da670fe0b52babe9721457039c66aefd1d9818a7Darrick J. Wong/* Block bitmap checksum does not match */ 1120da670fe0b52babe9721457039c66aefd1d9818a7Darrick J. Wong#define PR_5_BLOCK_BITMAP_CSUM_INVALID 0x05001B 1121da670fe0b52babe9721457039c66aefd1d9818a7Darrick J. Wong 112221c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* 11235107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah * Post-Pass 5 errors 11245107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah */ 11255107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah 11265107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah/* Recreate the journal if E2F_FLAG_JOURNAL_INODE flag is set */ 11275107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah#define PR_6_RECREATE_JOURNAL 0x060001 11285107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah 11297943ccf5f2fa76f1dc164ddd1ffd5044a1dca31aAditya Kali/* Update quota information if it is inconsistent */ 11307943ccf5f2fa76f1dc164ddd1ffd5044a1dca31aAditya Kali#define PR_6_UPDATE_QUOTAS 0x060002 11317943ccf5f2fa76f1dc164ddd1ffd5044a1dca31aAditya Kali 11325107d0d196b9c51cf18380b6996b1074afe51df2Kalpak Shah/* 113321c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o * Function declarations 113421c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o */ 11351b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'oint fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx); 11361b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'oint end_problem_latch(e2fsck_t ctx, int mask); 11371b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'oint set_latch_flags(int mask, int setflags, int clearflags); 11381b6bf1759af884957234b7dce768b785f792abd0Theodore Ts'oint get_latch_flags(int mask, int *value); 1139ae33f578c01b7171e556a75158baf7b713bfe68fAndreas Dilgervoid clear_problem_context(struct problem_context *pctx); 114021c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 114121c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o/* message.c */ 1142b0e91c89257d906324d6081c952157f768dfc699Theodore Ts'ovoid print_e2fsck_message(FILE *f, e2fsck_t ctx, const char *msg, 1143db0691b55521a072e05b47a4862bf5a30d550e7dTheodore Ts'o struct problem_context *pctx, int first, 11441a191d6648c8511d389cd9bea11dedb671f64456Theodore Ts'o int recurse); 114521c84b71e205b5ab13f14343da5645dcc985856dTheodore Ts'o 1146