On Fri, Oct 04, 2019 at 12:05:53AM +0200, Jan Kara wrote: > Error cleanup path in ext4_alloc_branch() calls ext4_forget() on freshly > allocated indirect blocks with 'metadata' set to 1. This results in > generating revoke records for these blocks. However this is unnecessary > as the freed blocks are only allocated in the current transaction and > thus they will never be journalled. Make this cleanup path similar to > e.g. cleanup in ext4_splice_branch() and use ext4_free_blocks() to > handle block forgetting by passing EXT4_FREE_BLOCKS_FORGET and not > EXT4_FREE_BLOCKS_METADATA to ext4_free_blocks(). This also allows > allocating transaction not to reserve any credits for revoke records. > > Signed-off-by: Jan Kara <jack@xxxxxxx> Looks good, you can add: Reviewed-by: Theodore Ts'o <tytso@xxxxxxx>