From: David Sterba <dsterba@suse.cz>
To: Nikolay Borisov <nborisov@suse.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 00/11] Make pinned extents tracking per-transaction
Date: Thu, 6 Feb 2020 20:59:12 +0100 [thread overview]
Message-ID: <20200206195912.GE2654@twin.jikos.cz> (raw)
In-Reply-To: <20200120140918.15647-1-nborisov@suse.com>
On Mon, Jan 20, 2020 at 04:09:07PM +0200, Nikolay Borisov wrote:
> I've finally managed to finish and test the pinned extents rework. So here it is.
>
> The idea is to move pinnex extents tracking from the global fs_info->pinned_extents,
> which is just a pointer to fs_info->freed_extents[] array members to a per
> transaction structure. This will allow to cleanup pinned extents information
> during transaction abort.
>
> The bulk of the changes are necessary to ensure a valid transaction handle
> is passed to every function that utilizes fs_info->pinned_extents. Also it
> was necessary to account for the peculiarities of excluded extents which are
> also tracked in ->freed_extents array but with a different flag (yuck).
>
> First 9 patches propagate btrfs_trans_handle where it's necessary. Patch 10
> factors out pinned extent clean up to make Patch 11 more readable , alternatively
> the changes in patch 10 had to be in patch 11 which would have made it messier
> for review.
>
> I believe this series doesn't bring any user facing changes it (hopefully)
> streamlines the code and makes it apparent what the lifetime of pinned extents
> is and paves the way for further cleanups of BUG_ON.
>
> Nikolay Borisov (11):
> btrfs: Perform pinned cleanup directly in btrfs_destroy_delayed_refs
> btrfs: Make btrfs_pin_extent take trans handle
> btrfs: Introduce unaccount_log_buffer
> btrfs: Call btrfs_pin_reserved_extent only during active transaction
> btrfs: Make btrfs_pin_reserved_extent take transaction
> btrfs: Make btrfs_pin_extent_for_log_replay take transaction handle
> btrfs: Make pin_down_extent take btrfs_trans_handle
> btrfs: Pass trans handle to write_pinned_extent_entries
> btrfs: Mark pinned log extents as excluded
> btrfs: Factor out pinned extent clean up in btrfs_delete_unused_bgs
> btrfs: Use btrfs_transaction::pinned_extents
So far I found test btrfs/139 to fail, nothing in the log, only the
golden output does not match.
prev parent reply other threads:[~2020-02-06 19:59 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-20 14:09 [PATCH 00/11] Make pinned extents tracking per-transaction Nikolay Borisov
2020-01-20 14:09 ` [PATCH 01/11] btrfs: Perform pinned cleanup directly in btrfs_destroy_delayed_refs Nikolay Borisov
2020-01-21 14:22 ` Josef Bacik
2020-01-30 13:51 ` David Sterba
2020-02-05 8:32 ` Nikolay Borisov
2020-01-20 14:09 ` [PATCH 02/11] btrfs: Make btrfs_pin_extent take trans handle Nikolay Borisov
2020-01-21 14:23 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 03/11] btrfs: Introduce unaccount_log_buffer Nikolay Borisov
2020-01-22 20:04 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 04/11] btrfs: Call btrfs_pin_reserved_extent only during active transaction Nikolay Borisov
2020-01-22 20:05 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 05/11] btrfs: Make btrfs_pin_reserved_extent take transaction Nikolay Borisov
2020-01-22 20:06 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 06/11] btrfs: Make btrfs_pin_extent_for_log_replay take transaction handle Nikolay Borisov
2020-01-22 20:06 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 07/11] btrfs: Make pin_down_extent take btrfs_trans_handle Nikolay Borisov
2020-01-22 20:07 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 08/11] btrfs: Pass trans handle to write_pinned_extent_entries Nikolay Borisov
2020-01-22 20:07 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 09/11] btrfs: Mark pinned log extents as excluded Nikolay Borisov
2020-01-22 20:12 ` Josef Bacik
2020-01-30 13:53 ` David Sterba
2020-01-30 14:03 ` Nikolay Borisov
2020-02-05 8:51 ` Nikolay Borisov
2020-01-20 14:09 ` [PATCH 10/11] btrfs: Factor out pinned extent clean up in btrfs_delete_unused_bgs Nikolay Borisov
2020-01-22 20:14 ` Josef Bacik
2020-01-20 14:09 ` [PATCH 11/11] btrfs: Use btrfs_transaction::pinned_extents Nikolay Borisov
2020-01-22 20:21 ` Josef Bacik
2020-01-23 8:54 ` Nikolay Borisov
2020-01-23 13:40 ` Josef Bacik
2020-01-24 10:35 ` [PATCH v2] " Nikolay Borisov
2020-01-24 13:51 ` Josef Bacik
2020-01-24 15:18 ` [PATCH v3] " Nikolay Borisov
2020-01-24 15:27 ` Josef Bacik
2020-01-30 14:02 ` David Sterba
2020-02-06 18:10 ` [PATCH 11/11 " David Sterba
2020-02-06 19:40 ` Nikolay Borisov
2020-02-14 15:33 ` David Sterba
2020-02-06 19:59 ` David Sterba [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200206195912.GE2654@twin.jikos.cz \
--to=dsterba@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
--cc=nborisov@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox