diff options
| author | 2008-07-23 16:24:42 +0000 | |
|---|---|---|
| committer | 2008-07-23 16:24:42 +0000 | |
| commit | c77a6aac71fe7811e361a79ab6dc41841b9f5c43 (patch) | |
| tree | c7640aeabb4d2d639a225dc03aba5e96cd191e51 /sys/isofs/udf/udf_subr.c | |
| parent | Prevent warning about insecure hostnames where no /etc/hostname.* (diff) | |
| download | wireguard-openbsd-c77a6aac71fe7811e361a79ab6dc41841b9f5c43.tar.xz wireguard-openbsd-c77a6aac71fe7811e361a79ab6dc41841b9f5c43.zip | |
Correct cases of mishandling of pending reads and writes to prevent
them going negative - this consists of identifying a number of cases of
IO not going through the buffer cache and marking those buffers with
B_RAW - as well as fixing nfs_bio to show pending writes and reads through
the buffer cache via NFS
still has a problem with mishandling the counters I believe in the
async/sync fallback case where counters stay positive which will be
addressed seperately.
ok tedu@ deraadt@
Diffstat (limited to 'sys/isofs/udf/udf_subr.c')
| -rw-r--r-- | sys/isofs/udf/udf_subr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/isofs/udf/udf_subr.c b/sys/isofs/udf/udf_subr.c index 3ffa57e28eb..794d69c4f26 100644 --- a/sys/isofs/udf/udf_subr.c +++ b/sys/isofs/udf/udf_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: udf_subr.c,v 1.17 2008/06/12 06:58:39 deraadt Exp $ */ +/* $OpenBSD: udf_subr.c,v 1.18 2008/07/23 16:24:43 beck Exp $ */ /* * Copyright (c) 2006, Miodrag Vallat @@ -110,7 +110,7 @@ udf_disklabelspoof(dev_t dev, void (*strat)(struct buf *), */ bp->b_blkno = sector * btodb(bsize); bp->b_bcount = bsize; - bp->b_flags |= B_READ; + bp->b_flags |= (B_READ | B_RAW); bp->b_resid = bp->b_blkno / lp->d_secpercyl; (*strat)(bp); @@ -130,7 +130,7 @@ udf_disklabelspoof(dev_t dev, void (*strat)(struct buf *), for (sector = mvds_start; sector < mvds_end; sector++) { bp->b_blkno = sector * btodb(bsize); bp->b_bcount = bsize; - bp->b_flags |= B_READ; + bp->b_flags |= (B_READ | B_RAW); bp->b_resid = bp->b_blkno / lp->d_secpercyl; (*strat)(bp); |
