tmpfs_subr.c (236208) | tmpfs_subr.c (236209) |
---|---|
1/* $NetBSD: tmpfs_subr.c,v 1.35 2007/07/09 21:10:50 ad Exp $ */ 2 3/*- 4 * Copyright (c) 2005 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Julio M. Merino Vidal, developed as part of Google's Summer of Code --- 20 unchanged lines hidden (view full) --- 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33/* 34 * Efficient memory file system supporting functions. 35 */ 36#include <sys/cdefs.h> | 1/* $NetBSD: tmpfs_subr.c,v 1.35 2007/07/09 21:10:50 ad Exp $ */ 2 3/*- 4 * Copyright (c) 2005 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Julio M. Merino Vidal, developed as part of Google's Summer of Code --- 20 unchanged lines hidden (view full) --- 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33/* 34 * Efficient memory file system supporting functions. 35 */ 36#include <sys/cdefs.h> |
37__FBSDID("$FreeBSD: stable/9/sys/fs/tmpfs/tmpfs_subr.c 236208 2012-05-28 22:58:13Z alc $"); | 37__FBSDID("$FreeBSD: stable/9/sys/fs/tmpfs/tmpfs_subr.c 236209 2012-05-28 23:31:48Z alc $"); |
38 39#include <sys/param.h> 40#include <sys/namei.h> 41#include <sys/priv.h> 42#include <sys/proc.h> 43#include <sys/stat.h> 44#include <sys/systm.h> 45#include <sys/sysctl.h> --- 951 unchanged lines hidden (view full) --- 997retry: 998 m = vm_page_lookup(uobj, idx); 999 if (m != NULL) { 1000 if ((m->oflags & VPO_BUSY) != 0 || 1001 m->busy != 0) { 1002 vm_page_sleep(m, "tmfssz"); 1003 goto retry; 1004 } | 38 39#include <sys/param.h> 40#include <sys/namei.h> 41#include <sys/priv.h> 42#include <sys/proc.h> 43#include <sys/stat.h> 44#include <sys/systm.h> 45#include <sys/sysctl.h> --- 951 unchanged lines hidden (view full) --- 997retry: 998 m = vm_page_lookup(uobj, idx); 999 if (m != NULL) { 1000 if ((m->oflags & VPO_BUSY) != 0 || 1001 m->busy != 0) { 1002 vm_page_sleep(m, "tmfssz"); 1003 goto retry; 1004 } |
1005 MPASS(m->valid == VM_PAGE_BITS_ALL); |
|
1005 } else if (vm_pager_has_page(uobj, idx, NULL, NULL)) { 1006 m = vm_page_alloc(uobj, idx, VM_ALLOC_NORMAL); 1007 if (m == NULL) { 1008 VM_OBJECT_UNLOCK(uobj); 1009 VM_WAIT; 1010 VM_OBJECT_LOCK(uobj); 1011 goto retry; 1012 } else if (m->valid != VM_PAGE_BITS_ALL) { --- 16 unchanged lines hidden (view full) --- 1029 else { 1030 VM_OBJECT_UNLOCK(uobj); 1031 return (EIO); 1032 } 1033 } 1034 } 1035 if (m != NULL) { 1036 pmap_zero_page_area(m, base, PAGE_SIZE - base); | 1006 } else if (vm_pager_has_page(uobj, idx, NULL, NULL)) { 1007 m = vm_page_alloc(uobj, idx, VM_ALLOC_NORMAL); 1008 if (m == NULL) { 1009 VM_OBJECT_UNLOCK(uobj); 1010 VM_WAIT; 1011 VM_OBJECT_LOCK(uobj); 1012 goto retry; 1013 } else if (m->valid != VM_PAGE_BITS_ALL) { --- 16 unchanged lines hidden (view full) --- 1030 else { 1031 VM_OBJECT_UNLOCK(uobj); 1032 return (EIO); 1033 } 1034 } 1035 } 1036 if (m != NULL) { 1037 pmap_zero_page_area(m, base, PAGE_SIZE - base); |
1037 MPASS(m->valid == VM_PAGE_BITS_ALL); | |
1038 vm_page_dirty(m); 1039 vm_pager_page_unswapped(m); 1040 } 1041 } 1042 1043 /* 1044 * Release any swap space and free any whole pages. 1045 */ --- 395 unchanged lines hidden --- | 1038 vm_page_dirty(m); 1039 vm_pager_page_unswapped(m); 1040 } 1041 } 1042 1043 /* 1044 * Release any swap space and free any whole pages. 1045 */ --- 395 unchanged lines hidden --- |