On Sun, Oct 27, 2019 at 03:55:37PM +0100, Christoph Hellwig wrote: > There is no real need for the local variables here - either they > are applied to the mount structure, or if the noalign mount option > is set the mount will fail entirely if either is set. Removing > them helps cleaning up the mount API conversion. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_super.c | 27 ++++++++------------------- > 1 file changed, 8 insertions(+), 19 deletions(-) > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index 589c080cabfe..4089de3daded 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -159,8 +159,6 @@ xfs_parseargs( > const struct super_block *sb = mp->m_super; > char *p; > substring_t args[MAX_OPT_ARGS]; > - int dsunit = 0; > - int dswidth = 0; > int iosize = 0; > uint8_t iosizelog = 0; > > @@ -252,11 +250,11 @@ xfs_parseargs( > mp->m_flags |= XFS_MOUNT_SWALLOC; > break; > case Opt_sunit: > - if (match_int(args, &dsunit)) > + if (match_int(args, &mp->m_dalign)) > return -EINVAL; > break; > case Opt_swidth: > - if (match_int(args, &dswidth)) > + if (match_int(args, &mp->m_swidth)) > return -EINVAL; > break; > case Opt_inode32: > @@ -350,7 +348,8 @@ xfs_parseargs( > return -EINVAL; > } > > - if ((mp->m_flags & XFS_MOUNT_NOALIGN) && (dsunit || dswidth)) { > + if ((mp->m_flags & XFS_MOUNT_NOALIGN) && > + (mp->m_dalign || mp->m_swidth)) { > xfs_warn(mp, > "sunit and swidth options incompatible with the noalign option"); > return -EINVAL; > @@ -363,30 +362,20 @@ xfs_parseargs( > } > #endif > > - if ((dsunit && !dswidth) || (!dsunit && dswidth)) { > + if ((mp->m_dalign && !mp->m_swidth) || > + (!mp->m_dalign && mp->m_swidth)) { > xfs_warn(mp, "sunit and swidth must be specified together"); > return -EINVAL; > } > > - if (dsunit && (dswidth % dsunit != 0)) { > + if (mp->m_dalign && (mp->m_swidth % mp->m_dalign != 0)) { > xfs_warn(mp, > "stripe width (%d) must be a multiple of the stripe unit (%d)", > - dswidth, dsunit); > + mp->m_swidth, mp->m_dalign); > return -EINVAL; > } > > done: > - if (dsunit && !(mp->m_flags & XFS_MOUNT_NOALIGN)) { > - /* > - * At this point the superblock has not been read > - * in, therefore we do not know the block size. > - * Before the mount call ends we will convert > - * these to FSBs. > - */ > - mp->m_dalign = dsunit; > - mp->m_swidth = dswidth; > - } > - > if (mp->m_logbufs != -1 && > mp->m_logbufs != 0 && > (mp->m_logbufs < XLOG_MIN_ICLOGS || > -- > 2.20.1 >