[PATCH 2/2] xfs: fix the buffer log format for contiguous buffers
Mark Tinguely
tinguely at sgi.com
Wed Nov 21 07:21:09 CST 2012
On 11/21/12 03:54, Christoph Hellwig wrote:
> Do we have proper test coverage for the xfs_buf_item_format_segment
> changes? Given that they change what gets written into the log I'd
> prefer them separate from a big cleanup patch, and including test
> coverage verifying everything works fine when hitting these corner
> cases.
>
>> chunk_num = byte>> XFS_BLF_SHIFT;
>> word_num = chunk_num>> BIT_TO_WORD_SHIFT;
>> bit_num = chunk_num& (NBWORD - 1);
>> - wordp =&(bip->bli_format.blf_data_map[word_num]);
>> + wordp =&(bip->bli_formats[0].blf_data_map[word_num]);
>
> This change doesn't seem to be mentioned in the changelog?
>
>> @@ -644,8 +652,14 @@ xfs_buf_item_unlock(
>> * If the buf item isn't tracking any data, free it, otherwise drop the
>> * reference we hold to it.
>> */
>> - if (xfs_bitmap_empty(bip->bli_format.blf_data_map,
>> - bip->bli_format.blf_map_size))
>> + empty = 1;
>> + for (i = 0; i< bip->bli_format_count; i++)
>> + if (!xfs_bitmap_empty(bip->bli_formats[i].blf_data_map,
>> + bip->bli_formats[i].blf_map_size)) {
>> + empty = 0;
>> + break;
>> + }
>> + if (empty)
>> xfs_buf_item_relse(bp);
>
> This looks like a bug fix, not just a cleanup. Again I'd prefer this to
> be a patch on its own, with a good description.
>
The bli_format -> bli_formats changes are bug fixes - the description
should say this is a bug fix not just a cleanup.
Eric's test 291 created a buffer with 4 mapped segments. It found most
of the issues in the buffer map and in the buffer log format. Dave
pointed out the xfs_bitmap_empty() error.
--Mark.
More information about the xfs
mailing list