Deleted Added
full compact
vfs_bio.c (26290) vfs_bio.c (26409)
1/*
2 * Copyright (c) 1994 John S. Dyson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 4 unchanged lines hidden (view full) ---

13 * documentation and/or other materials provided with the distribution.
14 * 3. Absolutely no warranty of function or purpose is made by the author
15 * John S. Dyson.
16 * 4. This work was done expressly for inclusion into FreeBSD. Other use
17 * is allowed if this notation is included.
18 * 5. Modifications may be freely made to this file if the above conditions
19 * are met.
20 *
1/*
2 * Copyright (c) 1994 John S. Dyson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 4 unchanged lines hidden (view full) ---

13 * documentation and/or other materials provided with the distribution.
14 * 3. Absolutely no warranty of function or purpose is made by the author
15 * John S. Dyson.
16 * 4. This work was done expressly for inclusion into FreeBSD. Other use
17 * is allowed if this notation is included.
18 * 5. Modifications may be freely made to this file if the above conditions
19 * are met.
20 *
21 * $Id: vfs_bio.c,v 1.116 1997/05/19 14:36:36 dfr Exp $
21 * $Id: vfs_bio.c,v 1.117 1997/05/30 22:25:35 dfr Exp $
22 */
23
24/*
25 * this file contains a new buffer I/O scheme implementing a coherent
26 * VM object and buffer cache scheme. Pains have been taken to make
27 * sure that the performance degradation associated with schemes such
28 * as this is not realized.
29 *

--- 477 unchanged lines hidden (view full) ---

507 * but the VM object is kept around. The B_NOCACHE flag is used to
508 * invalidate the pages in the VM object.
509 *
510 * If the buffer is a partially filled NFS buffer, keep it
511 * since invalidating it now will lose informatio. The valid
512 * flags in the vm_pages have only DEV_BSIZE resolution but
513 * the b_validoff, b_validend fields have byte resolution.
514 * This can avoid unnecessary re-reads of the buffer.
22 */
23
24/*
25 * this file contains a new buffer I/O scheme implementing a coherent
26 * VM object and buffer cache scheme. Pains have been taken to make
27 * sure that the performance degradation associated with schemes such
28 * as this is not realized.
29 *

--- 477 unchanged lines hidden (view full) ---

507 * but the VM object is kept around. The B_NOCACHE flag is used to
508 * invalidate the pages in the VM object.
509 *
510 * If the buffer is a partially filled NFS buffer, keep it
511 * since invalidating it now will lose informatio. The valid
512 * flags in the vm_pages have only DEV_BSIZE resolution but
513 * the b_validoff, b_validend fields have byte resolution.
514 * This can avoid unnecessary re-reads of the buffer.
515 * XXX this seems to cause performance problems.
515 */
516 if ((bp->b_flags & B_VMIO)
516 */
517 if ((bp->b_flags & B_VMIO)
518#ifdef notdef
517 && (bp->b_vp->v_tag != VT_NFS
518 || (bp->b_flags & (B_NOCACHE | B_INVAL | B_ERROR))
519 || bp->b_validend == 0
520 || (bp->b_validoff == 0
519 && (bp->b_vp->v_tag != VT_NFS
520 || (bp->b_flags & (B_NOCACHE | B_INVAL | B_ERROR))
521 || bp->b_validend == 0
522 || (bp->b_validoff == 0
521 && bp->b_validend == bp->b_bufsize))) {
523 && bp->b_validend == bp->b_bufsize))
524#endif
525 ) {
522 vm_ooffset_t foff;
523 vm_object_t obj;
524 int i, resid;
525 vm_page_t m;
526 struct vnode *vp;
527 int iototal = bp->b_bufsize;
528
529 vp = bp->b_vp;

--- 1515 unchanged lines hidden ---
526 vm_ooffset_t foff;
527 vm_object_t obj;
528 int i, resid;
529 vm_page_t m;
530 struct vnode *vp;
531 int iototal = bp->b_bufsize;
532
533 vp = bp->b_vp;

--- 1515 unchanged lines hidden ---