diff options
author | tegge <tegge@FreeBSD.org> | 2006-03-19 21:43:36 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 2006-03-19 21:43:36 +0000 |
commit | b09da81e5f139fa2e5002e7ff28a20fc429279d7 (patch) | |
tree | 62885f3310d59355548c73b75827ccf24f094ff4 /sys/kern/vfs_cluster.c | |
parent | 1ca5876d84247d6404476edeb824b6794e4df4e0 (diff) | |
download | FreeBSD-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.c | 6 |
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 |