From 95287e9bb847c4984a79e98ca53044dffc14d0fa Mon Sep 17 00:00:00 2001 From: Francois Tigeot Date: Sun, 25 Mar 2012 12:38:51 +0200 Subject: [PATCH] VFS accounting: use an explicit TAILQ_FIRST/TAILQ_NEXT loop in mountlist_exists() The previous TAILQ_FOREACH loop body was never executed --- sys/kern/vfs_mount.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index c5cefa2850..1e27d201ea 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -864,13 +864,17 @@ int mountlist_exists(struct mount *mp) { int node_exists = 0; - struct mountscan_info *msi; + struct mountscan_info msi; + struct mount* lmp; lwkt_gettoken(&mountlist_token); - TAILQ_FOREACH(msi, &mountscan_list, msi_entry) { - if (msi->msi_node == mp) { + msi.msi_node = TAILQ_FIRST(&mountlist); + while ((lmp = msi.msi_node) != NULL) { + if (lmp == mp) { node_exists = 1; + break; } + msi.msi_node = TAILQ_NEXT(lmp, mnt_list); } lwkt_reltoken(&mountlist_token); return(node_exists); -- 2.41.0