Module Name:    src
Committed By:   uebayasi
Date:           Sun Sep 26 06:35:33 UTC 2010

Modified Files:
        src/sys/ufs/ffs [uebayasi-xip]: ffs_vfsops.c

Log Message:
ffs_vget: Mark XIP only for VREG vnodes.


To generate a diff of this commit:
cvs rdiff -u -r1.257.2.8 -r1.257.2.9 src/sys/ufs/ffs/ffs_vfsops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/ufs/ffs/ffs_vfsops.c
diff -u src/sys/ufs/ffs/ffs_vfsops.c:1.257.2.8 src/sys/ufs/ffs/ffs_vfsops.c:1.257.2.9
--- src/sys/ufs/ffs/ffs_vfsops.c:1.257.2.8	Tue Aug 17 06:48:10 2010
+++ src/sys/ufs/ffs/ffs_vfsops.c	Sun Sep 26 06:35:32 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ffs_vfsops.c,v 1.257.2.8 2010/08/17 06:48:10 uebayasi Exp $	*/
+/*	$NetBSD: ffs_vfsops.c,v 1.257.2.9 2010/09/26 06:35:32 uebayasi Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.257.2.8 2010/08/17 06:48:10 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.257.2.9 2010/09/26 06:35:32 uebayasi Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -1771,12 +1771,6 @@
 
 	vp->v_vflag |= VV_LOCKSWORK;
 
-#ifdef XIP
-	if ((vp->v_mount->mnt_iflag & IMNT_XIP) != 0) {
-		vp->v_vflag |= VV_XIP;
-	}
-#endif
-
 	/*
 	 * XXX MFS ends up here, too, to allocate an inode.  Should we
 	 * XXX create another pool for MFS inodes?
@@ -1842,6 +1836,13 @@
 
 	ufs_vinit(mp, ffs_specop_p, ffs_fifoop_p, &vp);
 
+#ifdef XIP
+	if ((vp->v_mount->mnt_iflag & IMNT_XIP) != 0 &&
+	    vp->v_type == VREG) {
+		vp->v_vflag |= VV_XIP;
+	}
+#endif
+
 	/*
 	 * Finish inode initialization now that aliasing has been resolved.
 	 */

Reply via email to