git: 56c44bd92efa - main - automount(8): when flushing autofs, specify fsid
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 17 Oct 2023 16:41:41 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=56c44bd92efa002b2185445878fc98172ae8c66f
commit 56c44bd92efa002b2185445878fc98172ae8c66f
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-09-29 18:43:42 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-10-17 16:40:50 +0000
automount(8): when flushing autofs, specify fsid
Which should avoid situation where flushed filesystem is not autofs,
because it was mounted over autofs mp.
Reported and tested by: Andrew "RhodiumToad" Gierth <andrew@tao11.riddles.org.uk>
PR: 272446
Reviewed by: mjg
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D42023
---
usr.sbin/autofs/automount.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/usr.sbin/autofs/automount.c b/usr.sbin/autofs/automount.c
index cee647cb4e2c..6637e16c9129 100644
--- a/usr.sbin/autofs/automount.c
+++ b/usr.sbin/autofs/automount.c
@@ -229,7 +229,7 @@ mount_unmount(struct node *root)
}
static void
-flush_autofs(const char *fspath)
+flush_autofs(const char *fspath, const fsid_t *fsid)
{
struct iovec *iov = NULL;
char errmsg[255];
@@ -242,6 +242,8 @@ flush_autofs(const char *fspath)
__DECONST(void *, "autofs"), (size_t)-1);
build_iovec(&iov, &iovlen, "fspath",
__DECONST(void *, fspath), (size_t)-1);
+ build_iovec(&iov, &iovlen, "fsid",
+ __DECONST(void *, fsid), sizeof(*fsid));
build_iovec(&iov, &iovlen, "errmsg",
errmsg, sizeof(errmsg));
@@ -291,7 +293,7 @@ flush_caches(void)
continue;
}
- flush_autofs(mntbuf[i].f_mntonname);
+ flush_autofs(mntbuf[i].f_mntonname, &statbuf.f_fsid);
}
}