summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2011-01-19 16:46:13 +0000
committerjhb <jhb@FreeBSD.org>2011-01-19 16:46:13 +0000
commit9b81c936ce1d446b2e95e2364aaa57ffe70e4bc0 (patch)
tree01dc2a1ad59572e34b70566674843b77a5589236 /sys
parent6614c76cb4621397cf1ad890b3dddc9a409ee534 (diff)
downloadFreeBSD-src-9b81c936ce1d446b2e95e2364aaa57ffe70e4bc0.zip
FreeBSD-src-9b81c936ce1d446b2e95e2364aaa57ffe70e4bc0.tar.gz
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
Diffstat (limited to 'sys')
-rw-r--r--sys/fs/ext2fs/ext2_subr.c2
-rw-r--r--sys/fs/ext2fs/ext2_vfsops.c3
-rw-r--r--sys/fs/ext2fs/inode.h4
3 files changed, 5 insertions, 4 deletions
diff --git a/sys/fs/ext2fs/ext2_subr.c b/sys/fs/ext2fs/ext2_subr.c
index dcb1b7c..c33ebb0 100644
--- a/sys/fs/ext2fs/ext2_subr.c
+++ b/sys/fs/ext2fs/ext2_subr.c
@@ -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)
diff --git a/sys/fs/ext2fs/ext2_vfsops.c b/sys/fs/ext2fs/ext2_vfsops.c
index 7690bb8..555a6e3 100644
--- a/sys/fs/ext2fs/ext2_vfsops.c
+++ b/sys/fs/ext2fs/ext2_vfsops.c
@@ -945,9 +945,8 @@ ext2_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp)
}
/*
- * 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
diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h
index f352cdc1..4fd6601 100644
--- a/sys/fs/ext2fs/inode.h
+++ b/sys/fs/ext2fs/inode.h
@@ -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
OpenPOWER on IntegriCloud