Some times ago, vfs_getopts() was changed, so that it would set error to
ENOENT if the option wasn't provided, instead of setting it to 0. xfs however didn't catch up on this, so it assumed something went bad if vfs_getopts() sets the error to non-zero, and just returns the error. Unbreak xfs mount by just ignoring the error if vfs_getopts() sets the error to ENOENT, as we should have sane defaults. Reviewed by: kan Approved by: re (rwatson) Tested by: rpaulo
This commit is contained in:
parent
77766ce03f
commit
0b8ac2d969
@ -131,25 +131,25 @@ _xfs_param_copyin(struct mount *mp, struct thread *td)
|
||||
args->logbufsize = -1;
|
||||
|
||||
parse_int(mp, "flags", &args->flags, &error);
|
||||
if (error != 0)
|
||||
if (error != 0 && error != ENOENT)
|
||||
return error;
|
||||
|
||||
args->flags |= XFSMNT_32BITINODES;
|
||||
|
||||
parse_int(mp, "sunit", &args->sunit, &error);
|
||||
if (error != 0)
|
||||
if (error != 0 && error != ENOENT)
|
||||
return error;
|
||||
|
||||
parse_int(mp, "swidth", &args->swidth, &error);
|
||||
if (error != 0)
|
||||
if (error != 0 && error != ENOENT)
|
||||
return error;
|
||||
|
||||
parse_int(mp, "logbufs", &args->logbufs, &error);
|
||||
if (error != 0)
|
||||
if (error != 0 && error != ENOENT)
|
||||
return error;
|
||||
|
||||
parse_int(mp, "logbufsize", &args->logbufsize, &error);
|
||||
if (error != 0)
|
||||
if (error != 0 && error != ENOENT)
|
||||
return error;
|
||||
|
||||
fsname = vfs_getopts(mp->mnt_optnew, "from", &error);
|
||||
|
Loading…
Reference in New Issue
Block a user