aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/mountd
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2015-02-10 18:00:32 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2015-02-10 18:00:32 +0000
commit5d6f5b24ca893970866387f757c6e3a60d743178 (patch)
tree30f2c50d2f8c91268f7017807b24a732146b8520 /usr.sbin/mountd
parent29836e077a2cd92ac00c53fdfb2d16ac1e880cc8 (diff)
downloadsrc-5d6f5b24ca893970866387f757c6e3a60d743178.tar.gz
src-5d6f5b24ca893970866387f757c6e3a60d743178.zip
Notes
Diffstat (limited to 'usr.sbin/mountd')
-rw-r--r--usr.sbin/mountd/mountd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c
index 87794c3ce6db..ad1964e07635 100644
--- a/usr.sbin/mountd/mountd.c
+++ b/usr.sbin/mountd/mountd.c
@@ -1747,8 +1747,12 @@ get_exportlist(void)
iov[5].iov_len = strlen(fsp->f_mntfromname) + 1;
errmsg[0] = '\0';
+ /*
+ * EXDEV is returned when path exists but is not a
+ * mount point. May happens if raced with unmount.
+ */
if (nmount(iov, iovlen, fsp->f_flags) < 0 &&
- errno != ENOENT && errno != ENOTSUP) {
+ errno != ENOENT && errno != ENOTSUP && errno != EXDEV) {
syslog(LOG_ERR,
"can't delete exports for %s: %m %s",
fsp->f_mntonname, errmsg);