mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 06:24:53 +08:00
xfs: remove the dsunit and dswidth variables in
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@lst.de> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
8da57c5c00
commit
69e8575dee
@ -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 ||
|
||||
|
Loading…
Reference in New Issue
Block a user