Commit 69e23b9a authored by Nathan Scott's avatar Nathan Scott Committed by Tim Shimmin
Browse files

[XFS] Update XFS for i_blksize removal from generic inode structure



SGI-PV: 954366
SGI-Modid: xfs-linux-melb:xfs-kern:26565a

Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
parent 29b6d22b
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -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;
}