vfs_cluster.c (76827) | vfs_cluster.c (77115) |
---|---|
1/*- 2 * Copyright (c) 1993 3 * The Regents of the University of California. All rights reserved. 4 * Modifications/enhancements: 5 * Copyright (c) 1995 John S. Dyson. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 19 unchanged lines hidden (view full) --- 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * 35 * @(#)vfs_cluster.c 8.7 (Berkeley) 2/13/94 | 1/*- 2 * Copyright (c) 1993 3 * The Regents of the University of California. All rights reserved. 4 * Modifications/enhancements: 5 * Copyright (c) 1995 John S. Dyson. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 19 unchanged lines hidden (view full) --- 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * 35 * @(#)vfs_cluster.c 8.7 (Berkeley) 2/13/94 |
36 * $FreeBSD: head/sys/kern/vfs_cluster.c 76827 2001-05-19 01:28:09Z alfred $ | 36 * $FreeBSD: head/sys/kern/vfs_cluster.c 77115 2001-05-24 07:22:27Z dillon $ |
37 */ 38 39#include "opt_debug_cluster.h" 40 41#include <sys/param.h> 42#include <sys/systm.h> 43#include <sys/kernel.h> 44#include <sys/proc.h> --- 455 unchanged lines hidden (view full) --- 500 nbp = TAILQ_NEXT(&tbp->b_cluster, cluster_entry); 501 if (error) { 502 tbp->b_ioflags |= BIO_ERROR; 503 tbp->b_error = error; 504 } else { 505 tbp->b_dirtyoff = tbp->b_dirtyend = 0; 506 tbp->b_flags &= ~B_INVAL; 507 tbp->b_ioflags &= ~BIO_ERROR; | 37 */ 38 39#include "opt_debug_cluster.h" 40 41#include <sys/param.h> 42#include <sys/systm.h> 43#include <sys/kernel.h> 44#include <sys/proc.h> --- 455 unchanged lines hidden (view full) --- 500 nbp = TAILQ_NEXT(&tbp->b_cluster, cluster_entry); 501 if (error) { 502 tbp->b_ioflags |= BIO_ERROR; 503 tbp->b_error = error; 504 } else { 505 tbp->b_dirtyoff = tbp->b_dirtyend = 0; 506 tbp->b_flags &= ~B_INVAL; 507 tbp->b_ioflags &= ~BIO_ERROR; |
508 /* 509 * XXX the bdwrite()/bqrelse() issued during 510 * cluster building clears B_RELBUF (see bqrelse() 511 * comment). If direct I/O was specified, we have 512 * to restore it here to allow the buffer and VM 513 * to be freed. 514 */ 515 if (tbp->b_flags & B_DIRECT) 516 tbp->b_flags |= B_RELBUF; |
|
508 } 509 bufdone(tbp); 510 } 511 relpbuf(bp, &cluster_pbuf_freecnt); 512} 513 514/* 515 * cluster_wbuild_wb: --- 426 unchanged lines hidden --- | 517 } 518 bufdone(tbp); 519 } 520 relpbuf(bp, &cluster_pbuf_freecnt); 521} 522 523/* 524 * cluster_wbuild_wb: --- 426 unchanged lines hidden --- |