svn commit: r272542 - stable/9/sys/fs/ext2fs

Pedro F. Giffuni pfg at FreeBSD.org
Sat Oct 4 20:35:08 UTC 2014


Author: pfg
Date: Sat Oct  4 20:35:07 2014
New Revision: 272542
URL: https://svnweb.freebsd.org/changeset/base/272542

Log:
  Revert r272532,
  
  It broke the build.
  
  Pointyhat:	me

Modified:
  stable/9/sys/fs/ext2fs/ext2_vnops.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/fs/   (props changed)

Modified: stable/9/sys/fs/ext2fs/ext2_vnops.c
==============================================================================
--- stable/9/sys/fs/ext2fs/ext2_vnops.c	Sat Oct  4 19:37:44 2014	(r272541)
+++ stable/9/sys/fs/ext2fs/ext2_vnops.c	Sat Oct  4 20:35:07 2014	(r272542)
@@ -54,7 +54,6 @@
 #include <sys/buf.h>
 #include <sys/endian.h>
 #include <sys/priv.h>
-#include <sys/rwlock.h>
 #include <sys/mount.h>
 #include <sys/unistd.h>
 #include <sys/time.h>
@@ -66,11 +65,9 @@
 #include <sys/file.h>
 
 #include <vm/vm.h>
-#include <vm/vm_param.h>
-#include <vm/vm_extern.h>
-#include <vm/vm_object.h>
 #include <vm/vm_page.h>
-#include <vm/vm_pager.h>
+#include <vm/vm_object.h>
+#include <vm/vm_extern.h>
 #include <vm/vnode_pager.h>
 
 #include "opt_directio.h"
@@ -99,7 +96,6 @@ static int ext2_chown(struct vnode *, ui
 static vop_close_t	ext2_close;
 static vop_create_t	ext2_create;
 static vop_fsync_t	ext2_fsync;
-static vop_getpages_t	ext2_getpages;
 static vop_getattr_t	ext2_getattr;
 static vop_ioctl_t	ext2_ioctl;
 static vop_link_t	ext2_link;
@@ -130,7 +126,6 @@ struct vop_vector ext2_vnodeops = {
 	.vop_close =		ext2_close,
 	.vop_create =		ext2_create,
 	.vop_fsync =		ext2_fsync,
-	.vop_getpages =		ext2_getpages,
 	.vop_getattr =		ext2_getattr,
 	.vop_inactive =		ext2_inactive,
 	.vop_ioctl =		ext2_ioctl,
@@ -2072,43 +2067,3 @@ ext2_write(struct vop_write_args *ap)
 	}
 	return (error);
 }
-
-/*
- * get page routine
- */
-static int
-ext2_getpages(struct vop_getpages_args *ap)
-{
-	int i;
-	vm_page_t mreq;
-	int pcount;
-
-	pcount = round_page(ap->a_count) / PAGE_SIZE;
-	mreq = ap->a_m[ap->a_reqpage];
-
-	/*
-	 * if ANY DEV_BSIZE blocks are valid on a large filesystem block,
-	 * then the entire page is valid.  Since the page may be mapped,
-	 * user programs might reference data beyond the actual end of file
-	 * occuring within the page.  We have to zero that data.
-	 */
-	VM_OBJECT_WLOCK(mreq->object);
-	if (mreq->valid) {
-		if (mreq->valid != VM_PAGE_BITS_ALL)
-			vm_page_zero_invalid(mreq, TRUE);
-		for (i = 0; i < pcount; i++) {
-			if (i != ap->a_reqpage) {
-				vm_page_lock(ap->a_m[i]);
-				vm_page_free(ap->a_m[i]);
-				vm_page_unlock(ap->a_m[i]);
-			}
-		}
-		VM_OBJECT_WUNLOCK(mreq->object);
-		return VM_PAGER_OK;
-	}
-	VM_OBJECT_WUNLOCK(mreq->object);
-
-	return vnode_pager_generic_getpages(ap->a_vp, ap->a_m,
-					    ap->a_count,
-					    ap->a_reqpage);
-}


More information about the svn-src-stable-9 mailing list