vnode_pager.c (23502) | vnode_pager.c (25930) |
---|---|
1/* 2 * Copyright (c) 1990 University of Utah. 3 * Copyright (c) 1991 The Regents of the University of California. 4 * All rights reserved. 5 * Copyright (c) 1993, 1994 John S. Dyson 6 * Copyright (c) 1995, David Greenman 7 * 8 * This code is derived from software contributed to Berkeley by --- 24 unchanged lines hidden (view full) --- 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 | 1/* 2 * Copyright (c) 1990 University of Utah. 3 * Copyright (c) 1991 The Regents of the University of California. 4 * All rights reserved. 5 * Copyright (c) 1993, 1994 John S. Dyson 6 * Copyright (c) 1995, David Greenman 7 * 8 * This code is derived from software contributed to Berkeley by --- 24 unchanged lines hidden (view full) --- 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 |
41 * $Id: vnode_pager.c,v 1.69 1997/02/22 09:48:42 peter Exp $ | 41 * $Id: vnode_pager.c,v 1.70 1997/03/08 04:33:47 dyson Exp $ |
42 */ 43 44/* 45 * Page to/from files (vnodes). 46 */ 47 48/* 49 * TODO: --- 637 unchanged lines hidden (view full) --- 687 } 688 cnt.v_vnodein++; 689 cnt.v_vnodepgsin++; 690 return vnode_pager_input_smlfs(object, m[reqpage]); 691 } 692 /* 693 * if ANY DEV_BSIZE blocks are valid on a large filesystem block 694 * then, the entire page is valid -- | 42 */ 43 44/* 45 * Page to/from files (vnodes). 46 */ 47 48/* 49 * TODO: --- 637 unchanged lines hidden (view full) --- 687 } 688 cnt.v_vnodein++; 689 cnt.v_vnodepgsin++; 690 return vnode_pager_input_smlfs(object, m[reqpage]); 691 } 692 /* 693 * if ANY DEV_BSIZE blocks are valid on a large filesystem block 694 * then, the entire page is valid -- |
695 * XXX no it isn't |
|
695 */ | 696 */ |
697 698 if (m[reqpage]->valid != VM_PAGE_BITS_ALL) 699 m[reqpage]->valid = 0; 700 |
|
696 if (m[reqpage]->valid) { 697 m[reqpage]->valid = VM_PAGE_BITS_ALL; 698 for (i = 0; i < count; i++) { 699 if (i != reqpage) 700 vnode_pager_freepage(m[i]); 701 } 702 return VM_PAGER_OK; 703 } --- 280 unchanged lines hidden --- | 701 if (m[reqpage]->valid) { 702 m[reqpage]->valid = VM_PAGE_BITS_ALL; 703 for (i = 0; i < count; i++) { 704 if (i != reqpage) 705 vnode_pager_freepage(m[i]); 706 } 707 return VM_PAGER_OK; 708 } --- 280 unchanged lines hidden --- |