diff options
Diffstat (limited to 'sys/fs')
-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 |