diff options
author | Jiaying Zhang <jiayingz@google.com> | 2010-02-24 09:52:53 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-02-24 09:52:53 -0500 |
commit | c8d46e41bc744c8fa0092112af3942fcd46c8b18 (patch) | |
tree | fd8bad55c3c9903b6c798b838396bc832bbf7f4b /fs/ext4/ext4.h | |
parent | 73b50c1c92666d326b5fa2c945d46509f2f6d91f (diff) |
ext4: Add flag to files with blocks intentionally past EOF
fallocate() may potentially instantiate blocks past EOF, depending
on the flags used when it is called.
e2fsck currently has a test for blocks past i_size, and it
sometimes trips up - noticeably on xfstests 013 which runs fsstress.
This patch from Jiayang does fix it up - it (along with
e2fsprogs updates and other patches recently from Aneesh) has
survived many fsstress runs in a row.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jiaying Zhang <jiayingz@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 509437ffb71b..74664ca19e22 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -285,10 +285,11 @@ struct flex_groups { | |||
285 | #define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ | 285 | #define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ |
286 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ | 286 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ |
287 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ | 287 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ |
288 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ | ||
288 | #define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */ | 289 | #define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */ |
289 | 290 | ||
290 | #define EXT4_FL_USER_VISIBLE 0x000BDFFF /* User visible flags */ | 291 | #define EXT4_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ |
291 | #define EXT4_FL_USER_MODIFIABLE 0x000B80FF /* User modifiable flags */ | 292 | #define EXT4_FL_USER_MODIFIABLE 0x004B80FF /* User modifiable flags */ |
292 | 293 | ||
293 | /* Flags that should be inherited by new inodes from their parent. */ | 294 | /* Flags that should be inherited by new inodes from their parent. */ |
294 | #define EXT4_FL_INHERITED (EXT4_SECRM_FL | EXT4_UNRM_FL | EXT4_COMPR_FL |\ | 295 | #define EXT4_FL_INHERITED (EXT4_SECRM_FL | EXT4_UNRM_FL | EXT4_COMPR_FL |\ |