diff options
author | Dave Chinner <dchinner@redhat.com> | 2013-06-03 15:28:49 +1000 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2013-06-06 10:50:52 -0500 |
commit | ea929536a43226a01d1a73ac8b14d52e81163bd4 (patch) | |
tree | 8cf6879e7e6b424967d942d0977f76b09e397ca9 | |
parent | bb9b8e86ad083ecb2567ae909c1d6cb0bbaa60fe (diff) | |
download | lwn-ea929536a43226a01d1a73ac8b14d52e81163bd4.tar.gz lwn-ea929536a43226a01d1a73ac8b14d52e81163bd4.zip |
xfs: fix remote attribute invalidation for a leaf
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>
Reviewed-by: Mark Tinguely <tinuguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
(cherry picked from commit 59913f14dfe8eb772ff93eb442947451b4416329)
-rw-r--r-- | fs/xfs/xfs_attr_leaf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_attr_leaf.c b/fs/xfs/xfs_attr_leaf.c index d788302e506a..31d3cd129269 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++; } |