From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Eric Sandeen <sandeen@sandeen.net>, Alex Lyakas <alex@zadara.com>,
Brian Foster <bfoster@redhat.com>,
linux-xfs@vger.kernel.org
Subject: Re: [RFC-PATCH] xfs: do not update sunit/swidth in the superblock to match those provided during mount
Date: Sun, 1 Dec 2019 07:28:53 +1100 [thread overview]
Message-ID: <20191130202853.GA2695@dread.disaster.area> (raw)
In-Reply-To: <20191127141929.GA20585@infradead.org>
On Wed, Nov 27, 2019 at 06:19:29AM -0800, Christoph Hellwig wrote:
> Can we all take a little step back and think about the implications
> of the original patch from Alex? Because I think there is very little.
> And updated sunit/swidth is just a little performance optimization,
> and anyone who really cares about changing that after the fact can
> trivially add those to fstab.
>
> So I think something like his original patch plus a message during
> mount that the new values are not persisted should be perfectly fine.
Well, the original purpose of the mount options was to persist a new
sunit/swidth to the superblock...
Let's ignore the fact that it was a result of a CXFS client mount
bug trashing the existing sunit/swidth values, and instead focus on
the fact we've been telling people for years that you "only need to
set these once after a RAID reshape" and so we have a lot of users
out there expecting it to persist the new values...
I don't think we can just redefine the documented and expected
behaviour of a mount option like this.
With that in mind, the xfs(5) man page explicitly states this:
The sunit and swidth parameters specified must be compatible
with the existing filesystem alignment characteristics. In
general, that means the only valid changes to sunit are
increasing it by a power-of-2 multiple. Valid swidth values
are any integer multiple of a valid sunit value.
Note the comment about changes to sunit? What is being done here -
halving the sunit from 64 to 32 blocks is invalid, documented as
invalid, but the kernel does not enforce this. We should fix the
kernel code to enforce the alignment rules that the mount option
is documented to require.
If we want to change the alignment characteristics after mkfs, then
use su=1,sw=1 as the initial values, then the first mount can use
the options to change it to whatever is present after mkfs has run.
Filesystems on storage that has dynamically changeable geometry
probably shouldn't be using fixed physical alignment in the first
place, though...
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2019-11-30 20:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-21 18:08 [RFC-PATCH] xfs: do not update sunit/swidth in the superblock to match those provided during mount Alex Lyakas
2019-11-22 15:43 ` Brian Foster
2019-11-24 9:13 ` Alex Lyakas
2019-11-24 16:40 ` Darrick J. Wong
2019-11-24 17:38 ` Eric Sandeen
2019-11-25 13:07 ` Brian Foster
2019-11-26 8:50 ` Alex Lyakas
2019-11-25 13:07 ` Brian Foster
2019-11-26 8:49 ` Alex Lyakas
2019-11-26 11:54 ` Brian Foster
2019-11-26 13:37 ` Alex Lyakas
2019-11-26 16:53 ` Eric Sandeen
2019-11-27 14:19 ` Christoph Hellwig
2019-11-27 15:19 ` Brian Foster
2019-11-30 20:28 ` Dave Chinner [this message]
2019-12-01 9:00 ` Alex Lyakas
2019-12-01 21:57 ` Dave Chinner
2019-12-02 8:07 ` Alex Lyakas
2019-12-01 23:29 ` 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=20191130202853.GA2695@dread.disaster.area \
--to=david@fromorbit.com \
--cc=alex@zadara.com \
--cc=bfoster@redhat.com \
--cc=hch@infradead.org \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@sandeen.net \
/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