All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: david@fromorbit.com, darrick.wong@oracle.com
Cc: linux-xfs@vger.kernel.org, xfs@oss.sgi.com
Subject: [PATCH v8 00/20] xfs: add realtime reverse-mapping support
Date: Thu, 25 Aug 2016 16:43:26 -0700	[thread overview]
Message-ID: <147216860614.3688.3200692982609112535.stgit@birch.djwong.org> (raw)

Hi all,

This is the eighth revision of a patchset that adds to XFS kernel
support for mapping multiple file logical blocks to the same physical
block (reflink/deduplication), implements the beginnings of online
metadata scrubbing and preening, and implements reverse mapping for
the realtime device.  There shouldn't be any incompatible on-disk
format changes, pending a thorough review of the patches within.

At the beginning of the set are patches to implement storing B+tree
leaves in an inode root, since the realtime rmapbt is rooted in an
inode, unlike the regular rmapbt which is rooted in an AG block.
Prior to this, the only btree that could be rooted in the inode fork
was the block mapping btree; if all the extent records fit in the
inode, format would be switched from 'btree' to 'extents'.

The next few patches widen the reverse mapping routines to fit the
64-bit numbers required to store information about the realtime
device and establish a new b+tree type (rtrmapbt) for the realtime
variant of the rmapbt.  After that are a few patches to handle rooting
the rtrmapbt in a specific inode that's referenced by the superblock.

Finally, there are patches to implement GETFSMAP with the rtrmapbt and
scrub functionality for the rtrmapbt and rtbitmap.

If you're going to start using this mess, you probably ought to just
pull from my github trees for kernel[1], xfsprogs[2], xfstests[3],
xfs-docs[4], and man-pages[5].  The kernel patches in the git trees
should apply to 4.8-rc3; xfsprogs patches to for-next; and xfstest to
master.

The patches have been xfstested with x64, ppc64, and armhf; all tests
in the clone and rmap groups pass.  AFAICT they don't cause any new
failures for the 'auto' group.

This is an extraordinary way to eat your data.  Enjoy! 
Comments and questions are, as always, welcome.

--D

[1] https://github.com/djwong/linux/tree/djwong-devel
[2] https://github.com/djwong/xfsprogs/tree/djwong-devel
[3] https://github.com/djwong/xfstests/tree/djwong-devel
[4] https://github.com/djwong/xfs-documentation/tree/djwong-devel
[5] https://github.com/djwong/man-pages/tree/djwong-devel

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

             reply	other threads:[~2016-08-25 23:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-25 23:43 Darrick J. Wong [this message]
2016-08-25 23:43 ` [PATCH 01/20] xfs: refactor long-format btree header verification routines Darrick J. Wong
2016-08-25 23:43 ` [PATCH 02/20] xfs: make iroot_realloc a btree function Darrick J. Wong
2016-08-25 23:43 ` [PATCH 03/20] xfs: support storing records in the inode core root Darrick J. Wong
2016-08-25 23:43 ` [PATCH 04/20] xfs: widen xfs_refcount_irec fields to handle realtime rmapbt Darrick J. Wong
2016-08-25 23:43 ` [PATCH 05/20] xfs: introduce realtime rmap btree definitions Darrick J. Wong
2016-08-25 23:44 ` [PATCH 06/20] xfs: define the on-disk realtime rmap btree format Darrick J. Wong
2016-08-25 23:44 ` [PATCH 07/20] xfs: realtime rmap btree transaction reservations Darrick J. Wong
2016-08-25 23:44 ` [PATCH 08/20] xfs: add realtime rmap btree operations Darrick J. Wong
2016-08-25 23:44 ` [PATCH 09/20] xfs: prepare rmap functions to deal with rtrmapbt Darrick J. Wong
2016-08-25 23:44 ` [PATCH 10/20] xfs: add a realtime flag to the rmap update log redo items Darrick J. Wong
2016-08-25 23:44 ` [PATCH 11/20] xfs: add realtime rmap btree block detection to log recovery Darrick J. Wong
2016-08-25 23:44 ` [PATCH 12/20] xfs: add realtime reverse map inode to superblock Darrick J. Wong
2016-08-25 23:44 ` [PATCH 13/20] xfs: wire up a new inode fork type for the realtime rmap Darrick J. Wong
2016-08-25 23:44 ` [PATCH 14/20] xfs: don't assume a left rmap when allocating a new rmap Darrick J. Wong
2016-08-25 23:45 ` [PATCH 15/20] xfs: wire up rmap map and unmap to the realtime rmapbt Darrick J. Wong
2016-08-25 23:45 ` [PATCH 16/20] xfs: enable realtime rmap btree Darrick J. Wong
2016-08-25 23:45 ` [PATCH 17/20] xfs: wire up getfsmap to the realtime reverse mapping btree Darrick J. Wong
2016-08-25 23:45 ` [PATCH 18/20] xfs: scrub the realtime rmapbt Darrick J. Wong
2016-08-25 23:45 ` [PATCH 19/20] xfs: cross-reference realtime bitmap to realtime rmapbt scrubber Darrick J. Wong
2016-08-25 23:45 ` [PATCH 20/20] xfs: cross-reference the realtime rmapbt Darrick J. Wong

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=147216860614.3688.3200692982609112535.stgit@birch.djwong.org \
    --to=darrick.wong@oracle.com \
    --cc=david@fromorbit.com \
    --cc=linux-xfs@vger.kernel.org \
    --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 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.