From: Gao Xiang <hsiangkao@redhat.com>
To: Brian Foster <bfoster@redhat.com>
Cc: linux-xfs@vger.kernel.org,
"Darrick J. Wong" <darrick.wong@oracle.com>,
Eric Sandeen <sandeen@redhat.com>
Subject: Re: [PATCH] xfs: introduce xfs_validate_stripe_factors()
Date: Mon, 12 Oct 2020 21:55:36 +0800 [thread overview]
Message-ID: <20201012135536.GA614@xiangao.remote.csb> (raw)
In-Reply-To: <20201012130524.GD917726@bfoster>
Hi Brian,
On Mon, Oct 12, 2020 at 09:05:24AM -0400, Brian Foster wrote:
> On Fri, Oct 09, 2020 at 01:05:46PM +0800, Gao Xiang wrote:
> > Introduce a common helper to consolidate stripe validation process.
> > Also make kernel code xfs_validate_sb_common() use it first.
> >
> > Signed-off-by: Gao Xiang <hsiangkao@redhat.com>
> > ---
...
> > diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c
> > index 5aeafa59ed27..cb2a7aa0ad51 100644
> > --- a/fs/xfs/libxfs/xfs_sb.c
> > +++ b/fs/xfs/libxfs/xfs_sb.c
> ...
> > @@ -1233,3 +1230,49 @@ xfs_sb_get_secondary(
> > *bpp = bp;
> > return 0;
> > }
> > +
> > +/*
> > + * sunit, swidth, sectorsize(optional with 0) should be all in bytes,
> > + * so users won't be confused by values in error messages.
> > + */
> > +bool
> > +xfs_validate_stripe_factors(
>
> xfs_validate_stripe_geometry() perhaps?
Thanks for the review!
Ok, I'm fine with the naming, since I had no better name
about it at that time :)
>
> > + struct xfs_mount *mp,
> > + __s64 sunit,
> > + __s64 swidth,
> > + int sectorsize)
> > +{
> > + if (sectorsize && sunit % sectorsize) {
> > + xfs_notice(mp,
> > +"stripe unit (%lld) must be a multiple of the sector size (%d)",
> > + sunit, sectorsize);
> > + return false;
> > + }
> > +
> > + if (sunit && !swidth) {
> > + xfs_notice(mp,
> > +"invalid stripe unit (%lld) and stripe width of 0", sunit);
> > + return false;
> > + }
> > +
> > + if (!sunit && swidth) {
> > + xfs_notice(mp,
> > +"invalid stripe width (%lld) and stripe unit of 0", swidth);
> > + return false;
> > + }
>
> Seems like these two could be combined into one check that prints
> something like:
>
> invalid stripe width (%lld) and stripe unit (%lld)
Hmm, that was in response to Darrick's previous review... see,
https://lore.kernel.org/linux-xfs/20201007222942.GH6540@magnolia
so I'd like to know further direction of this...
>
> > +
> > + if (sunit > swidth) {
> > + xfs_notice(mp,
> > +"stripe unit (%lld) is larger than the stripe width (%lld)", sunit, swidth);
> > + return false;
> > + }
> > +
> > + if (sunit && (swidth % sunit)) {
> > + xfs_notice(mp,
> > +"stripe width (%lld) must be a multiple of the stripe unit (%lld)",
> > + swidth, sunit);
> > + return false;
> > + }
> > + return true;
> > +}
> > +
>
> Trailing whitespace here.
That is trailing newline (I personally prefer that),
yeah, I will remove it in the next version.
Thanks,
Gao Xiang
>
> Otherwise looks reasonable outside of those nits.
>
> Brian
next prev parent reply other threads:[~2020-10-12 13:56 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-09 5:05 [PATCH] xfs: introduce xfs_validate_stripe_factors() Gao Xiang
2020-10-12 13:05 ` Brian Foster
2020-10-12 13:55 ` Gao Xiang [this message]
2020-10-12 14:17 ` Brian Foster
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=20201012135536.GA614@xiangao.remote.csb \
--to=hsiangkao@redhat.com \
--cc=bfoster@redhat.com \
--cc=darrick.wong@oracle.com \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@redhat.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