|
@@ -124,8 +124,7 @@ static struct buffer_head *__ext4_read_dirblock(struct inode *inode,
|
|
|
"directory leaf block found instead of index block");
|
|
|
return ERR_PTR(-EIO);
|
|
|
}
|
|
|
- if (!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) ||
|
|
|
+ if (!ext4_has_metadata_csum(inode->i_sb) ||
|
|
|
buffer_verified(bh))
|
|
|
return bh;
|
|
|
|
|
@@ -338,8 +337,7 @@ int ext4_dirent_csum_verify(struct inode *inode, struct ext4_dir_entry *dirent)
|
|
|
{
|
|
|
struct ext4_dir_entry_tail *t;
|
|
|
|
|
|
- if (!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (!ext4_has_metadata_csum(inode->i_sb))
|
|
|
return 1;
|
|
|
|
|
|
t = get_dirent_tail(inode, dirent);
|
|
@@ -360,8 +358,7 @@ static void ext4_dirent_csum_set(struct inode *inode,
|
|
|
{
|
|
|
struct ext4_dir_entry_tail *t;
|
|
|
|
|
|
- if (!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (!ext4_has_metadata_csum(inode->i_sb))
|
|
|
return;
|
|
|
|
|
|
t = get_dirent_tail(inode, dirent);
|
|
@@ -436,8 +433,7 @@ static int ext4_dx_csum_verify(struct inode *inode,
|
|
|
struct dx_tail *t;
|
|
|
int count_offset, limit, count;
|
|
|
|
|
|
- if (!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (!ext4_has_metadata_csum(inode->i_sb))
|
|
|
return 1;
|
|
|
|
|
|
c = get_dx_countlimit(inode, dirent, &count_offset);
|
|
@@ -466,8 +462,7 @@ static void ext4_dx_csum_set(struct inode *inode, struct ext4_dir_entry *dirent)
|
|
|
struct dx_tail *t;
|
|
|
int count_offset, limit, count;
|
|
|
|
|
|
- if (!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (!ext4_has_metadata_csum(inode->i_sb))
|
|
|
return;
|
|
|
|
|
|
c = get_dx_countlimit(inode, dirent, &count_offset);
|
|
@@ -555,8 +550,7 @@ static inline unsigned dx_root_limit(struct inode *dir, unsigned infosize)
|
|
|
unsigned entry_space = dir->i_sb->s_blocksize - EXT4_DIR_REC_LEN(1) -
|
|
|
EXT4_DIR_REC_LEN(2) - infosize;
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(dir->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(dir->i_sb))
|
|
|
entry_space -= sizeof(struct dx_tail);
|
|
|
return entry_space / sizeof(struct dx_entry);
|
|
|
}
|
|
@@ -565,8 +559,7 @@ static inline unsigned dx_node_limit(struct inode *dir)
|
|
|
{
|
|
|
unsigned entry_space = dir->i_sb->s_blocksize - EXT4_DIR_REC_LEN(0);
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(dir->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(dir->i_sb))
|
|
|
entry_space -= sizeof(struct dx_tail);
|
|
|
return entry_space / sizeof(struct dx_entry);
|
|
|
}
|
|
@@ -1524,8 +1517,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
|
|
|
int csum_size = 0;
|
|
|
int err = 0, i;
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(dir->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(dir->i_sb))
|
|
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
|
|
|
|
|
bh2 = ext4_append(handle, dir, &newblock);
|
|
@@ -1691,8 +1683,7 @@ static int add_dirent_to_buf(handle_t *handle, struct dentry *dentry,
|
|
|
int csum_size = 0;
|
|
|
int err;
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(inode->i_sb))
|
|
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
|
|
|
|
|
if (!de) {
|
|
@@ -1759,8 +1750,7 @@ static int make_indexed_dir(handle_t *handle, struct dentry *dentry,
|
|
|
struct fake_dirent *fde;
|
|
|
int csum_size = 0;
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(inode->i_sb))
|
|
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
|
|
|
|
|
blocksize = dir->i_sb->s_blocksize;
|
|
@@ -1877,8 +1867,7 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
|
|
|
ext4_lblk_t block, blocks;
|
|
|
int csum_size = 0;
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(inode->i_sb))
|
|
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
|
|
|
|
|
sb = dir->i_sb;
|
|
@@ -2142,8 +2131,7 @@ static int ext4_delete_entry(handle_t *handle,
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(dir->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(dir->i_sb))
|
|
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
|
|
|
|
|
BUFFER_TRACE(bh, "get_write_access");
|
|
@@ -2362,8 +2350,7 @@ static int ext4_init_new_dir(handle_t *handle, struct inode *dir,
|
|
|
int csum_size = 0;
|
|
|
int err;
|
|
|
|
|
|
- if (EXT4_HAS_RO_COMPAT_FEATURE(dir->i_sb,
|
|
|
- EXT4_FEATURE_RO_COMPAT_METADATA_CSUM))
|
|
|
+ if (ext4_has_metadata_csum(dir->i_sb))
|
|
|
csum_size = sizeof(struct ext4_dir_entry_tail);
|
|
|
|
|
|
if (ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
|