Loading fs/xfs/linux-2.6/xfs_iops.c +20 −5 Original line number Diff line number Diff line Loading @@ -623,12 +623,27 @@ xfs_vn_getattr( { struct inode *inode = dentry->d_inode; bhv_vnode_t *vp = vn_from_inode(inode); int error = 0; bhv_vattr_t vattr = { .va_mask = XFS_AT_STAT }; int error; if (unlikely(vp->v_flag & VMODIFIED)) error = vn_revalidate(vp); if (!error) generic_fillattr(inode, stat); error = bhv_vop_getattr(vp, &vattr, ATTR_LAZY, NULL); if (likely(!error)) { stat->size = i_size_read(inode); stat->dev = inode->i_sb->s_dev; stat->rdev = (vattr.va_rdev == 0) ? 0 : MKDEV(sysv_major(vattr.va_rdev) & 0x1ff, sysv_minor(vattr.va_rdev)); stat->mode = vattr.va_mode; stat->nlink = vattr.va_nlink; stat->uid = vattr.va_uid; stat->gid = vattr.va_gid; stat->ino = vattr.va_nodeid; stat->atime = vattr.va_atime; stat->mtime = vattr.va_mtime; stat->ctime = vattr.va_ctime; stat->blocks = vattr.va_nblocks; stat->blksize = vattr.va_blocksize; } return -error; } Loading Loading
fs/xfs/linux-2.6/xfs_iops.c +20 −5 Original line number Diff line number Diff line Loading @@ -623,12 +623,27 @@ xfs_vn_getattr( { struct inode *inode = dentry->d_inode; bhv_vnode_t *vp = vn_from_inode(inode); int error = 0; bhv_vattr_t vattr = { .va_mask = XFS_AT_STAT }; int error; if (unlikely(vp->v_flag & VMODIFIED)) error = vn_revalidate(vp); if (!error) generic_fillattr(inode, stat); error = bhv_vop_getattr(vp, &vattr, ATTR_LAZY, NULL); if (likely(!error)) { stat->size = i_size_read(inode); stat->dev = inode->i_sb->s_dev; stat->rdev = (vattr.va_rdev == 0) ? 0 : MKDEV(sysv_major(vattr.va_rdev) & 0x1ff, sysv_minor(vattr.va_rdev)); stat->mode = vattr.va_mode; stat->nlink = vattr.va_nlink; stat->uid = vattr.va_uid; stat->gid = vattr.va_gid; stat->ino = vattr.va_nodeid; stat->atime = vattr.va_atime; stat->mtime = vattr.va_mtime; stat->ctime = vattr.va_ctime; stat->blocks = vattr.va_nblocks; stat->blksize = vattr.va_blocksize; } return -error; } Loading