Re: [PATCH 30/32] ext4: eliminate xattr entry e_hash recalculation for removes

From: Theodore Ts'o
Date: Thu Jun 22 2017 - 11:52:50 EST


On Wed, Jun 21, 2017 at 06:49:37PM -0700, Tahsin Erdogan wrote:
> When an extended attribute block is modified, ext4_xattr_hash_entry()
> recalculates e_hash for the entry that is pointed by s->here. This is
> unnecessary if the modification is to remove an entry.
>
> Currently, if the removed entry is the last one and there are other
> entries remaining, hash calculation targets the just erased entry which
> has been filled with zeroes and effectively does nothing. If the removed
> entry is not the last one and there are more entries, this time it will
> recalculate hash on the next entry which is totally unnecessary.
>
> Fix these by moving the decision on when to recalculate hash to
> ext4_xattr_set_entry().
>
> Signed-off-by: Tahsin Erdogan <tahsin@xxxxxxxxxx>

Thanks, applied.

- Ted