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.61 1995/09/03 19:56:14 dyson 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 * --- 311 unchanged lines hidden (view full) --- 341 * perhaps when the system is attempting to do a sync. Since it 342 * is likely that the indirect block -- or whatever other datastructure 343 * that the filesystem needs is still in memory now, it is a good 344 * thing to do this. Note also, that if the pageout daemon is 345 * requesting a sync -- there might not be enough memory to do 346 * the bmap then... So, this is important to do. 347 */ 348 if( bp->b_lblkno == bp->b_blkno) { |
349 VOP_BMAP(bp->b_vp, bp->b_lblkno, NULL, &bp->b_blkno, NULL, NULL); |
350 } 351 352 /* 353 * Set the *dirty* buffer range based upon the VM system dirty pages. 354 */ 355 vfs_setdirty(bp); 356 357 /* --- 1164 unchanged lines hidden --- |