Re: [PATCH 4/6] xfs: fix remote attribute invalidation for a leaf

Brian Foster
2013-06-03T18:55:31Z

On 06/03/2013 01:28 AM, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> When invalidating an attribute leaf block block, there might be
> remote attributes that it points to. With the recent rework of the
> remote attribute format, we have to make sure we calculate the
> length of the attribute correctly. We aren't doing that in
> xfs_attr3_leaf_inactive(), so fix it.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>

Reviewed-by: Brian Foster <bfoster@redhat.com>

> ---
> fs/xfs/xfs_attr_leaf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/xfs/xfs_attr_leaf.c b/fs/xfs/xfs_attr_leaf.c
> index d788302..31d3cd1 100644
> --- a/fs/xfs/xfs_attr_leaf.c
> +++ b/fs/xfs/xfs_attr_leaf.c
> @@ -3258,7 +3258,7 @@ xfs_attr3_leaf_inactive(
> name_rmt = xfs_attr3_leaf_name_remote(leaf, i);
> if (name_rmt->valueblk) {
> lp->valueblk = be32_to_cpu(name_rmt->valueblk);
> - lp->valuelen = XFS_B_TO_FSB(dp->i_mount,
> + lp->valuelen = xfs_attr3_rmt_blocks(dp->i_mount,
> be32_to_cpu(name_rmt->valuelen));
> lp++;
> }