ffs_vnops.c (67106) | ffs_vnops.c (72012) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95 | 1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95 |
34 * $FreeBSD: head/sys/ufs/ffs/ffs_vnops.c 67106 2000-10-14 03:02:30Z adrian $ | 34 * $FreeBSD: head/sys/ufs/ffs/ffs_vnops.c 72012 2001-02-04 16:08:18Z phk $ |
35 */ 36 37#include "opt_ffs.h" 38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/resourcevar.h> 42#include <sys/signalvar.h> --- 123 unchanged lines hidden (view full) --- 166 * Flush all dirty buffers associated with a vnode. 167 */ 168 passes = NIADDR + 1; 169 skipmeta = 0; 170 if (wait) 171 skipmeta = 1; 172 s = splbio(); 173loop: | 35 */ 36 37#include "opt_ffs.h" 38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/resourcevar.h> 42#include <sys/signalvar.h> --- 123 unchanged lines hidden (view full) --- 166 * Flush all dirty buffers associated with a vnode. 167 */ 168 passes = NIADDR + 1; 169 skipmeta = 0; 170 if (wait) 171 skipmeta = 1; 172 s = splbio(); 173loop: |
174 for (bp = TAILQ_FIRST(&vp->v_dirtyblkhd); bp; 175 bp = TAILQ_NEXT(bp, b_vnbufs)) | 174 TAILQ_FOREACH(bp, &vp->v_dirtyblkhd, b_vnbufs) |
176 bp->b_flags &= ~B_SCANNED; 177 for (bp = TAILQ_FIRST(&vp->v_dirtyblkhd); bp; bp = nbp) { 178 nbp = TAILQ_NEXT(bp, b_vnbufs); 179 /* 180 * Reasons to skip this buffer: it has already been considered 181 * on this pass, this pass is the first time through on a 182 * synchronous flush request and the buffer being considered 183 * is metadata, the buffer has dependencies that will cause --- 118 unchanged lines hidden --- | 175 bp->b_flags &= ~B_SCANNED; 176 for (bp = TAILQ_FIRST(&vp->v_dirtyblkhd); bp; bp = nbp) { 177 nbp = TAILQ_NEXT(bp, b_vnbufs); 178 /* 179 * Reasons to skip this buffer: it has already been considered 180 * on this pass, this pass is the first time through on a 181 * synchronous flush request and the buffer being considered 182 * is metadata, the buffer has dependencies that will cause --- 118 unchanged lines hidden --- |