aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2024-09-25 21:47:39 +0200
committerTheodore Ts'o <tytso@mit.edu>2024-10-30 17:42:44 -0400
commitd431a2cd28e8b7a91474d496e9226ef06a31c6eb (patch)
tree33835699b3c0b2b02bd9366875fa319b9725c091
parentLinux 6.12-rc4 (diff)
downloadwireguard-linux-d431a2cd28e8b7a91474d496e9226ef06a31c6eb.tar.xz
wireguard-linux-d431a2cd28e8b7a91474d496e9226ef06a31c6eb.zip
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: Markus Elfring <elfring@users.sourceforge.net> Reviewed-by: Zhang Yi <yi.zhang@huawei.com> Reviewed-by: Jan Kara <jack@suse.cz> Link: https://patch.msgid.link/cf895072-43cf-412c-bced-8268498ad13e@web.de Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--fs/ext4/file.c7
1 files 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)