ext4: replace opencoded ext4_end_io_end() in ext4_put_io_end()

This reduces duplicate code and ensures that a “potential data loss”
warning is available if the unwritten conversion fails.

Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20250122110533.4116662-2-libaokun@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Baokun Li
2025-01-22 19:05:25 +08:00
committed by Theodore Ts'o
parent 57e7239ce0
commit 2f94b537c4

View File

@@ -299,18 +299,13 @@ void ext4_put_io_end_defer(ext4_io_end_t *io_end)
int ext4_put_io_end(ext4_io_end_t *io_end)
{
int err = 0;
if (refcount_dec_and_test(&io_end->count)) {
if (io_end->flag & EXT4_IO_END_UNWRITTEN) {
err = ext4_convert_unwritten_io_end_vec(io_end->handle,
io_end);
io_end->handle = NULL;
ext4_clear_io_unwritten_flag(io_end);
}
if (io_end->flag & EXT4_IO_END_UNWRITTEN)
return ext4_end_io_end(io_end);
ext4_release_io_end(io_end);
}
return err;
return 0;
}
ext4_io_end_t *ext4_get_io_end(ext4_io_end_t *io_end)