xfs
[Top] [All Lists]

Re: [PATCH 2/2] xfs: fix the buffer log format for contiguous buffers

To: Mark Tinguely <tinguely@xxxxxxx>
Subject: Re: [PATCH 2/2] xfs: fix the buffer log format for contiguous buffers
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Wed, 21 Nov 2012 04:54:22 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20121120224146.479983109@xxxxxxx>
References: <20121120224120.224166649@xxxxxxx> <20121120224146.479983109@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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?

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