mbox series

[0/2] btrfs: fix extent state leaks after device replace

Message ID cover.1682528751.git.fdmanana@suse.com (mailing list archive)
Headers show
Series btrfs: fix extent state leaks after device replace | expand

Message

Filipe Manana April 26, 2023, 5:12 p.m. UTC
From: Filipe Manana <fdmanana@suse.com>

This fixes a recent regression (on its way to Linus' tree) that results in
leaking extent state records in the allocation io tree of a device used as
a source device for a device replace. Also unexport btrfs_free_device().

Filipe Manana (2):
  btrfs: fix leak of source device allocation state after device replace
  btrfs: make btrfs_free_device() static

 fs/btrfs/volumes.c | 3 ++-
 fs/btrfs/volumes.h | 1 -
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

David Sterba April 27, 2023, 10:52 p.m. UTC | #1
On Wed, Apr 26, 2023 at 06:12:59PM +0100, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
> 
> This fixes a recent regression (on its way to Linus' tree) that results in
> leaking extent state records in the allocation io tree of a device used as
> a source device for a device replace. Also unexport btrfs_free_device().
> 
> Filipe Manana (2):
>   btrfs: fix leak of source device allocation state after device replace
>   btrfs: make btrfs_free_device() static

Added to misc-next, thanks.
Anand Jain April 27, 2023, 11:51 p.m. UTC | #2
On 28/4/23 06:52, David Sterba wrote:
> On Wed, Apr 26, 2023 at 06:12:59PM +0100, fdmanana@kernel.org wrote:
>> From: Filipe Manana <fdmanana@suse.com>
>>
>> This fixes a recent regression (on its way to Linus' tree) that results in
>> leaking extent state records in the allocation io tree of a device used as
>> a source device for a device replace. Also unexport btrfs_free_device().
>>
>> Filipe Manana (2):
>>    btrfs: fix leak of source device allocation state after device replace
>>    btrfs: make btrfs_free_device() static
> 


> Added to misc-next, thanks.

Oh, I hope you saw the discussions in the patch 1/2.
We can address both calling extent_io_tree_release() twice and the
leak after device replace. Or no need of it?
David Sterba April 28, 2023, 1:07 p.m. UTC | #3
On Fri, Apr 28, 2023 at 07:51:42AM +0800, Anand Jain wrote:
> On 28/4/23 06:52, David Sterba wrote:
> > On Wed, Apr 26, 2023 at 06:12:59PM +0100, fdmanana@kernel.org wrote:
> >> From: Filipe Manana <fdmanana@suse.com>
> >>
> >> This fixes a recent regression (on its way to Linus' tree) that results in
> >> leaking extent state records in the allocation io tree of a device used as
> >> a source device for a device replace. Also unexport btrfs_free_device().
> >>
> >> Filipe Manana (2):
> >>    btrfs: fix leak of source device allocation state after device replace
> >>    btrfs: make btrfs_free_device() static
> > 
> 
> 
> > Added to misc-next, thanks.
> 
> Oh, I hope you saw the discussions in the patch 1/2.
> We can address both calling extent_io_tree_release() twice and the
> leak after device replace. Or no need of it?

Yes I saw the discussion, I'd rather revert back to the known behaviour,
this does not seem to be worth the optimization, apparently it's easy to
miss some cases.