diff options
Diffstat (limited to 'src/ext4_inode.c')
| -rw-r--r-- | src/ext4_inode.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/ext4_inode.c b/src/ext4_inode.c index 2c088cd..c64ddbc 100644 --- a/src/ext4_inode.c +++ b/src/ext4_inode.c @@ -270,14 +270,21 @@ void ext4_inode_set_generation(struct ext4_inode *inode, uint32_t gen) inode->generation = to_le32(gen); } -uint16_t ext4_inode_get_extra_isize(struct ext4_inode *inode) +uint16_t ext4_inode_get_extra_isize(struct ext4_sblock *sb, + struct ext4_inode *inode) { - return to_le16(inode->extra_isize); + if (ext4_sb_feature_ro_com(sb, EXT4_FRO_COM_EXTRA_ISIZE)) + return to_le16(inode->extra_isize); + else + return 0; } -void ext4_inode_set_extra_isize(struct ext4_inode *inode, uint16_t size) +void ext4_inode_set_extra_isize(struct ext4_sblock *sb, + struct ext4_inode *inode, + uint16_t size) { - inode->extra_isize = to_le16(size); + if (ext4_sb_feature_ro_com(sb, EXT4_FRO_COM_EXTRA_ISIZE)) + inode->extra_isize = to_le16(size); } uint64_t ext4_inode_get_file_acl(struct ext4_inode *inode, |
