Re: [PATCH] ext4: Call ext4_journal_stop(handle) only once in ext4_dio_write_iter()

From: Jan Kara
Date: Thu Sep 26 2024 - 03:56:23 EST


On Wed 25-09-24 21:54:18, Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Wed, 25 Sep 2024 21:47:39 +0200
>
> An ext4_journal_stop(handle) call was immediately used after a return value
> check for a ext4_orphan_add() call in this function implementation.
> Thus call such a function only once instead directly before the check.
>
> This issue was transformed by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> fs/ext4/file.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/fs/ext4/file.c b/fs/ext4/file.c
> index f14aed14b9cf..23005f1345a8 100644
> --- a/fs/ext4/file.c
> +++ b/fs/ext4/file.c
> @@ -564,12 +564,9 @@ static ssize_t ext4_dio_write_iter(struct kiocb *iocb, struct iov_iter *from)
> }
>
> ret = ext4_orphan_add(handle, inode);
> - if (ret) {
> - ext4_journal_stop(handle);
> - goto out;
> - }
> -
> ext4_journal_stop(handle);
> + if (ret)
> + goto out;
> }
>
> if (ilock_shared && !unwritten)
> --
> 2.46.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR