[PATCH 2/2] xfs: fix the buffer log format for contiguous buffers
Christoph Hellwig
hch at infradead.org
Wed Nov 21 03:54:22 CST 2012
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.
Also as in the last patch should we rename bli_format to __bli_format
to catch accidental references to it?
More information about the xfs
mailing list