Date: Thu, 8 Apr 2021 22:06:46 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 5af1131de7fc - main - struct mount uppers: correct locking annotations Message-ID: <202104082206.138M6k43056633@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5af1131de7fc18c795ed28e69d9393f78875d3e5 commit 5af1131de7fc18c795ed28e69d9393f78875d3e5 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-04-08 22:03:06 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-04-08 22:06:26 +0000 struct mount uppers: correct locking annotations It is all locked by the uppers' interlock. Noted by: Alexander Lochmann <alexander.lochmann@tu-dortmund.de> Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/sys/mount.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/sys/mount.h b/sys/sys/mount.h index 630cd521fbd0..a6d750a1ff37 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -198,6 +198,7 @@ _Static_assert(sizeof(struct mount_pcpu) == 16, * l - mnt_listmtx * m - mountlist_mtx * i - interlock + * i* - interlock of uppers' list head * v - vnode freelist mutex * * Unmarked fields are considered stable as long as a ref is held. @@ -242,8 +243,8 @@ struct mount { struct vnodelst mnt_lazyvnodelist; /* (l) list of lazy vnodes */ int mnt_lazyvnodelistsize; /* (l) # of lazy vnodes */ struct lock mnt_explock; /* vfs_export walkers lock */ - TAILQ_ENTRY(mount) mnt_upper_link; /* (m) we in the all uppers */ - TAILQ_HEAD(, mount) mnt_uppers; /* (m) upper mounts over us*/ + TAILQ_ENTRY(mount) mnt_upper_link; /* (i*) we in the all uppers */ + TAILQ_HEAD(, mount) mnt_uppers; /* (i) upper mounts over us */ }; #endif /* _WANT_MOUNT || _KERNEL */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104082206.138M6k43056633>