public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: xfs@oss.sgi.com
Subject: Re: [RFC v2 00/24] xfs: add reflink and dedupe support
Date: Sat, 1 Aug 2015 09:01:31 -0400	[thread overview]
Message-ID: <20150801130131.GD101746@meili.valhalla.31bits.net> (raw)
In-Reply-To: <20150729223258.17414.91354.stgit@birch.djwong.org>

On Wed, Jul 29, 2015 at 03:32:59PM -0700, Darrick J. Wong wrote:
> Hi all,
> 
> This is the second revision of an RFC for adding to XFS kernel support
> for mapping multiple file logical blocks to the same physical block,
> more commonly known as reflinking.  The implementation a single [block
> range, refcount] tree to track the reference counts of extents of
> physical blocks.  There's also support code to provide the desired
> copy-on-write behavior and the userland interfaces to reflink, query
> the status of, and un-reflink files.

This is cool work.  I have a random thought to share... IIRC, you keep a
per-inode flag to avoid expensive ops on files that have no refcounted
blocks.  ZFS keeps a bit in each block pointer to indicate that the target
is dedup'd.  I'd have to check if xfs has a spare bit in its block pointer,
but if it does that's one way to minimize the refcount btree overhead.

Jeff.

-- 
mainframe, n.:
  An obsolete device still used by thousands of obsolete companies serving
  billions of obsolete customers and making huge obsolete profits for their
  obsolete shareholders. And this year's run twice as fast as last year's.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  parent reply	other threads:[~2015-08-01 13:01 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-29 22:32 [RFC v2 00/24] xfs: add reflink and dedupe support Darrick J. Wong
2015-07-29 22:33 ` [PATCH 01/24] xfs: introduce refcount btree definitions Darrick J. Wong
2015-07-29 22:33 ` [PATCH 02/24] xfs: define tracepoints for refcount/reflink activities Darrick J. Wong
2015-07-29 22:33 ` [PATCH 03/24] xfs: add refcount btree stats infrastructure Darrick J. Wong
2015-07-30  0:34   ` Dave Chinner
2015-07-30 19:04     ` Darrick J. Wong
2015-07-29 22:33 ` [PATCH 04/24] xfs: refcount btree add more reserved blocks Darrick J. Wong
2015-07-30  0:35   ` Dave Chinner
2015-07-30 19:09     ` Darrick J. Wong
2015-07-29 22:33 ` [PATCH 05/24] xfs: define the on-disk refcount btree format Darrick J. Wong
2015-07-30  0:42   ` Dave Chinner
2015-07-30 22:14     ` Darrick J. Wong
2015-07-29 22:33 ` [PATCH 06/24] xfs: add refcount btree support to growfs Darrick J. Wong
2015-07-29 22:33 ` [PATCH 07/24] xfs: add refcount btree operations Darrick J. Wong
2015-07-30  0:51   ` Dave Chinner
2015-07-29 22:33 ` [PATCH 08/24] libxfs: adjust refcount of an extent of blocks in refcount btree Darrick J. Wong
2015-07-29 22:33 ` [PATCH 09/24] libxfs: adjust refcount when unmapping file blocks Darrick J. Wong
2015-07-29 22:34 ` [PATCH 10/24] xfs: add refcount btree block detection to log recovery Darrick J. Wong
2015-07-29 22:34 ` [PATCH 11/24] xfs: map an inode's offset to an exact physical block Darrick J. Wong
2015-07-30  1:04   ` Dave Chinner
2015-07-30 21:09     ` Darrick J. Wong
2015-07-29 22:34 ` [PATCH 12/24] xfs: add reflink feature flag to geometry Darrick J. Wong
2015-07-29 22:34 ` [PATCH 13/24] xfs: create a separate workqueue for copy-on-write activities Darrick J. Wong
2015-07-29 22:34 ` [PATCH 14/24] xfs: implement copy-on-write for reflinked blocks Darrick J. Wong
2015-07-29 22:34 ` [PATCH 15/24] xfs: handle directio " Darrick J. Wong
2015-07-29 22:34 ` [PATCH 16/24] xfs: copy-on-write reflinked blocks when zeroing ranges of blocks Darrick J. Wong
2015-07-29 22:34 ` [PATCH 17/24] xfs: clear inode reflink flag when freeing blocks Darrick J. Wong
2015-07-29 22:34 ` [PATCH 18/24] xfs: reflink extents from one file to another Darrick J. Wong
2015-07-29 22:35 ` [PATCH 19/24] xfs: add clone file and clone range ioctls Darrick J. Wong
2015-07-29 22:35 ` [PATCH 20/24] xfs: emulate the btrfs dedupe extent same ioctl Darrick J. Wong
2015-07-29 22:35 ` [PATCH 21/24] xfs: teach fiemap about reflink'd extents Darrick J. Wong
2015-07-29 22:35 ` [PATCH 22/24] xfs: swap inode reflink flags when swapping inode extents Darrick J. Wong
2015-08-01 12:51   ` Josef 'Jeff' Sipek
2015-07-29 22:35 ` [PATCH 23/24] xfs: support XFS_XFLAG_REFLINK (and FS_NOCOW_FL) on reflink filesystems Darrick J. Wong
2015-07-29 22:35 ` [PATCH 24/24] xfs: recognize the reflink feature bit Darrick J. Wong
2015-08-01 13:01 ` Josef 'Jeff' Sipek [this message]
2015-08-01 22:58   ` [RFC v2 00/24] xfs: add reflink and dedupe support Dave Chinner

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=20150801130131.GD101746@meili.valhalla.31bits.net \
    --to=jeffpc@josefsipek.net \
    --cc=darrick.wong@oracle.com \
    --cc=xfs@oss.sgi.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