mountlist_exists(): use a TAILQ_FOREACH macro again
authorFrancois Tigeot <ftigeot@wolfpond.org>
Mon, 26 Mar 2012 17:58:30 +0000 (19:58 +0200)
committerFran├žois Tigeot <ftigeot@wolfpond.org>
Mon, 26 Mar 2012 19:07:55 +0000 (21:07 +0200)
Removing a few lines of code in the process.

sys/kern/vfs_mount.c

index 1e27d20..f0a9cdd 100644 (file)
@@ -859,22 +859,22 @@ mountlist_remove(struct mount *mp)
  * Checks if a node exists in the mountlist.
  * This function is mainly used by VFS accounting code to check if a
  * cached nullfs struct mount pointer is still valid at use time
+ *
+ * FIXME: there is no warranty the mp passed to that function
+ * will be the same one used by VFS_ACCOUNT() later
  */
 int
 mountlist_exists(struct mount *mp)
 {
        int node_exists = 0;
-       struct mountscan_info msi;
        struct mount* lmp;
 
        lwkt_gettoken(&mountlist_token);
-       msi.msi_node = TAILQ_FIRST(&mountlist);
-       while ((lmp = msi.msi_node) != NULL) {
+       TAILQ_FOREACH(lmp, &mountlist, mnt_list) {
                if (lmp == mp) {
                        node_exists = 1;
                        break;
                }
-               msi.msi_node = TAILQ_NEXT(lmp, mnt_list);
        }
        lwkt_reltoken(&mountlist_token);
        return(node_exists);