mount_nfs does not like exports longer then 88 chars
Mark Saad
nonesuch at longcount.org
Thu Apr 19 19:46:07 UTC 2012
Hello Hackers
I was wondering if anyone has come across this issue. This exists in
FreeBSD 6, 7, and 9 , and probably in 8 but I am not using it at this
time.
When a nfs export path and host name total to more then 88 characters
mount_nfs bombs out with the following error when it attempts to mount
it.
mount_nfs: nyisilon2-13.grp2:/ifs/clients/www/csar884520456/files_cms-stage-BK/imagefield_default_images:
File name too long
I traced this down to a check in mount_nfs.c . This is about line 560
in the 7-STABLE version and 734 in the 9-STABLE version
/*
* If there has been a trailing slash at mounttime it seems
* that some mountd implementations fail to remove the mount
* entries from their mountlist while unmounting.
*/
for (speclen = strlen(spec);
speclen > 1 && spec[speclen - 1] == '/';
speclen--)
spec[speclen - 1] = '\0';
if (strlen(hostp) + strlen(spec) + 1 > MNAMELEN) {
warnx("%s:%s: %s", hostp, spec, strerror(ENAMETOOLONG));
return (0);
}
Does any one know why the check for hostp + spec +1 to be less then
MNAMELEN is there for ?
I removed the check on my 9-STABLE box and it mounts the long mounts fine
I submitted a pr for this its kern/167105
http://www.freebsd.org/cgi/query-pr.cgi?pr=167105 as there is no
mention of this in the man page
and I cant find any reason for the check at all.
--
mark saad | nonesuch at longcount.org
More information about the freebsd-hackers
mailing list