public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH v4 0/3] Add full support for cloning inline extents
Date: Fri, 28 Feb 2020 13:04:16 +0000	[thread overview]
Message-ID: <20200228130419.16719-1-fdmanana@kernel.org> (raw)

From: Filipe Manana <fdmanana@suse.com>

This patchset adds support for currently unsupported cases of reflink
operations that cover a file range that has inline extents, more details
on why/how in patch 3/3.

It also starts by moving all the reflink code out of ioctl.c into a new
file named reflink.c (like xfs does) since this code is quite significant
in size and has grown over the years.

V4: Updated patch 3 to fix a deadlock due to allocating space while holding
    a transaction open. No changes to the first two patches.

V3: Updated first patch to introduce reflink.h as well, besides reflink.c.

V2: Removed third patch from the previous patchset version. Since the full
    page ends up getting written, it's not necessary to read it before
    writing to it in case it's not uptodate. The final patch, which is
    now patch number 3, ends up being simpler as well.

Filipe Manana (3):
  Btrfs: move all reflink implementation code into its own file
  Btrfs: simplify inline extent handling when doing reflinks
  Btrfs: implement full reflink support for inline extents

 fs/btrfs/Makefile  |   2 +-
 fs/btrfs/ctree.h   |   3 -
 fs/btrfs/file.c    |   1 +
 fs/btrfs/ioctl.c   | 733 -----------------------------------------------
 fs/btrfs/reflink.c | 811 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 fs/btrfs/reflink.h |  12 +
 6 files changed, 825 insertions(+), 737 deletions(-)
 create mode 100644 fs/btrfs/reflink.c
 create mode 100644 fs/btrfs/reflink.h

-- 
2.11.0


             reply	other threads:[~2020-02-28 13:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-28 13:04 fdmanana [this message]
2020-02-28 13:04 ` [PATCH v4 1/3] Btrfs: move all reflink implementation code into its own file fdmanana
2020-02-28 13:04 ` [PATCH v4 2/3] Btrfs: simplify inline extent handling when doing reflinks fdmanana
2020-02-28 13:04 ` [PATCH v4 3/3] Btrfs: implement full reflink support for inline extents fdmanana
2020-02-28 13:49 ` [PATCH v4 0/3] Add full support for cloning " David Sterba
2020-03-06 20:19   ` 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=20200228130419.16719-1-fdmanana@kernel.org \
    --to=fdmanana@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox