ext4: don't set EXTENT_STATUS_DELAYED on allocated blocks
authorZhang Yi <yi.zhang@huawei.com>
Tue, 13 Aug 2024 12:34:43 +0000 (20:34 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 2 Sep 2024 19:26:13 +0000 (15:26 -0400)
commiteba8c368c8cb9ea05c08caf3dd1a0d0b87d614dc
tree8749c21fee427233db649583213abae048f6e1f3
parent8b8252884f2ff4d28e3ce1a825057b3ad2900c35
ext4: don't set EXTENT_STATUS_DELAYED on allocated blocks

Currently, we release delayed allocation reservation when removing
delayed extent from extent status tree (which also happens when
overwriting one extent with another one). When we allocated unwritten
extent under some delayed allocated extent, we don't need the
reservation anymore and hence we don't need to preserve the
EXT4_MAP_DELAYED status bit. Allocating the new extent blocks will
properly release the reservation.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240813123452.2824659-4-yi.zhang@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/extents_status.c
fs/ext4/inode.c