On Sat, Aug 03, 2019 at 09:53:16AM +0100, fdman...@kernel.org wrote:
> From: Filipe Manana <fdman...@suse.com>
> 
> The test creates an extent io tree and sets several ranges with the
> CHUNK_ALLOCATED and CHUNK_TRIMMED bits, resulting in the allocation of
> several extent state structures. However the test never clears those
> ranges, resulting in memory leaks of the extent state structures.
> 
> This is detected when CONFIG_BTRFS_DEBUG is set once we remove the
> btrfs module (rmmod btrfs):
> 
> [57399.787918] BTRFS: state leak: start 67108864 end 75497471 state 1 in tree 
> 1 refs 1
> [57399.790155] BTRFS: state leak: start 33554432 end 67108863 state 33 in 
> tree 1 refs 1
> [57399.791941] BTRFS: state leak: start 1048576 end 4194303 state 33 in tree 
> 1 refs 1
> [57399.793753] BTRFS: state leak: start 67108864 end 75497471 state 1 in tree 
> 1 refs 1
> [57399.795188] BTRFS: state leak: start 33554432 end 67108863 state 33 in 
> tree 1 refs 1
> [57399.796453] BTRFS: state leak: start 1048576 end 4194303 state 33 in tree 
> 1 refs 1
> [57399.797765] BTRFS: state leak: start 67108864 end 75497471 state 1 in tree 
> 1 refs 1
> [57399.799049] BTRFS: state leak: start 33554432 end 67108863 state 33 in 
> tree 1 refs 1
> [57399.800142] BTRFS: state leak: start 1048576 end 4194303 state 33 in tree 
> 1 refs 1
> [57399.801126] BTRFS: state leak: start 67108864 end 75497471 state 1 in tree 
> 1 refs 1
> [57399.802106] BTRFS: state leak: start 33554432 end 67108863 state 33 in 
> tree 1 refs 1
> [57399.803119] BTRFS: state leak: start 1048576 end 4194303 state 33 in tree 
> 1 refs 1
> [57399.804153] BTRFS: state leak: start 67108864 end 75497471 state 1 in tree 
> 1 refs 1
> [57399.805196] BTRFS: state leak: start 33554432 end 67108863 state 33 in 
> tree 1 refs 1
> [57399.806191] BTRFS: state leak: start 1048576 end 4194303 state 33 in tree 
> 1 refs 1
> 
> The start and end offsets reported correspond exactly to the ranges
> used by the test.
> 
> So fix that by clearing all the ranges when the test finishes.
> 
> Fixes: 1eaebb341d2b41 ("btrfs: Don't trim returned range based on input value 
> in find_first_clear_extent_bit")
> Signed-off-by: Filipe Manana <fdman...@suse.com>

Added to misc-next, thanks.

Reply via email to