summaryrefslogtreecommitdiff
path: root/e2fsck/problem.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2015-11-30 15:22:07 -0500
committerTheodore Ts'o <tytso@mit.edu>2015-11-30 15:22:07 -0500
commitf680db654b2f095712f2528dc178eea5cfd6401f (patch)
treea8c6f2281b25843ba6d4b108364ea71880210b9c /e2fsck/problem.h
parentc5b3ae7fb5d58dd12a1e02c2443bad32c8a76150 (diff)
downloade2fsprogs-f680db654b2f095712f2528dc178eea5cfd6401f.tar.gz
e2fsck: zap extent-format inode with no extent header
The kernel requires all inodes with the extent flag set to have a valid extent tree header in i_block. The ext2fs_extent_open2 prefers to initialize the header if i_block is zeroed, but e2fsck never writes the new header to disk. Since the kernel won't create inodes with the flag and no header anyway, zap such files. Reported-by: Bo Branten <bosse@acc.umu.se> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'e2fsck/problem.h')
-rw-r--r--e2fsck/problem.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/e2fsck/problem.h b/e2fsck/problem.h
index 212ed350..85014f9c 100644
--- a/e2fsck/problem.h
+++ b/e2fsck/problem.h
@@ -587,6 +587,45 @@ struct problem_context {
/* Inode logical block is misaligned */
#define PR_1_MISALIGNED_CLUSTER 0x010074
+/* Inode has INLINE_DATA_FL flag but extended attribute not found */
+#define PR_1_INLINE_DATA_NO_ATTR 0x010075
+
+/* extents/inlinedata set on fifo/socket/device */
+#define PR_1_SPECIAL_EXTENTS_IDATA 0x010076
+
+/* idata/extent flag set and extent header found, clear idata flag */
+#define PR_1_CLEAR_INLINE_DATA_FOR_EXTENT 0x010077
+
+/* inlinedata/extent set and no extent header found, clear extent flag */
+#define PR_1_CLEAR_EXTENT_FOR_INLINE_DATA 0x010078
+
+/* inlinedata/extent set, clear both flags */
+#define PR_1_CLEAR_EXTENT_INLINE_DATA_FLAGS 0x010079
+
+/* inlinedata/extent set, clear inode */
+#define PR_1_CLEAR_EXTENT_INLINE_DATA_INODE 0x01007A
+
+/* badblocks is in badblocks */
+#define PR_1_BADBLOCKS_IN_BADBLOCKS 0x01007B
+
+/* can't allocate extent region */
+#define PR_1_EXTENT_ALLOC_REGION_ABORT 0x01007C
+
+/* leaf extent collision */
+#define PR_1_EXTENT_COLLISION 0x01007D
+
+/* Error allocating memory for encrypted directory list */
+#define PR_1_ALLOCATE_ENCRYPTED_DIRLIST 0x01007E
+
+/* extent tree max depth too big */
+#define PR_1_EXTENT_BAD_MAX_DEPTH 0x01007F
+
+/* bigalloc fs cannot have blockmap files */
+#define PR_1_NO_BIGALLOC_BLOCKMAP_FILES 0x010080
+
+/* Missing extent header */
+#define PR_1_MISSING_EXTENT_HEADER 0x010081
+
/*
* Pass 1b errors
*/