aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r--fs/ext4/ext4.h10
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| \