SCCS-vsn: sys/ufs/ffs/ffs_vnops.c 8.4
SCCS-vsn: sys/ufs/lfs/lfs_bio.c 8.4
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)ffs_vnops.c 8.3 (Berkeley) %G%
+ * @(#)ffs_vnops.c 8.4 (Berkeley) %G%
*/
#include <sys/param.h>
*/
#include <sys/param.h>
- for (bp = vp->v_dirtyblkhd.le_next; bp; bp = nbp) {
- nbp = bp->b_vnbufs.qe_next;
+ for (bp = vp->v_dirtyblkhd.lh_first; bp; bp = nbp) {
+ nbp = bp->b_vnbufs.le_next;
if ((bp->b_flags & B_BUSY))
continue;
if ((bp->b_flags & B_DELWRI) == 0)
if ((bp->b_flags & B_BUSY))
continue;
if ((bp->b_flags & B_DELWRI) == 0)
sleep((caddr_t)&vp->v_numoutput, PRIBIO + 1);
}
#ifdef DIAGNOSTIC
sleep((caddr_t)&vp->v_numoutput, PRIBIO + 1);
}
#ifdef DIAGNOSTIC
- if (vp->v_dirtyblkhd.le_next) {
+ if (vp->v_dirtyblkhd.lh_first) {
vprint("ffs_fsync: dirty", vp);
goto loop;
}
vprint("ffs_fsync: dirty", vp);
goto loop;
}
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)lfs_bio.c 8.3 (Berkeley) %G%
+ * @(#)lfs_bio.c 8.4 (Berkeley) %G%
*/
#include <sys/param.h>
*/
#include <sys/param.h>
if (lfs_writing)
return;
lfs_writing = 1;
if (lfs_writing)
return;
lfs_writing = 1;
+ for (mp = mountlist.tqh_first; mp != NULL; mp = mp->mnt_list.tqe_next) {
/* The lock check below is to avoid races with unmount. */
if (mp->mnt_stat.f_type == MOUNT_LFS &&
(mp->mnt_flag & (MNT_MLOCK|MNT_RDONLY|MNT_UNMOUNT)) == 0 &&
/* The lock check below is to avoid races with unmount. */
if (mp->mnt_stat.f_type == MOUNT_LFS &&
(mp->mnt_flag & (MNT_MLOCK|MNT_RDONLY|MNT_UNMOUNT)) == 0 &&
#endif
lfs_segwrite(mp, 0);
}
#endif
lfs_segwrite(mp, 0);
}
- mp = mp->mnt_next;
- } while (mp != rootfs);