summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_cluster.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>2006-03-19 21:43:36 +0000
committertegge <tegge@FreeBSD.org>2006-03-19 21:43:36 +0000
commitb09da81e5f139fa2e5002e7ff28a20fc429279d7 (patch)
tree62885f3310d59355548c73b75827ccf24f094ff4 /sys/kern/vfs_cluster.c
parent1ca5876d84247d6404476edeb824b6794e4df4e0 (diff)
downloadFreeBSD-src-b09da81e5f139fa2e5002e7ff28a20fc429279d7.zip
FreeBSD-src-b09da81e5f139fa2e5002e7ff28a20fc429279d7.tar.gz
Let snapshots make a copy of old contents for all buffers taking part in a
cluster instead of just the first buffer. Delay buf_start() calls until snapshots have a copy of old content. PR: kern/93942
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r--sys/kern/vfs_cluster.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c
index 3266829..fb64a6e 100644
--- a/sys/kern/vfs_cluster.c
+++ b/sys/kern/vfs_cluster.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <vm/vm_object.h>
#include <vm/vm_page.h>
#include <sys/sysctl.h>
+int softdep_wantrollbacks(struct buf *);
#if defined(CLUSTERDEBUG)
static int rcluster= 0;
@@ -896,11 +897,6 @@ cluster_wbuild(vp, size, start_lbn, len)
bremfree(tbp);
tbp->b_flags &= ~B_DONE;
} /* end of code for non-first buffers only */
- /* check for latent dependencies to be handled */
- if ((LIST_FIRST(&tbp->b_dep)) != NULL) {
- tbp->b_iocmd = BIO_WRITE;
- buf_start(tbp);
- }
/*
* If the IO is via the VM then we do some
* special VM hackery (yuck). Since the buffer's
OpenPOWER on IntegriCloud