xfs
[Top] [All Lists]

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

To: xfs@xxxxxxxxxxx
Subject: [PATCH 4/6] xfs: fix remote attribute invalidation for a leaf
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon, 3 Jun 2013 15:28:49 +1000
Cc: bpm@xxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1370237332-24757-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1370237332-24757-1-git-send-email-david@xxxxxxxxxxxxx>
From: Dave Chinner <dchinner@xxxxxxxxxx>

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@xxxxxxxxxx>
---
 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++;
                        }
-- 
1.7.10.4

<Prev in Thread] Current Thread [Next in Thread>