aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_cluster.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2000-04-02 15:24:56 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2000-04-02 15:24:56 +0000
commitc244d2de435ed1913d6a7da017b205bffb44b36d (patch)
tree46bc33c5a3d3f0f652e9af40acac38ed8c4492c6 /sys/kern/vfs_cluster.c
parent4c9805fafa5fb041fa369df26cd26fee579223fe (diff)
downloadsrc-c244d2de435ed1913d6a7da017b205bffb44b36d.tar.gz
src-c244d2de435ed1913d6a7da017b205bffb44b36d.zip
Notes
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r--sys/kern/vfs_cluster.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c
index d7e6f61c5ee1..44ac9858defa 100644
--- a/sys/kern/vfs_cluster.c
+++ b/sys/kern/vfs_cluster.c
@@ -247,7 +247,8 @@ single_block_read:
#endif
if ((bp->b_flags & B_CLUSTER) == 0)
vfs_busy_pages(bp, 0);
- bp->b_flags &= ~(B_ERROR|B_INVAL);
+ bp->b_flags &= ~B_INVAL;
+ bp->b_ioflags &= ~BIO_ERROR;
if ((bp->b_flags & B_ASYNC) || bp->b_iodone != NULL)
BUF_KERNPROC(bp);
error = VOP_STRATEGY(vp, bp);
@@ -282,7 +283,8 @@ single_block_read:
if ((rbp->b_flags & B_CLUSTER) == 0)
vfs_busy_pages(rbp, 0);
- rbp->b_flags &= ~(B_ERROR|B_INVAL);
+ rbp->b_flags &= ~B_INVAL;
+ rbp->b_ioflags &= ~BIO_ERROR;
if ((rbp->b_flags & B_ASYNC) || rbp->b_iodone != NULL)
BUF_KERNPROC(rbp);
(void) VOP_STRATEGY(vp, rbp);
@@ -468,7 +470,7 @@ cluster_callback(bp)
/*
* Must propogate errors to all the components.
*/
- if (bp->b_flags & B_ERROR)
+ if (bp->b_ioflags & BIO_ERROR)
error = bp->b_error;
pmap_qremove(trunc_page((vm_offset_t) bp->b_data), bp->b_npages);
@@ -480,11 +482,12 @@ cluster_callback(bp)
tbp; tbp = nbp) {
nbp = TAILQ_NEXT(&tbp->b_cluster, cluster_entry);
if (error) {
- tbp->b_flags |= B_ERROR;
+ tbp->b_ioflags |= BIO_ERROR;
tbp->b_error = error;
} else {
tbp->b_dirtyoff = tbp->b_dirtyend = 0;
- tbp->b_flags &= ~(B_ERROR|B_INVAL);
+ tbp->b_flags &= ~B_INVAL;
+ tbp->b_ioflags &= ~BIO_ERROR;
}
biodone(tbp);
}
@@ -837,7 +840,8 @@ cluster_wbuild(vp, size, start_lbn, len)
s = splbio();
bundirty(tbp);
- tbp->b_flags &= ~(B_DONE | B_ERROR);
+ tbp->b_flags &= ~B_DONE;
+ tbp->b_ioflags &= ~BIO_ERROR;
tbp->b_flags |= B_ASYNC;
tbp->b_iocmd = BIO_WRITE;
reassignbuf(tbp, tbp->b_vp); /* put on clean list */