Commit d431a2cd authored by Markus Elfring's avatar Markus Elfring Committed by Theodore Ts'o
Browse files

ext4: Call ext4_journal_stop(handle) only once in ext4_dio_write_iter()



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: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Reviewed-by: default avatarZhang Yi <yi.zhang@huawei.com>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Link: https://patch.msgid.link/cf895072-43cf-412c-bced-8268498ad13e@web.de


Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 42f7652d
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -564,14 +564,11 @@ 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);
		if (ret)
			goto out;
	}

		ext4_journal_stop(handle);
	}

	if (ilock_shared && !unwritten)
		iomap_ops = &ext4_iomap_overwrite_ops;
	ret = iomap_dio_rw(iocb, from, iomap_ops, &ext4_dio_write_ops,