vnode_pager.c (155384) | vnode_pager.c (156225) |
---|---|
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 --- 37 unchanged lines hidden (view full) --- 46 47/* 48 * TODO: 49 * Implement VOP_GETPAGES/PUTPAGES interface for filesystems. Will 50 * greatly re-simplify the vnode_pager. 51 */ 52 53#include <sys/cdefs.h> | 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 --- 37 unchanged lines hidden (view full) --- 46 47/* 48 * TODO: 49 * Implement VOP_GETPAGES/PUTPAGES interface for filesystems. Will 50 * greatly re-simplify the vnode_pager. 51 */ 52 53#include <sys/cdefs.h> |
54__FBSDID("$FreeBSD: head/sys/vm/vnode_pager.c 155384 2006-02-06 10:14:12Z jeff $"); | 54__FBSDID("$FreeBSD: head/sys/vm/vnode_pager.c 156225 2006-03-02 22:13:28Z tegge $"); |
55 56#include <sys/param.h> 57#include <sys/systm.h> 58#include <sys/proc.h> 59#include <sys/vnode.h> 60#include <sys/mount.h> 61#include <sys/bio.h> 62#include <sys/buf.h> --- 949 unchanged lines hidden (view full) --- 1012 1013 /* 1014 * Call device-specific putpages function 1015 */ 1016 vp = object->handle; 1017 VM_OBJECT_UNLOCK(object); 1018 if (vp->v_type != VREG) 1019 mp = NULL; | 55 56#include <sys/param.h> 57#include <sys/systm.h> 58#include <sys/proc.h> 59#include <sys/vnode.h> 60#include <sys/mount.h> 61#include <sys/bio.h> 62#include <sys/buf.h> --- 949 unchanged lines hidden (view full) --- 1012 1013 /* 1014 * Call device-specific putpages function 1015 */ 1016 vp = object->handle; 1017 VM_OBJECT_UNLOCK(object); 1018 if (vp->v_type != VREG) 1019 mp = NULL; |
1020 (void)vn_start_write(vp, &mp, V_WAIT); | |
1021 rtval = VOP_PUTPAGES(vp, m, bytes, sync, rtvals, 0); 1022 KASSERT(rtval != EOPNOTSUPP, 1023 ("vnode_pager: stale FS putpages\n")); | 1020 rtval = VOP_PUTPAGES(vp, m, bytes, sync, rtvals, 0); 1021 KASSERT(rtval != EOPNOTSUPP, 1022 ("vnode_pager: stale FS putpages\n")); |
1024 vn_finished_write(mp); | |
1025 VM_OBJECT_LOCK(object); 1026} 1027 1028 1029/* 1030 * This is now called from local media FS's to operate against their 1031 * own vnodes if they fail to implement VOP_PUTPAGES. 1032 * --- 168 unchanged lines hidden --- | 1023 VM_OBJECT_LOCK(object); 1024} 1025 1026 1027/* 1028 * This is now called from local media FS's to operate against their 1029 * own vnodes if they fail to implement VOP_PUTPAGES. 1030 * --- 168 unchanged lines hidden --- |