summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1995-12-13 03:47:01 +0000
committerdyson <dyson@FreeBSD.org>1995-12-13 03:47:01 +0000
commitc65edda09bbb62a0cb72f78110601b1f9e791b96 (patch)
treee7fc5a27c2f11bcf85193fce13a01ff8b7a4706f
parent15a1e09c3d41cb01afc70a2ea4d20c5a0d09348a (diff)
downloadFreeBSD-src-c65edda09bbb62a0cb72f78110601b1f9e791b96.zip
FreeBSD-src-c65edda09bbb62a0cb72f78110601b1f9e791b96.tar.gz
Fix a problem that was caused by new (partial) support for merged cache
metadata and VBLK type devices. The code is currently mostly disabled, and a work-around has been added to disabled attempted clustered writes for VBLK type device buffers. Clustered write of meta-data is currently a work in progress.
-rw-r--r--sys/kern/vfs_bio.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index b6d0d5e..4080485 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -596,7 +596,11 @@ vfs_bio_awrite(struct buf * bp)
int nwritten;
s = splbio();
- if (/* (vp->v_type != VBLK) && */
+ /*
+ * right now we support clustered writing only to regular files
+ */
+ if ((vp->v_type == VREG) &&
+ (vp->v_mount != 0) && /* Only on nodes that have the size info */
(bp->b_flags & (B_CLUSTEROK | B_INVAL)) == B_CLUSTEROK) {
int size;
int maxcl;
OpenPOWER on IntegriCloud