xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 4/6] xfs: fix remote attribute invalidation for a leaf
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Mon, 03 Jun 2013 14:09:48 -0500
Cc: xfs@xxxxxxxxxxx, bpm@xxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1370237332-24757-5-git-send-email-david@xxxxxxxxxxxxx>
References: <1370237332-24757-1-git-send-email-david@xxxxxxxxxxxxx> <1370237332-24757-5-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 06/03/13 00:28, Dave Chinner wrote:
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>

I scratched my head reading:

in xfs_attr_leaf.h:
/*
 * Used to keep a list of "remote value" extents when unlinking an inode.
 */
typedef struct xfs_attr_inactive_list {
        xfs_dablk_t     valueblk;       /* block number of value bytes */
        int             valuelen;       /* number of bytes in value */
                                                     ^^^^^
                                                     |||||
} xfs_attr_inactive_list_t;

Where "valuelen" is clearly being used as blocks. A more obvious name is
the former "valueblk". Blame commit d7929ff6 for the confusion. Should change
the comment and/or variable one of these days ...

Reviewed-by: Mark Tinguely <tinuguely@xxxxxxx>

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