diff options
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 2e9ffa9100b..c827e47d556 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -402,6 +402,7 @@ struct flex_groups { | |||
402 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ | 402 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ |
403 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ | 403 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ |
404 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ | 404 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ |
405 | #define EXT4_INLINE_DATA_FL 0x10000000 /* Inode has inline data. */ | ||
405 | #define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */ | 406 | #define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */ |
406 | 407 | ||
407 | #define EXT4_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ | 408 | #define EXT4_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ |
@@ -458,6 +459,7 @@ enum { | |||
458 | EXT4_INODE_EXTENTS = 19, /* Inode uses extents */ | 459 | EXT4_INODE_EXTENTS = 19, /* Inode uses extents */ |
459 | EXT4_INODE_EA_INODE = 21, /* Inode used for large EA */ | 460 | EXT4_INODE_EA_INODE = 21, /* Inode used for large EA */ |
460 | EXT4_INODE_EOFBLOCKS = 22, /* Blocks allocated beyond EOF */ | 461 | EXT4_INODE_EOFBLOCKS = 22, /* Blocks allocated beyond EOF */ |
462 | EXT4_INODE_INLINE_DATA = 28, /* Data in inode. */ | ||
461 | EXT4_INODE_RESERVED = 31, /* reserved for ext4 lib */ | 463 | EXT4_INODE_RESERVED = 31, /* reserved for ext4 lib */ |
462 | }; | 464 | }; |
463 | 465 | ||
@@ -504,6 +506,7 @@ static inline void ext4_check_flag_values(void) | |||
504 | CHECK_FLAG_VALUE(EXTENTS); | 506 | CHECK_FLAG_VALUE(EXTENTS); |
505 | CHECK_FLAG_VALUE(EA_INODE); | 507 | CHECK_FLAG_VALUE(EA_INODE); |
506 | CHECK_FLAG_VALUE(EOFBLOCKS); | 508 | CHECK_FLAG_VALUE(EOFBLOCKS); |
509 | CHECK_FLAG_VALUE(INLINE_DATA); | ||
507 | CHECK_FLAG_VALUE(RESERVED); | 510 | CHECK_FLAG_VALUE(RESERVED); |
508 | } | 511 | } |
509 | 512 | ||
@@ -918,6 +921,10 @@ struct ext4_inode_info { | |||
918 | /* on-disk additional length */ | 921 | /* on-disk additional length */ |
919 | __u16 i_extra_isize; | 922 | __u16 i_extra_isize; |
920 | 923 | ||
924 | /* Indicate the inline data space. */ | ||
925 | u16 i_inline_off; | ||
926 | u16 i_inline_size; | ||
927 | |||
921 | #ifdef CONFIG_QUOTA | 928 | #ifdef CONFIG_QUOTA |
922 | /* quota space reservation, managed internally by quota code */ | 929 | /* quota space reservation, managed internally by quota code */ |
923 | qsize_t i_reserved_quota; | 930 | qsize_t i_reserved_quota; |
@@ -1376,6 +1383,7 @@ enum { | |||
1376 | EXT4_STATE_DELALLOC_RESERVED, /* blks already reserved for delalloc */ | 1383 | EXT4_STATE_DELALLOC_RESERVED, /* blks already reserved for delalloc */ |
1377 | EXT4_STATE_DIOREAD_LOCK, /* Disable support for dio read | 1384 | EXT4_STATE_DIOREAD_LOCK, /* Disable support for dio read |
1378 | nolocking */ | 1385 | nolocking */ |
1386 | EXT4_STATE_MAY_INLINE_DATA, /* may have in-inode data */ | ||
1379 | }; | 1387 | }; |
1380 | 1388 | ||
1381 | #define EXT4_INODE_BIT_FNS(name, field, offset) \ | 1389 | #define EXT4_INODE_BIT_FNS(name, field, offset) \ |
@@ -1497,7 +1505,7 @@ static inline void ext4_clear_state_flags(struct ext4_inode_info *ei) | |||
1497 | #define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000 /* data in dirent */ | 1505 | #define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000 /* data in dirent */ |
1498 | #define EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM 0x2000 /* use crc32c for bg */ | 1506 | #define EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM 0x2000 /* use crc32c for bg */ |
1499 | #define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000 /* >2GB or 3-lvl htree */ | 1507 | #define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000 /* >2GB or 3-lvl htree */ |
1500 | #define EXT4_FEATURE_INCOMPAT_INLINEDATA 0x8000 /* data in inode */ | 1508 | #define EXT4_FEATURE_INCOMPAT_INLINE_DATA 0x8000 /* data in inode */ |
1501 | 1509 | ||
1502 | #define EXT2_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_EXT_ATTR | 1510 | #define EXT2_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_EXT_ATTR |
1503 | #define EXT2_FEATURE_INCOMPAT_SUPP (EXT4_FEATURE_INCOMPAT_FILETYPE| \ | 1511 | #define EXT2_FEATURE_INCOMPAT_SUPP (EXT4_FEATURE_INCOMPAT_FILETYPE| \ |