Amir Shalem found some bugs in the new mount code; unknown options didn't get
added to the list, and my assumption that nfsmount() actually called mount() was incorrect (and I coded it wrong anyway; I hate having to touch codepaths I can't personally test).
This commit is contained in:
parent
cc8885f6f3
commit
9a643149de
@ -99,12 +99,12 @@ static void parse_mount_options(char *options, int *flags, char **strflags)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Unrecognized mount option?
|
// Unrecognized mount option?
|
||||||
if(i == sizeof(mount_options)) {
|
if(i == (sizeof(mount_options) / sizeof(*mount_options))) {
|
||||||
// Add it to strflags, to pass on to kernel
|
// Add it to strflags, to pass on to kernel
|
||||||
i = *strflags ? strlen(*strflags) : 0;
|
i = *strflags ? strlen(*strflags) : 0;
|
||||||
*strflags = xrealloc(*strflags, i+strlen(options)+2);
|
*strflags = xrealloc(*strflags, i+strlen(options)+2);
|
||||||
// Comma separated if it's not the first one
|
// Comma separated if it's not the first one
|
||||||
if(i) (*strflags)[i] = ',';
|
if(i) (*strflags)[i++] = ',';
|
||||||
strcpy((*strflags)+i, options);
|
strcpy((*strflags)+i, options);
|
||||||
}
|
}
|
||||||
// Advance to next option, or finish
|
// Advance to next option, or finish
|
||||||
@ -286,6 +286,8 @@ singlemount:
|
|||||||
else {
|
else {
|
||||||
rc = 0;
|
rc = 0;
|
||||||
fsType="nfs";
|
fsType="nfs";
|
||||||
|
// Strangely enough, nfsmount() doesn't actually mount()
|
||||||
|
goto mount_it_now;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user