Loading fs/xfs/xfs_attr.c +5 −9 Original line number Diff line number Diff line Loading @@ -162,12 +162,10 @@ xfs_attr_get( */ STATIC int xfs_attr_calc_size( struct xfs_inode *ip, int namelen, int valuelen, struct xfs_da_args *args, int *local) { struct xfs_mount *mp = ip->i_mount; struct xfs_mount *mp = args->dp->i_mount; int size; int nblks; Loading @@ -175,7 +173,7 @@ xfs_attr_calc_size( * Determine space new attribute will use, and if it would be * "local" or "remote" (note: local != inline). */ size = xfs_attr_leaf_newentsize(namelen, valuelen, size = xfs_attr_leaf_newentsize(args->namelen, args->valuelen, mp->m_sb.sb_blocksize, local); nblks = XFS_DAENTER_SPACE_RES(mp, XFS_ATTR_FORK); Loading @@ -189,7 +187,7 @@ xfs_attr_calc_size( * Out of line attribute, cannot double split, but * make room for the attribute value itself. */ uint dblocks = XFS_B_TO_FSB(mp, valuelen); uint dblocks = XFS_B_TO_FSB(mp, args->valuelen); nblks += dblocks; nblks += XFS_NEXTENTADD_SPACE_RES(mp, dblocks, XFS_ATTR_FORK); } Loading Loading @@ -227,9 +225,7 @@ xfs_attr_set( args.firstblock = &firstblock; args.flist = &flist; args.op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT; /* Size is now blocks for attribute data */ args.total = xfs_attr_calc_size(dp, args.namelen, valuelen, &local); args.total = xfs_attr_calc_size(&args, &local); error = xfs_qm_dqattach(dp, 0); if (error) Loading Loading
fs/xfs/xfs_attr.c +5 −9 Original line number Diff line number Diff line Loading @@ -162,12 +162,10 @@ xfs_attr_get( */ STATIC int xfs_attr_calc_size( struct xfs_inode *ip, int namelen, int valuelen, struct xfs_da_args *args, int *local) { struct xfs_mount *mp = ip->i_mount; struct xfs_mount *mp = args->dp->i_mount; int size; int nblks; Loading @@ -175,7 +173,7 @@ xfs_attr_calc_size( * Determine space new attribute will use, and if it would be * "local" or "remote" (note: local != inline). */ size = xfs_attr_leaf_newentsize(namelen, valuelen, size = xfs_attr_leaf_newentsize(args->namelen, args->valuelen, mp->m_sb.sb_blocksize, local); nblks = XFS_DAENTER_SPACE_RES(mp, XFS_ATTR_FORK); Loading @@ -189,7 +187,7 @@ xfs_attr_calc_size( * Out of line attribute, cannot double split, but * make room for the attribute value itself. */ uint dblocks = XFS_B_TO_FSB(mp, valuelen); uint dblocks = XFS_B_TO_FSB(mp, args->valuelen); nblks += dblocks; nblks += XFS_NEXTENTADD_SPACE_RES(mp, dblocks, XFS_ATTR_FORK); } Loading Loading @@ -227,9 +225,7 @@ xfs_attr_set( args.firstblock = &firstblock; args.flist = &flist; args.op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT; /* Size is now blocks for attribute data */ args.total = xfs_attr_calc_size(dp, args.namelen, valuelen, &local); args.total = xfs_attr_calc_size(&args, &local); error = xfs_qm_dqattach(dp, 0); if (error) Loading