All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: damenly.su@gmail.com, linux-btrfs@vger.kernel.org
Cc: Su Yue <Damenly_Su@gmx.com>
Subject: Re: [PATCH 02/10] btrfs-progs: block_group: add rb tree related memebers
Date: Thu, 5 Dec 2019 15:22:41 +0800	[thread overview]
Message-ID: <eb8ada00-32b7-93ca-15e4-01d481656ba6@gmx.com> (raw)
In-Reply-To: <20191205042921.25316-3-Damenly_Su@gmx.com>


[-- Attachment #1.1: Type: text/plain, Size: 2248 bytes --]



On 2019/12/5 下午12:29, damenly.su@gmail.com wrote:
> From: Su Yue <Damenly_Su@gmx.com>
> 
> To convert from existed extent_cache to plain rb_tree, add
> btrfs_block_group_cache::cache_node and btrfs_fs_info::block_group_
> cache_tree.
> 
> Signed-off-by: Su Yue <Damenly_Su@gmx.com>

Reviewed-by: Qu Wenruo <wqu@suse.com>

Thanks,
Qu

> ---
>  ctree.h   | 21 ++++++++++++---------
>  disk-io.c |  2 ++
>  2 files changed, 14 insertions(+), 9 deletions(-)
> 
> diff --git a/ctree.h b/ctree.h
> index 3e50d0863bde..f3f5f52f2559 100644
> --- a/ctree.h
> +++ b/ctree.h
> @@ -1107,16 +1107,18 @@ struct btrfs_block_group_cache {
>  	int cached;
>  	int ro;
>  	/*
> -         * If the free space extent count exceeds this number, convert the block
> -         * group to bitmaps.
> -         */
> -        u32 bitmap_high_thresh;
> -        /*
> -         * If the free space extent count drops below this number, convert the
> -         * block group back to extents.
> -         */
> -        u32 bitmap_low_thresh;
> +	 * If the free space extent count exceeds this number, convert the block
> +	 * group to bitmaps.
> +	 */
> +	u32 bitmap_high_thresh;
> +	/*
> +	 * If the free space extent count drops below this number, convert the
> +	 * block group back to extents.
> +	 */
> +	u32 bitmap_low_thresh;
>  
> +	/* Block group cache stuff */
> +	struct rb_node cache_node;
>  };
>  
>  struct btrfs_device;
> @@ -1146,6 +1148,7 @@ struct btrfs_fs_info {
>  	struct extent_io_tree extent_ins;
>  	struct extent_io_tree *excluded_extents;
>  
> +	struct rb_root block_group_cache_tree;
>  	/* logical->physical extent mapping */
>  	struct btrfs_mapping_tree mapping_tree;
>  
> diff --git a/disk-io.c b/disk-io.c
> index 659f8b93a7ca..b7ae72a99f59 100644
> --- a/disk-io.c
> +++ b/disk-io.c
> @@ -797,6 +797,8 @@ struct btrfs_fs_info *btrfs_new_fs_info(int writable, u64 sb_bytenr)
>  	extent_io_tree_init(&fs_info->block_group_cache);
>  	extent_io_tree_init(&fs_info->pinned_extents);
>  	extent_io_tree_init(&fs_info->extent_ins);
> +
> +	fs_info->block_group_cache_tree = RB_ROOT;
>  	fs_info->excluded_extents = NULL;
>  
>  	fs_info->fs_root_tree = RB_ROOT;
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 520 bytes --]

  reply	other threads:[~2019-12-05  7:22 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-05  4:29 [PATCH 00/10] unify origanization structure of block group cache damenly.su
2019-12-05  4:29 ` [PATCH 01/10] btrfs-progs: handle error if btrfs_write_one_block_group() failed damenly.su
2019-12-05  7:21   ` Qu Wenruo
2019-12-05  4:29 ` [PATCH 02/10] btrfs-progs: block_group: add rb tree related memebers damenly.su
2019-12-05  7:22   ` Qu Wenruo [this message]
2019-12-05  4:29 ` [PATCH 03/10] btrfs-progs: port block group cache tree insertion and lookup functions damenly.su
2019-12-05  7:29   ` Qu Wenruo
2019-12-05  8:32     ` Su Yue
2019-12-05 13:41       ` David Sterba
2019-12-05  4:29 ` [PATCH 04/10] btrfs-progs: reform the function block_group_cache_tree_search() damenly.su
2019-12-05  7:38   ` Qu Wenruo
2019-12-05  8:08     ` Su Yue
2019-12-05  4:29 ` [PATCH 05/10] btrfs-progs: adjust function btrfs_lookup_first_block_group_kernel damenly.su
2019-12-05  7:40   ` Qu Wenruo
2019-12-05  8:20     ` Su Yue
2019-12-05  4:29 ` [PATCH 06/10] btrfs-progs: abstract function btrfs_add_block_group_cache() damenly.su
2019-12-05  7:42   ` Qu Wenruo
2019-12-05  4:29 ` [PATCH 07/10] block-progs: block_group: add dirty_bgs list related memebers damenly.su
2019-12-05  7:43   ` Qu Wenruo
2019-12-05  4:29 ` [PATCH 08/10] btrfs-progs: pass @trans to functions touch dirty block groups damenly.su
2019-12-05  7:44   ` Qu Wenruo
2019-12-05  4:29 ` [PATCH 09/10] btrfs-progs: refrom block groups caches structure damenly.su
2019-12-05  7:51   ` Qu Wenruo
2019-12-05  8:09     ` Su Yue
2019-12-05  4:29 ` [PATCH 10/10] btrfs-progs: cleanups after block group cache reform damenly.su
2019-12-05  7:52   ` Qu Wenruo

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=eb8ada00-32b7-93ca-15e4-01d481656ba6@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=Damenly_Su@gmx.com \
    --cc=damenly.su@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.