ext4: remove old feature helpers
Use the ext4_{has,set,clear}_feature_* helpers to replace the old feature helpers. Signed-off-by: Kaho Ng <ngkaho1234@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
49da939272
commit
0b7b77791c
|
@ -1642,26 +1642,6 @@ static inline void ext4_clear_state_flags(struct ext4_inode_info *ei)
|
||||||
* Feature set definitions
|
* Feature set definitions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Use the ext4_{has,set,clear}_feature_* helpers; these will be removed */
|
|
||||||
#define EXT4_HAS_COMPAT_FEATURE(sb,mask) \
|
|
||||||
((EXT4_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask)) != 0)
|
|
||||||
#define EXT4_HAS_RO_COMPAT_FEATURE(sb,mask) \
|
|
||||||
((EXT4_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask)) != 0)
|
|
||||||
#define EXT4_HAS_INCOMPAT_FEATURE(sb,mask) \
|
|
||||||
((EXT4_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask)) != 0)
|
|
||||||
#define EXT4_SET_COMPAT_FEATURE(sb,mask) \
|
|
||||||
EXT4_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask)
|
|
||||||
#define EXT4_SET_RO_COMPAT_FEATURE(sb,mask) \
|
|
||||||
EXT4_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask)
|
|
||||||
#define EXT4_SET_INCOMPAT_FEATURE(sb,mask) \
|
|
||||||
EXT4_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask)
|
|
||||||
#define EXT4_CLEAR_COMPAT_FEATURE(sb,mask) \
|
|
||||||
EXT4_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask)
|
|
||||||
#define EXT4_CLEAR_RO_COMPAT_FEATURE(sb,mask) \
|
|
||||||
EXT4_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask)
|
|
||||||
#define EXT4_CLEAR_INCOMPAT_FEATURE(sb,mask) \
|
|
||||||
EXT4_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask)
|
|
||||||
|
|
||||||
#define EXT4_FEATURE_COMPAT_DIR_PREALLOC 0x0001
|
#define EXT4_FEATURE_COMPAT_DIR_PREALLOC 0x0001
|
||||||
#define EXT4_FEATURE_COMPAT_IMAGIC_INODES 0x0002
|
#define EXT4_FEATURE_COMPAT_IMAGIC_INODES 0x0002
|
||||||
#define EXT4_FEATURE_COMPAT_HAS_JOURNAL 0x0004
|
#define EXT4_FEATURE_COMPAT_HAS_JOURNAL 0x0004
|
||||||
|
|
|
@ -802,7 +802,7 @@ struct inode *__ext4_new_inode(handle_t *handle, struct inode *dir,
|
||||||
} else
|
} else
|
||||||
inode_init_owner(inode, dir, mode);
|
inode_init_owner(inode, dir, mode);
|
||||||
|
|
||||||
if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_PROJECT) &&
|
if (ext4_has_feature_project(sb) &&
|
||||||
ext4_test_inode_flag(dir, EXT4_INODE_PROJINHERIT))
|
ext4_test_inode_flag(dir, EXT4_INODE_PROJINHERIT))
|
||||||
ei->i_projid = EXT4_I(dir)->i_projid;
|
ei->i_projid = EXT4_I(dir)->i_projid;
|
||||||
else
|
else
|
||||||
|
|
|
@ -4414,7 +4414,7 @@ static inline void ext4_iget_extra_inode(struct inode *inode,
|
||||||
|
|
||||||
int ext4_get_projid(struct inode *inode, kprojid_t *projid)
|
int ext4_get_projid(struct inode *inode, kprojid_t *projid)
|
||||||
{
|
{
|
||||||
if (!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb, EXT4_FEATURE_RO_COMPAT_PROJECT))
|
if (!ext4_has_feature_project(inode->i_sb))
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
*projid = EXT4_I(inode)->i_projid;
|
*projid = EXT4_I(inode)->i_projid;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -4481,7 +4481,7 @@ struct inode *ext4_iget(struct super_block *sb, unsigned long ino)
|
||||||
inode->i_mode = le16_to_cpu(raw_inode->i_mode);
|
inode->i_mode = le16_to_cpu(raw_inode->i_mode);
|
||||||
i_uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low);
|
i_uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low);
|
||||||
i_gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low);
|
i_gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low);
|
||||||
if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_PROJECT) &&
|
if (ext4_has_feature_project(sb) &&
|
||||||
EXT4_INODE_SIZE(sb) > EXT4_GOOD_OLD_INODE_SIZE &&
|
EXT4_INODE_SIZE(sb) > EXT4_GOOD_OLD_INODE_SIZE &&
|
||||||
EXT4_FITS_IN_INODE(raw_inode, ei, i_projid))
|
EXT4_FITS_IN_INODE(raw_inode, ei, i_projid))
|
||||||
i_projid = (projid_t)le32_to_cpu(raw_inode->i_projid);
|
i_projid = (projid_t)le32_to_cpu(raw_inode->i_projid);
|
||||||
|
@ -4885,8 +4885,7 @@ static int ext4_do_update_inode(handle_t *handle,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BUG_ON(!EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
BUG_ON(!ext4_has_feature_project(inode->i_sb) &&
|
||||||
EXT4_FEATURE_RO_COMPAT_PROJECT) &&
|
|
||||||
i_projid != EXT4_DEF_PROJID);
|
i_projid != EXT4_DEF_PROJID);
|
||||||
|
|
||||||
if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE &&
|
if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE &&
|
||||||
|
|
|
@ -310,8 +310,7 @@ static int ext4_ioctl_setproject(struct file *filp, __u32 projid)
|
||||||
struct ext4_inode *raw_inode;
|
struct ext4_inode *raw_inode;
|
||||||
struct dquot *transfer_to[MAXQUOTAS] = { };
|
struct dquot *transfer_to[MAXQUOTAS] = { };
|
||||||
|
|
||||||
if (!EXT4_HAS_RO_COMPAT_FEATURE(sb,
|
if (!ext4_has_feature_project(sb)) {
|
||||||
EXT4_FEATURE_RO_COMPAT_PROJECT)) {
|
|
||||||
if (projid != EXT4_DEF_PROJID)
|
if (projid != EXT4_DEF_PROJID)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
else
|
else
|
||||||
|
@ -842,8 +841,7 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
ext4_get_inode_flags(ei);
|
ext4_get_inode_flags(ei);
|
||||||
fa.fsx_xflags = ext4_iflags_to_xflags(ei->i_flags & EXT4_FL_USER_VISIBLE);
|
fa.fsx_xflags = ext4_iflags_to_xflags(ei->i_flags & EXT4_FL_USER_VISIBLE);
|
||||||
|
|
||||||
if (EXT4_HAS_RO_COMPAT_FEATURE(inode->i_sb,
|
if (ext4_has_feature_project(inode->i_sb)) {
|
||||||
EXT4_FEATURE_RO_COMPAT_PROJECT)) {
|
|
||||||
fa.fsx_projid = (__u32)from_kprojid(&init_user_ns,
|
fa.fsx_projid = (__u32)from_kprojid(&init_user_ns,
|
||||||
EXT4_I(inode)->i_projid);
|
EXT4_I(inode)->i_projid);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue