David Sterba wrote on 2016/03/31 18:30 +0200:
On Thu, Mar 31, 2016 at 10:19:34AM +0800, Qu Wenruo wrote:
At least 2 user from mail list reported btrfsck reported false alert of
"bad metadata [XXXX,YYYY) crossing stripe boundary".
While the reported number are all inside the same 64K boundary.
After some check, all the false alert have the same bytenr feature,
which can be divided by stripe size (64K).
The result seems to be initial 'max_size' can be 0, causing 'start' +
'max_size' - 1, to cross the stripe boundary.
Fix it by always update extent_record->cross_stripe when the
extent_record is updated, to avoid temporary false alert to be reported.
Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx>
Applied, thanks.
Do you have a test image for that?
Unfortunately, no.
Although I figured out the cause the the false alert, I still didn't
find a image/method to reproduce it, except the images of reporters.
I can dig a little further trying to make a image.
Thanks,
Qu
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html