@@ -402,6 +402,7 @@ struct flex_groups {
402
402
#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */
403
403
#define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */
404
404
#define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */
405
+ #define EXT4_INLINE_DATA_FL 0x10000000 /* Inode has inline data. */
405
406
#define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */
406
407
407
408
#define EXT4_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */
@@ -458,6 +459,7 @@ enum {
458
459
EXT4_INODE_EXTENTS = 19 , /* Inode uses extents */
459
460
EXT4_INODE_EA_INODE = 21 , /* Inode used for large EA */
460
461
EXT4_INODE_EOFBLOCKS = 22 , /* Blocks allocated beyond EOF */
462
+ EXT4_INODE_INLINE_DATA = 28 , /* Data in inode. */
461
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
506
CHECK_FLAG_VALUE (EXTENTS );
505
507
CHECK_FLAG_VALUE (EA_INODE );
506
508
CHECK_FLAG_VALUE (EOFBLOCKS );
509
+ CHECK_FLAG_VALUE (INLINE_DATA );
507
510
CHECK_FLAG_VALUE (RESERVED );
508
511
}
509
512
@@ -918,6 +921,10 @@ struct ext4_inode_info {
918
921
/* on-disk additional length */
919
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
928
#ifdef CONFIG_QUOTA
922
929
/* quota space reservation, managed internally by quota code */
923
930
qsize_t i_reserved_quota ;
@@ -1376,6 +1383,7 @@ enum {
1376
1383
EXT4_STATE_DELALLOC_RESERVED , /* blks already reserved for delalloc */
1377
1384
EXT4_STATE_DIOREAD_LOCK , /* Disable support for dio read
1378
1385
nolocking */
1386
+ EXT4_STATE_MAY_INLINE_DATA , /* may have in-inode data */
1379
1387
};
1380
1388
1381
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
1505
#define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000 /* data in dirent */
1498
1506
#define EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM 0x2000 /* use crc32c for bg */
1499
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
1510
#define EXT2_FEATURE_COMPAT_SUPP EXT4_FEATURE_COMPAT_EXT_ATTR
1503
1511
#define EXT2_FEATURE_INCOMPAT_SUPP (EXT4_FEATURE_INCOMPAT_FILETYPE| \
0 commit comments