diff options
author | jhb <jhb@FreeBSD.org> | 2011-01-19 16:46:13 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2011-01-19 16:46:13 +0000 |
commit | 9b81c936ce1d446b2e95e2364aaa57ffe70e4bc0 (patch) | |
tree | 01dc2a1ad59572e34b70566674843b77a5589236 /sys | |
parent | 6614c76cb4621397cf1ad890b3dddc9a409ee534 (diff) | |
download | FreeBSD-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.c | 2 | ||||
-rw-r--r-- | sys/fs/ext2fs/ext2_vfsops.c | 3 | ||||
-rw-r--r-- | sys/fs/ext2fs/inode.h | 4 |
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 |