FreeBSD Bugzilla – Attachment 6682 Details for
Bug 14967
Convert mountlist and mount.mnt_list from CIRCLEQ to TAILQ
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 18.32 KB, created by
jake
on 1999-11-18 03:40:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
jake
Created:
1999-11-18 03:40:01 UTC
Size:
18.32 KB
patch
obsolete
>Index: sys/coda/coda_vfsops.c >=================================================================== >RCS file: /home/ncvs/src/sys/coda/coda_vfsops.c,v >retrieving revision 1.20 >diff -c -r1.20 coda_vfsops.c >*** coda_vfsops.c 1999/09/11 00:45:56 1.20 >--- coda_vfsops.c 1999/11/17 21:43:46 >*************** >*** 507,516 **** > struct mount *devtomp(dev) > dev_t dev; > { >! struct mount *mp, *nmp; >! >! for (mp = mountlist.cqh_first; mp != (void*)&mountlist; mp = nmp) { >! nmp = mp->mnt_list.cqe_next; > if (((VFSTOUFS(mp))->um_dev == dev)) { > /* mount corresponds to UFS and the device matches one we want */ > return(mp); >--- 507,515 ---- > struct mount *devtomp(dev) > dev_t dev; > { >! struct mount *mp; >! >! TAILQ_FOREACH(mp, &mountlist, mnt_list) { > if (((VFSTOUFS(mp))->um_dev == dev)) { > /* mount corresponds to UFS and the device matches one we want */ > return(mp); >Index: sys/contrib/softupdates/ffs_softdep.c >=================================================================== >RCS file: /home/ncvs/src/sys/contrib/softupdates/ffs_softdep.c,v >retrieving revision 1.36 >diff -c -r1.36 ffs_softdep.c >*** ffs_softdep.c 1999/08/28 02:16:29 1.36 >--- ffs_softdep.c 1999/11/17 21:43:45 >*************** >*** 4363,4370 **** > * Ugly code to find mount point given pointer to superblock. > */ > fs = inodedep->id_fs; >! for (mp = CIRCLEQ_FIRST(&mountlist); mp != (void *)&mountlist; >! mp = CIRCLEQ_NEXT(mp, mnt_list)) > if ((mp->mnt_flag & MNT_SOFTDEP) && fs == VFSTOUFS(mp)->um_fs) > break; > /* >--- 4363,4369 ---- > * Ugly code to find mount point given pointer to superblock. > */ > fs = inodedep->id_fs; >! TAILQ_FOREACH(mp, &mountlist, mnt_list) > if ((mp->mnt_flag & MNT_SOFTDEP) && fs == VFSTOUFS(mp)->um_fs) > break; > /* >Index: sys/gnu/ext2fs/ext2_vfsops.c >=================================================================== >RCS file: /home/ncvs/src/sys/gnu/ext2fs/ext2_vfsops.c,v >retrieving revision 1.57 >diff -c -r1.57 ext2_vfsops.c >*** ext2_vfsops.c 1999/11/09 14:15:10 1.57 >--- ext2_vfsops.c 1999/11/17 21:43:45 >*************** >*** 144,150 **** > bsd_free(mp, M_MOUNT); > return (error); > } >! CIRCLEQ_INSERT_HEAD(&mountlist, mp, mnt_list); > mp->mnt_flag |= MNT_ROOTFS; > mp->mnt_vnodecovered = NULLVP; > ump = VFSTOUFS(mp); >--- 144,150 ---- > bsd_free(mp, M_MOUNT); > return (error); > } >! TAILQ_INSERT_HEAD(&mountlist, mp, mnt_list); > mp->mnt_flag |= MNT_ROOTFS; > mp->mnt_vnodecovered = NULLVP; > ump = VFSTOUFS(mp); >Index: sys/kern/init_main.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/init_main.c,v >retrieving revision 1.131 >diff -c -r1.131 init_main.c >*** init_main.c 1999/11/16 10:56:04 1.131 >--- init_main.c 1999/11/17 21:43:45 >*************** >*** 447,453 **** > register struct filedesc0 *fdp = &filedesc0; > > /* Get the vnode for '/'. Set fdp->fd_fd.fd_cdir to reference it. */ >! if (VFS_ROOT(CIRCLEQ_FIRST(&mountlist), &rootvnode)) > panic("cannot find root vnode"); > fdp->fd_fd.fd_cdir = rootvnode; > VREF(fdp->fd_fd.fd_cdir); >--- 447,453 ---- > register struct filedesc0 *fdp = &filedesc0; > > /* Get the vnode for '/'. Set fdp->fd_fd.fd_cdir to reference it. */ >! if (VFS_ROOT(TAILQ_FIRST(&mountlist), &rootvnode)) > panic("cannot find root vnode"); > fdp->fd_fd.fd_cdir = rootvnode; > VREF(fdp->fd_fd.fd_cdir); >Index: sys/kern/kern_shutdown.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/kern_shutdown.c,v >retrieving revision 1.66 >diff -c -r1.66 kern_shutdown.c >*** kern_shutdown.c 1999/11/08 19:36:45 1.66 >--- kern_shutdown.c 1999/11/17 21:43:45 >*************** >*** 229,235 **** > if (((bp->b_flags&B_INVAL) == 0 && BUF_REFCNT(bp)) || > ((bp->b_flags & (B_DELWRI|B_INVAL)) == B_DELWRI)) { > if (bp->b_dev == NODEV) { >! CIRCLEQ_REMOVE(&mountlist, > bp->b_vp->v_mount, mnt_list); > continue; > } >--- 229,235 ---- > if (((bp->b_flags&B_INVAL) == 0 && BUF_REFCNT(bp)) || > ((bp->b_flags & (B_DELWRI|B_INVAL)) == B_DELWRI)) { > if (bp->b_dev == NODEV) { >! TAILQ_REMOVE(&mountlist, > bp->b_vp->v_mount, mnt_list); > continue; > } >Index: sys/kern/vfs_conf.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/vfs_conf.c,v >retrieving revision 1.41 >diff -c -r1.41 vfs_conf.c >*** vfs_conf.c 1999/11/08 11:44:51 1.41 >--- vfs_conf.c 1999/11/17 21:43:45 >*************** >*** 213,219 **** > > /* register with list of mounted filesystems */ > simple_lock(&mountlist_slock); >! CIRCLEQ_INSERT_HEAD(&mountlist, mp, mnt_list); > simple_unlock(&mountlist_slock); > > /* sanity check system clock against root filesystem timestamp */ >--- 213,219 ---- > > /* register with list of mounted filesystems */ > simple_lock(&mountlist_slock); >! TAILQ_INSERT_HEAD(&mountlist, mp, mnt_list); > simple_unlock(&mountlist_slock); > > /* sanity check system clock against root filesystem timestamp */ >Index: sys/kern/vfs_subr.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/vfs_subr.c,v >retrieving revision 1.234 >diff -c -r1.234 vfs_subr.c >*** vfs_subr.c 1999/11/16 16:28:57 1.234 >--- vfs_subr.c 1999/11/18 01:21:42 >*************** >*** 172,178 **** > TAILQ_INIT(&vnode_free_list); > TAILQ_INIT(&vnode_tobefree_list); > simple_lock_init(&vnode_free_list_slock); >! CIRCLEQ_INIT(&mountlist); > vnode_zone = zinit("VNODE", sizeof (struct vnode), 0, 0, 5); > /* > * Initialize the filesystem syncer. >--- 172,178 ---- > TAILQ_INIT(&vnode_free_list); > TAILQ_INIT(&vnode_tobefree_list); > simple_lock_init(&vnode_free_list_slock); >! TAILQ_INIT(&mountlist); > vnode_zone = zinit("VNODE", sizeof (struct vnode), 0, 0, 5); > /* > * Initialize the filesystem syncer. >*************** >*** 315,321 **** > register struct mount *mp; > > simple_lock(&mountlist_slock); >! CIRCLEQ_FOREACH(mp, &mountlist, mnt_list) { > if (mp->mnt_stat.f_fsid.val[0] == fsid->val[0] && > mp->mnt_stat.f_fsid.val[1] == fsid->val[1]) { > simple_unlock(&mountlist_slock); >--- 315,321 ---- > register struct mount *mp; > > simple_lock(&mountlist_slock); >! TAILQ_FOREACH(mp, &mountlist, mnt_list) { > if (mp->mnt_stat.f_fsid.val[0] == fsid->val[0] && > mp->mnt_stat.f_fsid.val[1] == fsid->val[1]) { > simple_unlock(&mountlist_slock); >*************** >*** 1973,1981 **** > > printf("Locked vnodes\n"); > simple_lock(&mountlist_slock); >! for (mp = CIRCLEQ_FIRST(&mountlist); mp != (void *)&mountlist; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > continue; > } > LIST_FOREACH(vp, &mp->mnt_vnodelist, v_mntvnodes) { >--- 1973,1981 ---- > > printf("Locked vnodes\n"); > simple_lock(&mountlist_slock); >! for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = TAILQ_NEXT(mp, mnt_list); > continue; > } > LIST_FOREACH(vp, &mp->mnt_vnodelist, v_mntvnodes) { >*************** >*** 1983,1989 **** > vprint((char *)0, vp); > } > simple_lock(&mountlist_slock); >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >--- 1983,1989 ---- > vprint((char *)0, vp); > } > simple_lock(&mountlist_slock); >! nmp = TAILQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >*************** >*** 2091,2100 **** > (numvnodes + KINFO_VNODESLOP) * (VPTRSZ + VNODESZ))); > > simple_lock(&mountlist_slock); >! mp = CIRCLEQ_FIRST(&mountlist); >! for (; mp != (void *)&mountlist; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > continue; > } > again: >--- 2091,2099 ---- > (numvnodes + KINFO_VNODESLOP) * (VPTRSZ + VNODESZ))); > > simple_lock(&mountlist_slock); >! for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = TAILQ_NEXT(mp, mnt_list); > continue; > } > again: >*************** >*** 2120,2126 **** > } > simple_unlock(&mntvnode_slock); > simple_lock(&mountlist_slock); >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >--- 2119,2125 ---- > } > simple_unlock(&mntvnode_slock); > simple_lock(&mountlist_slock); >! nmp = TAILQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >*************** >*** 2170,2180 **** > /* > * Since this only runs when rebooting, it is not interlocked. > */ >! mp = CIRCLEQ_LAST(&mountlist); >! for (; mp != (void *)&mountlist; mp = nmp) { >! nmp = CIRCLEQ_PREV(mp, mnt_list); > error = dounmount(mp, MNT_FORCE, p); > if (error) { > printf("unmount of %s failed (", > mp->mnt_stat.f_mntonname); > if (error == EBUSY) >--- 2169,2179 ---- > /* > * Since this only runs when rebooting, it is not interlocked. > */ >! while(!TAILQ_EMPTY(&mountlist)) { >! mp = TAILQ_LAST(&mountlist, mntlist); > error = dounmount(mp, MNT_FORCE, p); > if (error) { >+ TAILQ_REMOVE(&mountlist, mp, mnt_list); > printf("unmount of %s failed (", > mp->mnt_stat.f_mntonname); > if (error == EBUSY) >Index: sys/kern/vfs_syscalls.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/vfs_syscalls.c,v >retrieving revision 1.144 >diff -c -r1.144 vfs_syscalls.c >*** vfs_syscalls.c 1999/11/16 16:28:58 1.144 >--- vfs_syscalls.c 1999/11/17 21:43:45 >*************** >*** 331,337 **** > vp->v_mountedhere = mp; > simple_unlock(&vp->v_interlock); > simple_lock(&mountlist_slock); >! CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list); > simple_unlock(&mountlist_slock); > checkdirs(vp); > VOP_UNLOCK(vp, 0, p); >--- 331,337 ---- > vp->v_mountedhere = mp; > simple_unlock(&vp->v_interlock); > simple_lock(&mountlist_slock); >! TAILQ_INSERT_TAIL(&mountlist, mp, mnt_list); > simple_unlock(&mountlist_slock); > checkdirs(vp); > VOP_UNLOCK(vp, 0, p); >*************** >*** 494,500 **** > wakeup((caddr_t)mp); > return (error); > } >! CIRCLEQ_REMOVE(&mountlist, mp, mnt_list); > if ((coveredvp = mp->mnt_vnodecovered) != NULLVP) { > coveredvp->v_mountedhere = (struct mount *)0; > vrele(coveredvp); >--- 494,500 ---- > wakeup((caddr_t)mp); > return (error); > } >! TAILQ_REMOVE(&mountlist, mp, mnt_list); > if ((coveredvp = mp->mnt_vnodecovered) != NULLVP) { > coveredvp->v_mountedhere = (struct mount *)0; > vrele(coveredvp); >*************** >*** 533,542 **** > int asyncflag; > > simple_lock(&mountlist_slock); >! mp = CIRCLEQ_FIRST(&mountlist); >! for (; mp != (void *)&mountlist; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > continue; > } > if ((mp->mnt_flag & MNT_RDONLY) == 0) { >--- 533,541 ---- > int asyncflag; > > simple_lock(&mountlist_slock); >! for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = TAILQ_NEXT(mp, mnt_list); > continue; > } > if ((mp->mnt_flag & MNT_RDONLY) == 0) { >*************** >*** 548,554 **** > mp->mnt_flag |= asyncflag; > } > simple_lock(&mountlist_slock); >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >--- 547,553 ---- > mp->mnt_flag |= asyncflag; > } > simple_lock(&mountlist_slock); >! nmp = TAILQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >*************** >*** 718,727 **** > sfsp = (caddr_t)SCARG(uap, buf); > count = 0; > simple_lock(&mountlist_slock); >! mp = CIRCLEQ_FIRST(&mountlist); >! for (; mp != (void *)&mountlist; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > continue; > } > if (sfsp && count < maxcount) { >--- 717,725 ---- > sfsp = (caddr_t)SCARG(uap, buf); > count = 0; > simple_lock(&mountlist_slock); >! for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nmp = TAILQ_NEXT(mp, mnt_list); > continue; > } > if (sfsp && count < maxcount) { >*************** >*** 735,741 **** > (SCARG(uap, flags) & MNT_WAIT)) && > (error = VFS_STATFS(mp, sp, p))) { > simple_lock(&mountlist_slock); >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > continue; > } >--- 733,739 ---- > (SCARG(uap, flags) & MNT_WAIT)) && > (error = VFS_STATFS(mp, sp, p))) { > simple_lock(&mountlist_slock); >! nmp = TAILQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > continue; > } >*************** >*** 749,755 **** > } > count++; > simple_lock(&mountlist_slock); >! nmp = CIRCLEQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >--- 747,753 ---- > } > count++; > simple_lock(&mountlist_slock); >! nmp = TAILQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >Index: sys/miscfs/devfs/devfs_vfsops.c >=================================================================== >RCS file: /home/ncvs/src/sys/miscfs/devfs/devfs_vfsops.c,v >retrieving revision 1.39 >diff -c -r1.39 devfs_vfsops.c >*** devfs_vfsops.c 1999/09/11 00:46:00 1.39 >--- devfs_vfsops.c 1999/11/17 21:43:46 >*************** >*** 67,73 **** > > /* Mark a reference for the "invisible" blueprint mount */ > mp->mnt_vfc->vfc_refcount++; >! CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list); > > printf("DEVFS: ready to run\n"); > return 0; /*XXX*/ >--- 67,73 ---- > > /* Mark a reference for the "invisible" blueprint mount */ > mp->mnt_vfc->vfc_refcount++; >! TAILQ_INSERT_TAIL(&mountlist, mp, mnt_list); > > printf("DEVFS: ready to run\n"); > return 0; /*XXX*/ >Index: sys/msdosfs/msdosfs_vfsops.c >=================================================================== >RCS file: /home/ncvs/src/sys/msdosfs/msdosfs_vfsops.c,v >retrieving revision 1.54 >diff -c -r1.54 msdosfs_vfsops.c >*** msdosfs_vfsops.c 1999/11/09 14:15:30 1.54 >--- msdosfs_vfsops.c 1999/11/17 21:43:46 >*************** >*** 188,194 **** > return (error); > } > >! CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list); > mp->mnt_vnodecovered = NULLVP; > (void) copystr("/", mp->mnt_stat.f_mntonname, MNAMELEN - 1, > &size); >--- 188,194 ---- > return (error); > } > >! TAILQ_INSERT_TAIL(&mountlist, mp, mnt_list); > mp->mnt_vnodecovered = NULLVP; > (void) copystr("/", mp->mnt_stat.f_mntonname, MNAMELEN - 1, > &size); >Index: sys/nfs/nfs_nqlease.c >=================================================================== >RCS file: /home/ncvs/src/sys/nfs/nfs_nqlease.c,v >retrieving revision 1.45 >diff -c -r1.45 nfs_nqlease.c >*** nfs_nqlease.c 1999/11/11 17:24:02 1.45 >--- nfs_nqlease.c 1999/11/17 21:43:46 >*************** >*** 1216,1224 **** > * queues. > */ > simple_lock(&mountlist_slock); >! for (mp = mountlist.cqh_first; mp != (void *)&mountlist; mp = nxtmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nxtmp = mp->mnt_list.cqe_next; > continue; > } > if (mp->mnt_stat.f_type == nfs_mount_type) { >--- 1216,1224 ---- > * queues. > */ > simple_lock(&mountlist_slock); >! for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nxtmp) { > if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { >! nxtmp = TAILQ_NEXT(mp, mnt_list); > continue; > } > if (mp->mnt_stat.f_type == nfs_mount_type) { >*************** >*** 1232,1238 **** > } > } > simple_lock(&mountlist_slock); >! nxtmp = mp->mnt_list.cqe_next; > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >--- 1232,1238 ---- > } > } > simple_lock(&mountlist_slock); >! nxtmp = TAILQ_NEXT(mp, mnt_list); > vfs_unbusy(mp, p); > } > simple_unlock(&mountlist_slock); >Index: sys/sys/mount.h >=================================================================== >RCS file: /home/ncvs/src/sys/sys/mount.h,v >retrieving revision 1.83 >diff -c -r1.83 mount.h >*** mount.h 1999/11/01 04:57:41 1.83 >--- mount.h 1999/11/17 21:43:46 >*************** >*** 97,103 **** > LIST_HEAD(vnodelst, vnode); > > struct mount { >! CIRCLEQ_ENTRY(mount) mnt_list; /* mount list */ > struct vfsops *mnt_op; /* operations on fs */ > struct vfsconf *mnt_vfc; /* configuration info */ > struct vnode *mnt_vnodecovered; /* vnode we mounted on */ >--- 97,103 ---- > LIST_HEAD(vnodelst, vnode); > > struct mount { >! TAILQ_ENTRY(mount) mnt_list; /* mount list */ > struct vfsops *mnt_op; /* operations on fs */ > struct vfsconf *mnt_vfc; /* configuration info */ > struct vnode *mnt_vnodecovered; /* vnode we mounted on */ >*************** >*** 403,409 **** > void vfs_unmountall __P((void)); > int vfs_register __P((struct vfsconf *)); > int vfs_unregister __P((struct vfsconf *)); >! extern CIRCLEQ_HEAD(mntlist, mount) mountlist; /* mounted filesystem list */ > extern struct simplelock mountlist_slock; > extern struct nfs_public nfs_pub; > >--- 403,409 ---- > void vfs_unmountall __P((void)); > int vfs_register __P((struct vfsconf *)); > int vfs_unregister __P((struct vfsconf *)); >! extern TAILQ_HEAD(mntlist, mount) mountlist; /* mounted filesystem list */ > extern struct simplelock mountlist_slock; > extern struct nfs_public nfs_pub; > >Index: usr.sbin/pstat/pstat.c >=================================================================== >RCS file: /home/ncvs/src/usr.sbin/pstat/pstat.c,v >retrieving revision 1.44 >diff -c -r1.44 pstat.c >*** pstat.c 1999/08/28 01:19:14 1.44 >--- pstat.c 1999/11/18 01:16:28 >*************** >*** 677,685 **** > bp = vbuf; > evbuf = vbuf + (numvnodes + 20) * (VPTRSZ + VNODESZ); > KGET(V_MOUNTLIST, mountlist); >! for (num = 0, mp = mountlist.cqh_first; ; mp = mp_next) { > KGET2(mp, &mount, sizeof(mount), "mount entry"); >! mp_next = mount.mnt_list.cqe_next; > for (vp = mount.mnt_vnodelist.lh_first; > vp != NULL; vp = vp_next) { > KGET2(vp, &vnode, sizeof(vnode), "vnode"); >--- 677,685 ---- > bp = vbuf; > evbuf = vbuf + (numvnodes + 20) * (VPTRSZ + VNODESZ); > KGET(V_MOUNTLIST, mountlist); >! for (num = 0, mp = TAILQ_FIRST(&mountlist); ; mp = mp_next) { > KGET2(mp, &mount, sizeof(mount), "mount entry"); >! mp_next = TAILQ_NEXT(&mount, mnt_list); > for (vp = mount.mnt_vnodelist.lh_first; > vp != NULL; vp = vp_next) { > KGET2(vp, &vnode, sizeof(vnode), "vnode"); >*************** >*** 693,699 **** > bp += VNODESZ; > num++; > } >! if (mp == mountlist.cqh_last) > break; > } > *avnodes = num; >--- 693,699 ---- > bp += VNODESZ; > num++; > } >! if (mp == TAILQ_LAST(&mountlist, mntlist)) > break; > } > *avnodes = num;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 14967
: 6682