diff options
author | dyson <dyson@FreeBSD.org> | 1995-12-13 03:47:01 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1995-12-13 03:47:01 +0000 |
commit | c65edda09bbb62a0cb72f78110601b1f9e791b96 (patch) | |
tree | e7fc5a27c2f11bcf85193fce13a01ff8b7a4706f | |
parent | 15a1e09c3d41cb01afc70a2ea4d20c5a0d09348a (diff) | |
download | FreeBSD-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.c | 6 |
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; |