X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fxfs%2Flinux-2.6%2Fxfs_vnode.c;h=d973914f8dec5e40ff609084d2827af83919a67e;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=ef220758041da200587cb3048ad645c41a11b37d;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/fs/xfs/linux-2.6/xfs_vnode.c b/fs/xfs/linux-2.6/xfs_vnode.c index ef2207580..d973914f8 100644 --- a/fs/xfs/linux-2.6/xfs_vnode.c +++ b/fs/xfs/linux-2.6/xfs_vnode.c @@ -58,7 +58,7 @@ struct vnode * vn_initialize( struct inode *inode) { - struct vnode *vp = vn_from_inode(inode); + struct vnode *vp = LINVFS_GET_VP(inode); XFS_STATS_INC(vn_active); XFS_STATS_INC(vn_alloc); @@ -83,7 +83,7 @@ vn_initialize( vp->v_trace = ktrace_alloc(VNODE_TRACE_SIZE, KM_SLEEP); #endif /* XFS_VNODE_TRACE */ - vn_trace_exit(vp, __FUNCTION__, (inst_t *)__return_address); + vn_trace_exit(vp, "vn_initialize", (inst_t *)__return_address); return vp; } @@ -97,7 +97,7 @@ vn_revalidate_core( struct vnode *vp, vattr_t *vap) { - struct inode *inode = vn_to_inode(vp); + struct inode *inode = LINVFS_GET_IP(vp); inode->i_mode = vap->va_mode; inode->i_nlink = vap->va_nlink; @@ -138,31 +138,24 @@ vn_revalidate_core( * Revalidate the Linux inode from the vnode. */ int -__vn_revalidate( - struct vnode *vp, - struct vattr *vattr) +vn_revalidate( + struct vnode *vp) { + vattr_t va; int error; - vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); - vattr->va_mask = XFS_AT_STAT | XFS_AT_XFLAGS; - VOP_GETATTR(vp, vattr, 0, NULL, error); - if (likely(!error)) { - vn_revalidate_core(vp, vattr); + vn_trace_entry(vp, "vn_revalidate", (inst_t *)__return_address); + ASSERT(vp->v_fbhv != NULL); + + va.va_mask = XFS_AT_STAT|XFS_AT_XFLAGS; + VOP_GETATTR(vp, &va, 0, NULL, error); + if (!error) { + vn_revalidate_core(vp, &va); VUNMODIFY(vp); } return -error; } -int -vn_revalidate( - struct vnode *vp) -{ - vattr_t vattr; - - return __vn_revalidate(vp, &vattr); -} - /* * Add a reference to a referenced vnode. */ @@ -175,7 +168,7 @@ vn_hold( XFS_STATS_INC(vn_hold); VN_LOCK(vp); - inode = igrab(vn_to_inode(vp)); + inode = igrab(LINVFS_GET_IP(vp)); ASSERT(inode); VN_UNLOCK(vp, 0);