Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b7b7779 authored by Kaho Ng's avatar Kaho Ng Committed by Theodore Ts'o
Browse files

ext4: remove old feature helpers



Use the ext4_{has,set,clear}_feature_* helpers to replace the old
feature helpers.

Signed-off-by: default avatarKaho Ng <ngkaho1234@gmail.com>
Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent 49da9392
Loading
Loading
Loading
Loading
+0 −20
Original line number Original line Diff line number Diff line
@@ -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
+1 −1
Original line number Original line Diff line number Diff line
@@ -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
+3 −4
Original line number Original line Diff line number Diff line
@@ -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 &&
+2 −4
Original line number Original line Diff line number Diff line
@@ -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);
		}
		}