ext4: refactoring to use the unified helper ext4_quotas_off()
Rename ext4_quota_off_umount() to ext4_quotas_off(), and add type parameter to replace open code in ext4_enable_quotas(). Signed-off-by: Baokun Li <libaokun1@huawei.com> Reviewed-by: Jan Kara <jack@suse.cz> Link: https://lore.kernel.org/r/20230327141630.156875-3-libaokun1@huawei.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
d13f996327
commit
f3c1c42e0c
|
@ -1165,12 +1165,12 @@ static void dump_orphan_list(struct super_block *sb, struct ext4_sb_info *sbi)
|
||||||
#ifdef CONFIG_QUOTA
|
#ifdef CONFIG_QUOTA
|
||||||
static int ext4_quota_off(struct super_block *sb, int type);
|
static int ext4_quota_off(struct super_block *sb, int type);
|
||||||
|
|
||||||
static inline void ext4_quota_off_umount(struct super_block *sb)
|
static inline void ext4_quotas_off(struct super_block *sb, int type)
|
||||||
{
|
{
|
||||||
int type;
|
BUG_ON(type > EXT4_MAXQUOTAS);
|
||||||
|
|
||||||
/* Use our quota_off function to clear inode flags etc. */
|
/* Use our quota_off function to clear inode flags etc. */
|
||||||
for (type = 0; type < EXT4_MAXQUOTAS; type++)
|
for (type--; type >= 0; type--)
|
||||||
ext4_quota_off(sb, type);
|
ext4_quota_off(sb, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1186,7 +1186,7 @@ static inline char *get_qf_name(struct super_block *sb,
|
||||||
lockdep_is_held(&sb->s_umount));
|
lockdep_is_held(&sb->s_umount));
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static inline void ext4_quota_off_umount(struct super_block *sb)
|
static inline void ext4_quotas_off(struct super_block *sb, int type)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1286,7 +1286,7 @@ static void ext4_put_super(struct super_block *sb)
|
||||||
&sb->s_uuid);
|
&sb->s_uuid);
|
||||||
|
|
||||||
ext4_unregister_li_request(sb);
|
ext4_unregister_li_request(sb);
|
||||||
ext4_quota_off_umount(sb);
|
ext4_quotas_off(sb, EXT4_MAXQUOTAS);
|
||||||
|
|
||||||
flush_work(&sbi->s_error_work);
|
flush_work(&sbi->s_error_work);
|
||||||
destroy_workqueue(sbi->rsv_conversion_wq);
|
destroy_workqueue(sbi->rsv_conversion_wq);
|
||||||
|
@ -5597,7 +5597,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
failed_mount10:
|
failed_mount10:
|
||||||
ext4_quota_off_umount(sb);
|
ext4_quotas_off(sb, EXT4_MAXQUOTAS);
|
||||||
failed_mount9: __maybe_unused
|
failed_mount9: __maybe_unused
|
||||||
ext4_release_orphan_info(sb);
|
ext4_release_orphan_info(sb);
|
||||||
failed_mount8:
|
failed_mount8:
|
||||||
|
@ -7044,20 +7044,8 @@ int ext4_enable_quotas(struct super_block *sb)
|
||||||
"(type=%d, err=%d, ino=%lu). "
|
"(type=%d, err=%d, ino=%lu). "
|
||||||
"Please run e2fsck to fix.", type,
|
"Please run e2fsck to fix.", type,
|
||||||
err, qf_inums[type]);
|
err, qf_inums[type]);
|
||||||
for (type--; type >= 0; type--) {
|
|
||||||
struct inode *inode;
|
|
||||||
|
|
||||||
inode = sb_dqopt(sb)->files[type];
|
|
||||||
if (inode)
|
|
||||||
inode = igrab(inode);
|
|
||||||
dquot_quota_off(sb, type);
|
|
||||||
if (inode) {
|
|
||||||
lockdep_set_quota_inode(inode,
|
|
||||||
I_DATA_SEM_NORMAL);
|
|
||||||
iput(inode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
ext4_quotas_off(sb, type);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue