diff --git a/sbin/mountd/mountd.c b/sbin/mountd/mountd.c index 0c08f40464e..35ea7da02a1 100644 --- a/sbin/mountd/mountd.c +++ b/sbin/mountd/mountd.c @@ -950,9 +950,10 @@ get_exportlist() targs.ua.fspec = NULL; targs.ua.export.ex_flags = MNT_DELEXPORT; if (mount(fsp->f_fstypename, fsp->f_mntonname, - fsp->f_flags | MNT_UPDATE, - (caddr_t)&targs) < 0) - syslog(LOG_ERR, "can't delete exports for %s", + fsp->f_flags | MNT_UPDATE, (caddr_t)&targs) < 0 && + errno != ENOENT) + syslog(LOG_ERR, + "can't delete exports for %s: %m", fsp->f_mntonname); } fsp++; diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 64677cbfac9..53e67fa9496 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -207,7 +207,7 @@ vfs_export(mp, argp) nep = mp->mnt_export; if (argp->ex_flags & MNT_DELEXPORT) { if (nep == NULL) - return (EINVAL); + return (ENOENT); if (mp->mnt_flag & MNT_EXPUBLIC) { vfs_setpublicfs(NULL, NULL, NULL); mp->mnt_flag &= ~MNT_EXPUBLIC; diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 0c08f40464e..35ea7da02a1 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -950,9 +950,10 @@ get_exportlist() targs.ua.fspec = NULL; targs.ua.export.ex_flags = MNT_DELEXPORT; if (mount(fsp->f_fstypename, fsp->f_mntonname, - fsp->f_flags | MNT_UPDATE, - (caddr_t)&targs) < 0) - syslog(LOG_ERR, "can't delete exports for %s", + fsp->f_flags | MNT_UPDATE, (caddr_t)&targs) < 0 && + errno != ENOENT) + syslog(LOG_ERR, + "can't delete exports for %s: %m", fsp->f_mntonname); } fsp++;