All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Liu Bo <bo.li.liu@oracle.com>, <linux-btrfs@vger.kernel.org>
Cc: David Sterba <dsterba@suse.cz>
Subject: Re: [PATCH 0/7] cleanup __btrfs_map_block
Date: Mon, 20 Feb 2017 11:12:10 +0800	[thread overview]
Message-ID: <b96f654b-89bf-b6a2-90a3-93522dfe6440@cn.fujitsu.com> (raw)
In-Reply-To: <1487381301-865-1-git-send-email-bo.li.liu@oracle.com>



At 02/18/2017 09:28 AM, Liu Bo wrote:
> This is attempting to make __btrfs_map_block less scary :)
>

Great!!
That's also what I want to do in btrfs-progs.

And it would be better if we can take a step further to have a better 
API for both pure mirrored/striped profile and parity profile.

I tried to do it in btrfs-progs with the following patchset, while it 
needs more work to do in kernel.
https://patchwork.kernel.org/patch/9488519/

> The major changes are
>
> 1) split operations for discard out of __btrfs_map_block and we don't copy
> discard operations for the target device of dev replace since they're not
> as important as writes.
>
> 2) put dev replace stuff into helpers since they're basically
> self-independant.

Quite good starting point.

Thanks,
Qu
>
>
> Liu Bo (7):
>   Btrfs: create a helper for getting chunk map
>   Btrfs: separate DISCARD from __btrfs_map_block
>   Btrfs: introduce a function to get extra mirror from replace
>   Btrfs: handle operations for device replace separately
>   Btrfs: do not add extra mirror when dev_replace target dev is not
>     available
>   Btrfs: helper for ops that requires full stripe
>   Btrfs: convert BUG_ON to WARN_ON
>
>  fs/btrfs/extent_io.c |   3 +-
>  fs/btrfs/volumes.c   | 824 +++++++++++++++++++++++++++------------------------
>  fs/btrfs/volumes.h   |   2 +-
>  3 files changed, 445 insertions(+), 384 deletions(-)
>



  parent reply	other threads:[~2017-02-20  3:12 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-18  1:28 [PATCH 0/7] cleanup __btrfs_map_block Liu Bo
2017-02-18  1:28 ` [PATCH 1/7] Btrfs: create a helper for getting chunk map Liu Bo
2017-02-20  3:20   ` Qu Wenruo
2017-03-01  2:19     ` Liu Bo
2017-02-18  1:28 ` [PATCH 2/7] Btrfs: separate DISCARD from __btrfs_map_block Liu Bo
2017-02-20  3:54   ` Qu Wenruo
2017-03-06 19:49     ` Liu Bo
2017-02-18  1:28 ` [PATCH 3/7] Btrfs: introduce a function to get extra mirror from replace Liu Bo
2017-02-20  6:26   ` Qu Wenruo
2017-02-18  1:28 ` [PATCH 4/7] Btrfs: handle operations for device replace separately Liu Bo
2017-02-20  6:30   ` Qu Wenruo
2017-02-18  1:28 ` [PATCH 5/7] Btrfs: do not add extra mirror when dev_replace target dev is not available Liu Bo
2017-02-20  6:39   ` Qu Wenruo
2017-02-18  1:28 ` [PATCH 6/7] Btrfs: helper for ops that requires full stripe Liu Bo
2017-02-20  6:40   ` Qu Wenruo
2017-02-18  1:28 ` [PATCH 7/7] Btrfs: convert BUG_ON to WARN_ON Liu Bo
2017-02-20  6:42   ` Qu Wenruo
2017-02-18 11:03 ` [PATCH 0/7] cleanup __btrfs_map_block Mike Fleetwood
2017-02-20  3:12 ` Qu Wenruo [this message]
2017-03-14 17:27 ` David Sterba

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=b96f654b-89bf-b6a2-90a3-93522dfe6440@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=bo.li.liu@oracle.com \
    --cc=dsterba@suse.cz \
    --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.