Re: [PATCH] ext4: Fix wrong list_splice in ext4_fc_cleanup

From: harshad shirwadkar
Date: Tue Jan 05 2021 - 17:11:21 EST


Thanks, that's a good catch!

Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@xxxxxxxxx>

On Wed, Dec 30, 2020 at 1:53 AM Daejun Park <daejun7.park@xxxxxxxxxxx> wrote:
>
> After full/fast commit, entries in staging queue are promoted to main
> queue. In ext4_fs_cleanup function, it splice to staging queue to
> staging queue.
>
> Signed-off-by: Daejun Park <daejun7.park@xxxxxxxxxxx>
> ---
> fs/ext4/fast_commit.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
> index 4fcc21c25e79..5b6bb3ef0f33 100644
> --- a/fs/ext4/fast_commit.c
> +++ b/fs/ext4/fast_commit.c
> @@ -1268,7 +1268,7 @@ static void ext4_fc_cleanup(journal_t *journal, int full)
> list_splice_init(&sbi->s_fc_dentry_q[FC_Q_STAGING],
> &sbi->s_fc_dentry_q[FC_Q_MAIN]);
> list_splice_init(&sbi->s_fc_q[FC_Q_STAGING],
> - &sbi->s_fc_q[FC_Q_STAGING]);
> + &sbi->s_fc_q[FC_Q_MAIN]);
>
> ext4_clear_mount_flag(sb, EXT4_MF_FC_COMMITTING);
> ext4_clear_mount_flag(sb, EXT4_MF_FC_INELIGIBLE);
> --
> 2.25.1
>