svn commit: r217582 - head/sys/fs/ext2fs

John Baldwin jhb at FreeBSD.org
Wed Jan 19 16:46:13 UTC 2011


Author: jhb
Date: Wed Jan 19 16:46:13 2011
New Revision: 217582
URL: http://svn.freebsd.org/changeset/base/217582

Log:
  Merge 118969 from UFS:
  Eliminate the i_devvp field from the incore inodes, we can get the same
  value from ip->i_ump->um_devvp.
  
  Submitted by:	Pedro F. Giffuni  giffunip at yahoo
  MFC after:	1 week

Modified:
  head/sys/fs/ext2fs/ext2_subr.c
  head/sys/fs/ext2fs/ext2_vfsops.c
  head/sys/fs/ext2fs/inode.h

Modified: head/sys/fs/ext2fs/ext2_subr.c
==============================================================================
--- head/sys/fs/ext2fs/ext2_subr.c	Wed Jan 19 15:43:54 2011	(r217581)
+++ head/sys/fs/ext2fs/ext2_subr.c	Wed Jan 19 16:46:13 2011	(r217582)
@@ -105,7 +105,7 @@ ext2_checkoverlap(bp, ip)
 	for (ep = buf; ep < ebp; ep++) {
 		if (ep == bp || (ep->b_flags & B_INVAL))
 			continue;
-		vp = ip->i_devvp;
+		vp = ip->i_ump->um_devvp;
 		/* look for overlap */
 		if (ep->b_bcount == 0 || ep->b_blkno > last ||
 		    ep->b_blkno + btodb(ep->b_bcount) <= start)

Modified: head/sys/fs/ext2fs/ext2_vfsops.c
==============================================================================
--- head/sys/fs/ext2fs/ext2_vfsops.c	Wed Jan 19 15:43:54 2011	(r217581)
+++ head/sys/fs/ext2fs/ext2_vfsops.c	Wed Jan 19 16:46:13 2011	(r217582)
@@ -945,9 +945,8 @@ ext2_vget(struct mount *mp, ino_t ino, i
 	}
 
 	/*
-	 * Finish inode initialization now that aliasing has been resolved.
+	 * Finish inode initialization.
 	 */
-	ip->i_devvp = ump->um_devvp;
 
 	/*
 	 * Set up a generation number for this inode if it does not

Modified: head/sys/fs/ext2fs/inode.h
==============================================================================
--- head/sys/fs/ext2fs/inode.h	Wed Jan 19 15:43:54 2011	(r217581)
+++ head/sys/fs/ext2fs/inode.h	Wed Jan 19 16:46:13 2011	(r217582)
@@ -62,7 +62,6 @@
  */
 struct inode {
 	struct	vnode  *i_vnode;/* Vnode associated with this inode. */
-	struct	vnode  *i_devvp;/* Vnode for block I/O. */
 	struct	ext2mount *i_ump;
 	u_int32_t i_flag;	/* flags, see below */
 	ino_t	  i_number;	/* The identity of the inode. */
@@ -143,6 +142,9 @@ struct inode {
 #define	IN_SPACECOUNTED	0x0080		/* Blocks to be freed in free count. */
 #define IN_LAZYACCESS   0x0100		/* Process IN_ACCESS after the
 					    suspension finished */
+
+#define i_devvp i_ump->um_devvp
+
 #ifdef _KERNEL
 /*
  * Structure used to pass around logical block paths generated by


More information about the svn-src-head mailing list