Author: kib
Date: Thu Jan  3 19:01:56 2013
New Revision: 245000
URL: http://svnweb.freebsd.org/changeset/base/245000

Log:
  Remove the last use of the deprecated MNT_VNODE_FOREACH interface in
  the tree.
  
  With the help from:   mjg
  Tested by:    Ronald Klop <ronald-freeb...@klop.yi.org>
  MFC after:    2 weeks

Modified:
  head/sys/fs/nandfs/nandfs_segment.c

Modified: head/sys/fs/nandfs/nandfs_segment.c
==============================================================================
--- head/sys/fs/nandfs/nandfs_segment.c Thu Jan  3 18:50:27 2013        
(r244999)
+++ head/sys/fs/nandfs/nandfs_segment.c Thu Jan  3 19:01:56 2013        
(r245000)
@@ -478,39 +478,19 @@ nandfs_iterate_dirty_vnodes(struct mount
        struct nandfs_node *nandfs_node;
        struct vnode *vp, *mvp;
        struct thread *td;
-       int error, lockreq, update;
+       int error, update;
 
        td = curthread;
-       lockreq = LK_EXCLUSIVE | LK_INTERLOCK | LK_RETRY;
 
-       MNT_ILOCK(mp);
-
-       MNT_VNODE_FOREACH(vp, mp, mvp) {
+       MNT_VNODE_FOREACH_ACTIVE(vp, mp, mvp) {
                update = 0;
 
-               if (mp->mnt_syncer == vp)
-                       continue;
-               if (VOP_ISLOCKED(vp))
-                       continue;
-
-               VI_LOCK(vp);
-               MNT_IUNLOCK(mp);
-               if (vp->v_iflag & VI_DOOMED) {
+               if (mp->mnt_syncer == vp || VOP_ISLOCKED(vp)) {
                        VI_UNLOCK(vp);
-                       MNT_ILOCK(mp);
-                       continue;
-               }
-
-               if ((error = vget(vp, lockreq, td)) != 0) {
-                       MNT_ILOCK(mp);
                        continue;
                }
-
-               if (vp->v_iflag & VI_DOOMED) {
-                       vput(vp);
-                       MNT_ILOCK(mp);
+               if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT, td) != 0)
                        continue;
-               }
 
                nandfs_node = VTON(vp);
                if (nandfs_node->nn_flags & IN_MODIFIED) {
@@ -532,12 +512,8 @@ nandfs_iterate_dirty_vnodes(struct mount
 
                if (update)
                        nandfs_node_update(nandfs_node);
-
-               MNT_ILOCK(mp);
        }
 
-       MNT_IUNLOCK(mp);
-
        return (0);
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to