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

Commit d912f296 authored by Chao Yu's avatar Chao Yu Committed by Jaegeuk Kim
Browse files

f2fs: clean up f2fs_sb_has_##feature_name



In F2FS_HAS_FEATURE(), we will use F2FS_SB(sb) to get sbi pointer to
access .raw_super field, to avoid unneeded pointer conversion, this
patch changes to F2FS_HAS_FEATURE() accept sbi parameter directly.

Just do cleanup, no logic change.

Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 74a52615
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1465,7 +1465,7 @@ static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc)
	 * invalidate intermediate page cache borrowed from meta inode
	 * invalidate intermediate page cache borrowed from meta inode
	 * which are used for migration of encrypted inode's blocks.
	 * which are used for migration of encrypted inode's blocks.
	 */
	 */
	if (f2fs_sb_has_encrypt(sbi->sb))
	if (f2fs_sb_has_encrypt(sbi))
		invalidate_mapping_pages(META_MAPPING(sbi),
		invalidate_mapping_pages(META_MAPPING(sbi),
				MAIN_BLKADDR(sbi), MAX_BLKADDR(sbi) - 1);
				MAIN_BLKADDR(sbi), MAX_BLKADDR(sbi) - 1);


+12 −11
Original line number Original line Diff line number Diff line
@@ -152,12 +152,13 @@ struct f2fs_mount_info {
#define F2FS_FEATURE_VERITY		0x0400	/* reserved */
#define F2FS_FEATURE_VERITY		0x0400	/* reserved */
#define F2FS_FEATURE_SB_CHKSUM		0x0800
#define F2FS_FEATURE_SB_CHKSUM		0x0800


#define F2FS_HAS_FEATURE(sb, mask)					\
#define __F2FS_HAS_FEATURE(raw_super, mask)				\
	((F2FS_SB(sb)->raw_super->feature & cpu_to_le32(mask)) != 0)
	((raw_super->feature & cpu_to_le32(mask)) != 0)
#define F2FS_SET_FEATURE(sb, mask)					\
#define F2FS_HAS_FEATURE(sbi, mask)	__F2FS_HAS_FEATURE(sbi->raw_super, mask)
	(F2FS_SB(sb)->raw_super->feature |= cpu_to_le32(mask))
#define F2FS_SET_FEATURE(sbi, mask)					\
#define F2FS_CLEAR_FEATURE(sb, mask)					\
	(sbi->raw_super->feature |= cpu_to_le32(mask))
	(F2FS_SB(sb)->raw_super->feature &= ~cpu_to_le32(mask))
#define F2FS_CLEAR_FEATURE(sbi, mask)					\
	(sbi->raw_super->feature &= ~cpu_to_le32(mask))


/*
/*
 * Default values for user and/or group using reserved blocks
 * Default values for user and/or group using reserved blocks
@@ -3458,9 +3459,9 @@ static inline bool f2fs_post_read_required(struct inode *inode)
}
}


#define F2FS_FEATURE_FUNCS(name, flagname) \
#define F2FS_FEATURE_FUNCS(name, flagname) \
static inline int f2fs_sb_has_##name(struct super_block *sb) \
static inline int f2fs_sb_has_##name(struct f2fs_sb_info *sbi) \
{ \
{ \
	return F2FS_HAS_FEATURE(sb, F2FS_FEATURE_##flagname); \
	return F2FS_HAS_FEATURE(sbi, F2FS_FEATURE_##flagname); \
}
}


F2FS_FEATURE_FUNCS(encrypt, ENCRYPT);
F2FS_FEATURE_FUNCS(encrypt, ENCRYPT);
@@ -3490,7 +3491,7 @@ static inline int get_blkz_type(struct f2fs_sb_info *sbi,


static inline bool f2fs_hw_should_discard(struct f2fs_sb_info *sbi)
static inline bool f2fs_hw_should_discard(struct f2fs_sb_info *sbi)
{
{
	return f2fs_sb_has_blkzoned(sbi->sb);
	return f2fs_sb_has_blkzoned(sbi);
}
}


static inline bool f2fs_hw_support_discard(struct f2fs_sb_info *sbi)
static inline bool f2fs_hw_support_discard(struct f2fs_sb_info *sbi)
@@ -3565,7 +3566,7 @@ static inline bool f2fs_force_buffered_io(struct inode *inode,
	 * for blkzoned device, fallback direct IO to buffered IO, so
	 * for blkzoned device, fallback direct IO to buffered IO, so
	 * all IOs can be serialized by log-structured write.
	 * all IOs can be serialized by log-structured write.
	 */
	 */
	if (f2fs_sb_has_blkzoned(sbi->sb))
	if (f2fs_sb_has_blkzoned(sbi))
		return true;
		return true;
	if (test_opt(sbi, LFS) && (rw == WRITE) &&
	if (test_opt(sbi, LFS) && (rw == WRITE) &&
				block_unaligned_IO(inode, iocb, iter))
				block_unaligned_IO(inode, iocb, iter))
@@ -3588,7 +3589,7 @@ extern void f2fs_build_fault_attr(struct f2fs_sb_info *sbi, unsigned int rate,
static inline bool is_journalled_quota(struct f2fs_sb_info *sbi)
static inline bool is_journalled_quota(struct f2fs_sb_info *sbi)
{
{
#ifdef CONFIG_QUOTA
#ifdef CONFIG_QUOTA
	if (f2fs_sb_has_quota_ino(sbi->sb))
	if (f2fs_sb_has_quota_ino(sbi))
		return true;
		return true;
	if (F2FS_OPTION(sbi).s_qf_names[USRQUOTA] ||
	if (F2FS_OPTION(sbi).s_qf_names[USRQUOTA] ||
		F2FS_OPTION(sbi).s_qf_names[GRPQUOTA] ||
		F2FS_OPTION(sbi).s_qf_names[GRPQUOTA] ||
+6 −7
Original line number Original line Diff line number Diff line
@@ -696,7 +696,7 @@ int f2fs_getattr(const struct path *path, struct kstat *stat,
	unsigned int flags;
	unsigned int flags;


	if (f2fs_has_extra_attr(inode) &&
	if (f2fs_has_extra_attr(inode) &&
			f2fs_sb_has_inode_crtime(inode->i_sb) &&
			f2fs_sb_has_inode_crtime(F2FS_I_SB(inode)) &&
			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_crtime)) {
			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_crtime)) {
		stat->result_mask |= STATX_BTIME;
		stat->result_mask |= STATX_BTIME;
		stat->btime.tv_sec = fi->i_crtime.tv_sec;
		stat->btime.tv_sec = fi->i_crtime.tv_sec;
@@ -2030,7 +2030,7 @@ static int f2fs_ioc_set_encryption_policy(struct file *filp, unsigned long arg)
{
{
	struct inode *inode = file_inode(filp);
	struct inode *inode = file_inode(filp);


	if (!f2fs_sb_has_encrypt(inode->i_sb))
	if (!f2fs_sb_has_encrypt(F2FS_I_SB(inode)))
		return -EOPNOTSUPP;
		return -EOPNOTSUPP;


	f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);
	f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);
@@ -2040,7 +2040,7 @@ static int f2fs_ioc_set_encryption_policy(struct file *filp, unsigned long arg)


static int f2fs_ioc_get_encryption_policy(struct file *filp, unsigned long arg)
static int f2fs_ioc_get_encryption_policy(struct file *filp, unsigned long arg)
{
{
	if (!f2fs_sb_has_encrypt(file_inode(filp)->i_sb))
	if (!f2fs_sb_has_encrypt(F2FS_I_SB(file_inode(filp))))
		return -EOPNOTSUPP;
		return -EOPNOTSUPP;
	return fscrypt_ioctl_get_policy(filp, (void __user *)arg);
	return fscrypt_ioctl_get_policy(filp, (void __user *)arg);
}
}
@@ -2051,7 +2051,7 @@ static int f2fs_ioc_get_encryption_pwsalt(struct file *filp, unsigned long arg)
	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
	int err;
	int err;


	if (!f2fs_sb_has_encrypt(inode->i_sb))
	if (!f2fs_sb_has_encrypt(sbi))
		return -EOPNOTSUPP;
		return -EOPNOTSUPP;


	err = mnt_want_write_file(filp);
	err = mnt_want_write_file(filp);
@@ -2635,12 +2635,11 @@ static int f2fs_ioc_setproject(struct file *filp, __u32 projid)
	struct inode *inode = file_inode(filp);
	struct inode *inode = file_inode(filp);
	struct f2fs_inode_info *fi = F2FS_I(inode);
	struct f2fs_inode_info *fi = F2FS_I(inode);
	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
	struct super_block *sb = sbi->sb;
	struct page *ipage;
	struct page *ipage;
	kprojid_t kprojid;
	kprojid_t kprojid;
	int err;
	int err;


	if (!f2fs_sb_has_project_quota(sb)) {
	if (!f2fs_sb_has_project_quota(sbi)) {
		if (projid != F2FS_DEF_PROJID)
		if (projid != F2FS_DEF_PROJID)
			return -EOPNOTSUPP;
			return -EOPNOTSUPP;
		else
		else
@@ -2757,7 +2756,7 @@ static int f2fs_ioc_fsgetxattr(struct file *filp, unsigned long arg)
	fa.fsx_xflags = f2fs_iflags_to_xflags(fi->i_flags &
	fa.fsx_xflags = f2fs_iflags_to_xflags(fi->i_flags &
				F2FS_FL_USER_VISIBLE);
				F2FS_FL_USER_VISIBLE);


	if (f2fs_sb_has_project_quota(inode->i_sb))
	if (f2fs_sb_has_project_quota(F2FS_I_SB(inode)))
		fa.fsx_projid = (__u32)from_kprojid(&init_user_ns,
		fa.fsx_projid = (__u32)from_kprojid(&init_user_ns,
							fi->i_projid);
							fi->i_projid);


+9 −9
Original line number Original line Diff line number Diff line
@@ -118,7 +118,7 @@ static bool f2fs_enable_inode_chksum(struct f2fs_sb_info *sbi, struct page *page
{
{
	struct f2fs_inode *ri = &F2FS_NODE(page)->i;
	struct f2fs_inode *ri = &F2FS_NODE(page)->i;


	if (!f2fs_sb_has_inode_chksum(sbi->sb))
	if (!f2fs_sb_has_inode_chksum(sbi))
		return false;
		return false;


	if (!IS_INODE(page) || !(ri->i_inline & F2FS_EXTRA_ATTR))
	if (!IS_INODE(page) || !(ri->i_inline & F2FS_EXTRA_ATTR))
@@ -218,7 +218,7 @@ static bool sanity_check_inode(struct inode *inode, struct page *node_page)
		return false;
		return false;
	}
	}


	if (f2fs_sb_has_flexible_inline_xattr(sbi->sb)
	if (f2fs_sb_has_flexible_inline_xattr(sbi)
			&& !f2fs_has_extra_attr(inode)) {
			&& !f2fs_has_extra_attr(inode)) {
		set_sbi_flag(sbi, SBI_NEED_FSCK);
		set_sbi_flag(sbi, SBI_NEED_FSCK);
		f2fs_msg(sbi->sb, KERN_WARNING,
		f2fs_msg(sbi->sb, KERN_WARNING,
@@ -228,7 +228,7 @@ static bool sanity_check_inode(struct inode *inode, struct page *node_page)
	}
	}


	if (f2fs_has_extra_attr(inode) &&
	if (f2fs_has_extra_attr(inode) &&
			!f2fs_sb_has_extra_attr(sbi->sb)) {
			!f2fs_sb_has_extra_attr(sbi)) {
		set_sbi_flag(sbi, SBI_NEED_FSCK);
		set_sbi_flag(sbi, SBI_NEED_FSCK);
		f2fs_msg(sbi->sb, KERN_WARNING,
		f2fs_msg(sbi->sb, KERN_WARNING,
			"%s: inode (ino=%lx) is with extra_attr, "
			"%s: inode (ino=%lx) is with extra_attr, "
@@ -340,7 +340,7 @@ static int do_read_inode(struct inode *inode)
	fi->i_extra_isize = f2fs_has_extra_attr(inode) ?
	fi->i_extra_isize = f2fs_has_extra_attr(inode) ?
					le16_to_cpu(ri->i_extra_isize) : 0;
					le16_to_cpu(ri->i_extra_isize) : 0;


	if (f2fs_sb_has_flexible_inline_xattr(sbi->sb)) {
	if (f2fs_sb_has_flexible_inline_xattr(sbi)) {
		fi->i_inline_xattr_size = le16_to_cpu(ri->i_inline_xattr_size);
		fi->i_inline_xattr_size = le16_to_cpu(ri->i_inline_xattr_size);
	} else if (f2fs_has_inline_xattr(inode) ||
	} else if (f2fs_has_inline_xattr(inode) ||
				f2fs_has_inline_dentry(inode)) {
				f2fs_has_inline_dentry(inode)) {
@@ -390,14 +390,14 @@ static int do_read_inode(struct inode *inode)
	if (fi->i_flags & F2FS_PROJINHERIT_FL)
	if (fi->i_flags & F2FS_PROJINHERIT_FL)
		set_inode_flag(inode, FI_PROJ_INHERIT);
		set_inode_flag(inode, FI_PROJ_INHERIT);


	if (f2fs_has_extra_attr(inode) && f2fs_sb_has_project_quota(sbi->sb) &&
	if (f2fs_has_extra_attr(inode) && f2fs_sb_has_project_quota(sbi) &&
			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_projid))
			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_projid))
		i_projid = (projid_t)le32_to_cpu(ri->i_projid);
		i_projid = (projid_t)le32_to_cpu(ri->i_projid);
	else
	else
		i_projid = F2FS_DEF_PROJID;
		i_projid = F2FS_DEF_PROJID;
	fi->i_projid = make_kprojid(&init_user_ns, i_projid);
	fi->i_projid = make_kprojid(&init_user_ns, i_projid);


	if (f2fs_has_extra_attr(inode) && f2fs_sb_has_inode_crtime(sbi->sb) &&
	if (f2fs_has_extra_attr(inode) && f2fs_sb_has_inode_crtime(sbi) &&
			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_crtime)) {
			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, i_crtime)) {
		fi->i_crtime.tv_sec = le64_to_cpu(ri->i_crtime);
		fi->i_crtime.tv_sec = le64_to_cpu(ri->i_crtime);
		fi->i_crtime.tv_nsec = le32_to_cpu(ri->i_crtime_nsec);
		fi->i_crtime.tv_nsec = le32_to_cpu(ri->i_crtime_nsec);
@@ -542,11 +542,11 @@ void f2fs_update_inode(struct inode *inode, struct page *node_page)
	if (f2fs_has_extra_attr(inode)) {
	if (f2fs_has_extra_attr(inode)) {
		ri->i_extra_isize = cpu_to_le16(F2FS_I(inode)->i_extra_isize);
		ri->i_extra_isize = cpu_to_le16(F2FS_I(inode)->i_extra_isize);


		if (f2fs_sb_has_flexible_inline_xattr(F2FS_I_SB(inode)->sb))
		if (f2fs_sb_has_flexible_inline_xattr(F2FS_I_SB(inode)))
			ri->i_inline_xattr_size =
			ri->i_inline_xattr_size =
				cpu_to_le16(F2FS_I(inode)->i_inline_xattr_size);
				cpu_to_le16(F2FS_I(inode)->i_inline_xattr_size);


		if (f2fs_sb_has_project_quota(F2FS_I_SB(inode)->sb) &&
		if (f2fs_sb_has_project_quota(F2FS_I_SB(inode)) &&
			F2FS_FITS_IN_INODE(ri, F2FS_I(inode)->i_extra_isize,
			F2FS_FITS_IN_INODE(ri, F2FS_I(inode)->i_extra_isize,
								i_projid)) {
								i_projid)) {
			projid_t i_projid;
			projid_t i_projid;
@@ -556,7 +556,7 @@ void f2fs_update_inode(struct inode *inode, struct page *node_page)
			ri->i_projid = cpu_to_le32(i_projid);
			ri->i_projid = cpu_to_le32(i_projid);
		}
		}


		if (f2fs_sb_has_inode_crtime(F2FS_I_SB(inode)->sb) &&
		if (f2fs_sb_has_inode_crtime(F2FS_I_SB(inode)) &&
			F2FS_FITS_IN_INODE(ri, F2FS_I(inode)->i_extra_isize,
			F2FS_FITS_IN_INODE(ri, F2FS_I(inode)->i_extra_isize,
								i_crtime)) {
								i_crtime)) {
			ri->i_crtime =
			ri->i_crtime =
+3 −3
Original line number Original line Diff line number Diff line
@@ -61,7 +61,7 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)
		goto fail;
		goto fail;
	}
	}


	if (f2fs_sb_has_project_quota(sbi->sb) &&
	if (f2fs_sb_has_project_quota(sbi) &&
		(F2FS_I(dir)->i_flags & F2FS_PROJINHERIT_FL))
		(F2FS_I(dir)->i_flags & F2FS_PROJINHERIT_FL))
		F2FS_I(inode)->i_projid = F2FS_I(dir)->i_projid;
		F2FS_I(inode)->i_projid = F2FS_I(dir)->i_projid;
	else
	else
@@ -79,7 +79,7 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)
				f2fs_may_encrypt(inode))
				f2fs_may_encrypt(inode))
		f2fs_set_encrypted_inode(inode);
		f2fs_set_encrypted_inode(inode);


	if (f2fs_sb_has_extra_attr(sbi->sb)) {
	if (f2fs_sb_has_extra_attr(sbi)) {
		set_inode_flag(inode, FI_EXTRA_ATTR);
		set_inode_flag(inode, FI_EXTRA_ATTR);
		F2FS_I(inode)->i_extra_isize = F2FS_TOTAL_EXTRA_ATTR_SIZE;
		F2FS_I(inode)->i_extra_isize = F2FS_TOTAL_EXTRA_ATTR_SIZE;
	}
	}
@@ -92,7 +92,7 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)
	if (f2fs_may_inline_dentry(inode))
	if (f2fs_may_inline_dentry(inode))
		set_inode_flag(inode, FI_INLINE_DENTRY);
		set_inode_flag(inode, FI_INLINE_DENTRY);


	if (f2fs_sb_has_flexible_inline_xattr(sbi->sb)) {
	if (f2fs_sb_has_flexible_inline_xattr(sbi)) {
		f2fs_bug_on(sbi, !f2fs_has_extra_attr(inode));
		f2fs_bug_on(sbi, !f2fs_has_extra_attr(inode));
		if (f2fs_has_inline_xattr(inode))
		if (f2fs_has_inline_xattr(inode))
			xattr_size = F2FS_OPTION(sbi).inline_xattr_size;
			xattr_size = F2FS_OPTION(sbi).inline_xattr_size;
Loading