git: 9a8287cbb12b - main - dounmount(): generalize comment on covered vnode lock recursion
Jason A. Harmening <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.src |
|---|---|
| Message-ID | <6a88fc32.31ed7.42f377c2__47736.7189059564$1787362377$gmane$org@gitrepo.freebsd.org> |
The branch main has been updated by jah: URL: https://cgit.FreeBSD.org/src/commit/?id=9a8287cbb12be92b503b1bd301d69a42949e855c commit 9a8287cbb12be92b503b1bd301d69a42949e855c Author: Jason A. Harmening <[email protected]> AuthorDate: 2026-08-15 16:14:11 +0000 Commit: Jason A. Harmening <[email protected]> CommitDate: 2026-08-22 01:32:15 +0000 dounmount(): generalize comment on covered vnode lock recursion The need for recursion applies (in somewhat different form) to both nullfs and unionfs, and would likely apply to any other hypothetical stacked filesystem as well. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D58858 --- sys/kern/vfs_mount.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 90215a64b08b..94720615bc3f 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -2324,11 +2324,12 @@ dounmount(struct mount *mp, uint64_t flags, struct thread *td) } /* - * For some complex nullfs mount configurations, it is - * possible to get the covered vnode lock for the - * mount shared with some inside-mount vnode lock. - * Then at unmount time, vflush() would recurse on the - * covered vnode lock when reclaiming the vnode. + * For stacked filesystems such as nullfs and unionfs, + * it is possible for the covered vnode lock for the + * mount to be shared with one of the vnodes belonging + * to the mount. At unmount time, vflush() will then + * recurse on the covered vnode lock when reclaiming + * the vnode. * * To work around it, temprorarily allow recursion for * the covered vnode lock.