From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@lst.de>, xfs@oss.sgi.com
Subject: Re: [RFC] allow enabling reflinks at runtime
Date: Thu, 2 Jun 2016 18:58:33 -0700 [thread overview]
Message-ID: <20160603015832.GA5758@birch.djwong.org> (raw)
In-Reply-To: <20160602225415.GP12670@dastard>
On Fri, Jun 03, 2016 at 08:54:15AM +1000, Dave Chinner wrote:
> On Thu, Jun 02, 2016 at 04:19:07PM +0200, Christoph Hellwig wrote:
> > I've had some vocal user requests to allow enabling reflinks at run time,
> > which happens to be a mostly trivial feature. The only caveat is that we
> > need a large enough log size to support the reflink requirements, but for
> > typical large file systems that's not an issue.
>
> Hmmm - how does this interact with all the rmap code? I was not
> planning on enabling reflink without rmap and vice versa simply
> because it makes the validation and testing matrix vastly more
> complex. Indeed, having reflink turned on after a filesystem has
> aged for some time (i.e. from unknown initial conditions) makes
> validation especially tricky....
Well...
It's not strictly impossible, but there will be some problems running
repair and remounting.
The patchset doesn't actually check that we satisfy the minimum log
space requirement, which will result in xfs refusing to mount. As
Christoph says, this is only an issue on small FSes, but nevertheless,
we shouldn't trap the user like that.
Second, mkfs lays out all the AG btree roots at the start of the AG
before finding an aligned inode block for the root inode. xfs_repair
feeds the same algorithm from the on-disk feature fields to check that
s_rootino is sane, and gets very unhappy if it doesn't find the root
inode at the computed location. Adding the two btree root blocks is
enough to shift the root inode from 96 to 128. This all can be fixed,
but it /was/ convenient not to have to support weirdo upgraded XFSes
like ext4. :)
Furthermore, if you turn on reflink, you should enable the per-AG
reservations so we don't crash the FS by running out of space when it
needs a block for the refcountbt.
--D
>
> Darrick?
>
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2016-06-03 1:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-02 14:19 [RFC] allow enabling reflinks at runtime Christoph Hellwig
2016-06-02 14:19 ` [PATCH 1/3] xfs: add xfs_mp_hasreflink Christoph Hellwig
2016-06-02 14:19 ` [PATCH 2/3] xfs: refactor xfs_refcountbt_alloc_block Christoph Hellwig
2016-06-02 14:19 ` [PATCH 3/3] xfs: add an option to enable reflinks at mount time Christoph Hellwig
2016-06-06 11:23 ` Carlos Maiolino
2016-06-06 11:29 ` Carlos Maiolino
2016-06-06 16:52 ` Darrick J. Wong
2016-06-08 7:04 ` Christoph Hellwig
2016-06-08 8:07 ` Carlos Maiolino
2016-06-08 8:10 ` Carlos Maiolino
2016-06-09 22:57 ` Dave Chinner
2016-06-02 22:54 ` [RFC] allow enabling reflinks at runtime Dave Chinner
2016-06-03 1:58 ` Darrick J. Wong [this message]
2016-06-06 18:52 ` Darrick J. Wong
2016-06-08 7:10 ` Christoph Hellwig
2016-06-08 7:11 ` Christoph Hellwig
2016-06-09 17:45 ` Darrick J. Wong
2016-06-09 23:33 ` Dave Chinner
2016-07-13 5:36 ` Darrick J. Wong
2016-10-26 20:49 ` Darrick J. Wong
2016-11-03 16:10 ` Christoph Hellwig
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=20160603015832.GA5758@birch.djwong.org \
--to=darrick.wong@oracle.com \
--cc=david@fromorbit.com \
--cc=hch@lst.de \
--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;
as well as URLs for NNTP newsgroup(s).