Commit e68cf40c authored by Ritesh Harjani's avatar Ritesh Harjani Committed by Theodore Ts'o

ext4: mballoc: refactor ext4_mb_show_ac()

This factors out ext4_mb_show_pa() function to show all the group's
preallocation info. This could be useful info to be added in later
patches.

There should be no functionality change in this patch.
Signed-off-by: default avatarRitesh Harjani <riteshh@linux.ibm.com>
Link: https://lore.kernel.org/r/8f07d890b0038dcc935e9c10e6043ec9f3792721.1589086800.git.riteshh@linux.ibm.comSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 212da3ec
...@@ -4120,38 +4120,16 @@ void ext4_discard_preallocations(struct inode *inode) ...@@ -4120,38 +4120,16 @@ void ext4_discard_preallocations(struct inode *inode)
} }
#ifdef CONFIG_EXT4_DEBUG #ifdef CONFIG_EXT4_DEBUG
static void ext4_mb_show_ac(struct ext4_allocation_context *ac) static inline void ext4_mb_show_pa(struct super_block *sb)
{ {
struct super_block *sb = ac->ac_sb; ext4_group_t i, ngroups;
ext4_group_t ngroups, i;
if (!ext4_mballoc_debug || if (!ext4_mballoc_debug ||
(EXT4_SB(sb)->s_mount_flags & EXT4_MF_FS_ABORTED)) (EXT4_SB(sb)->s_mount_flags & EXT4_MF_FS_ABORTED))
return; return;
ext4_msg(ac->ac_sb, KERN_ERR, "Can't allocate:"
" Allocation context details:");
ext4_msg(ac->ac_sb, KERN_ERR, "status %d flags %d",
ac->ac_status, ac->ac_flags);
ext4_msg(ac->ac_sb, KERN_ERR, "orig %lu/%lu/%lu@%lu, "
"goal %lu/%lu/%lu@%lu, "
"best %lu/%lu/%lu@%lu cr %d",
(unsigned long)ac->ac_o_ex.fe_group,
(unsigned long)ac->ac_o_ex.fe_start,
(unsigned long)ac->ac_o_ex.fe_len,
(unsigned long)ac->ac_o_ex.fe_logical,
(unsigned long)ac->ac_g_ex.fe_group,
(unsigned long)ac->ac_g_ex.fe_start,
(unsigned long)ac->ac_g_ex.fe_len,
(unsigned long)ac->ac_g_ex.fe_logical,
(unsigned long)ac->ac_b_ex.fe_group,
(unsigned long)ac->ac_b_ex.fe_start,
(unsigned long)ac->ac_b_ex.fe_len,
(unsigned long)ac->ac_b_ex.fe_logical,
(int)ac->ac_criteria);
ext4_msg(ac->ac_sb, KERN_ERR, "%d found", ac->ac_found);
ext4_msg(ac->ac_sb, KERN_ERR, "groups: ");
ngroups = ext4_get_groups_count(sb); ngroups = ext4_get_groups_count(sb);
ext4_msg(sb, KERN_ERR, "groups: ");
for (i = 0; i < ngroups; i++) { for (i = 0; i < ngroups; i++) {
struct ext4_group_info *grp = ext4_get_group_info(sb, i); struct ext4_group_info *grp = ext4_get_group_info(sb, i);
struct ext4_prealloc_space *pa; struct ext4_prealloc_space *pa;
...@@ -4175,9 +4153,46 @@ static void ext4_mb_show_ac(struct ext4_allocation_context *ac) ...@@ -4175,9 +4153,46 @@ static void ext4_mb_show_ac(struct ext4_allocation_context *ac)
} }
printk(KERN_ERR "\n"); printk(KERN_ERR "\n");
} }
static void ext4_mb_show_ac(struct ext4_allocation_context *ac)
{
struct super_block *sb = ac->ac_sb;
if (!ext4_mballoc_debug ||
(EXT4_SB(sb)->s_mount_flags & EXT4_MF_FS_ABORTED))
return;
ext4_msg(sb, KERN_ERR, "Can't allocate:"
" Allocation context details:");
ext4_msg(sb, KERN_ERR, "status %d flags %d",
ac->ac_status, ac->ac_flags);
ext4_msg(sb, KERN_ERR, "orig %lu/%lu/%lu@%lu, "
"goal %lu/%lu/%lu@%lu, "
"best %lu/%lu/%lu@%lu cr %d",
(unsigned long)ac->ac_o_ex.fe_group,
(unsigned long)ac->ac_o_ex.fe_start,
(unsigned long)ac->ac_o_ex.fe_len,
(unsigned long)ac->ac_o_ex.fe_logical,
(unsigned long)ac->ac_g_ex.fe_group,
(unsigned long)ac->ac_g_ex.fe_start,
(unsigned long)ac->ac_g_ex.fe_len,
(unsigned long)ac->ac_g_ex.fe_logical,
(unsigned long)ac->ac_b_ex.fe_group,
(unsigned long)ac->ac_b_ex.fe_start,
(unsigned long)ac->ac_b_ex.fe_len,
(unsigned long)ac->ac_b_ex.fe_logical,
(int)ac->ac_criteria);
ext4_msg(sb, KERN_ERR, "%d found", ac->ac_found);
ext4_mb_show_pa(sb);
}
#else #else
static inline void ext4_mb_show_pa(struct super_block *sb)
{
return;
}
static inline void ext4_mb_show_ac(struct ext4_allocation_context *ac) static inline void ext4_mb_show_ac(struct ext4_allocation_context *ac)
{ {
ext4_mb_show_pa(ac->ac_sb);
return; return;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment