On Fri, Apr 01, 2016 at 08:28:18AM +0800, Qu Wenruo wrote: > > > 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. After another look, why don't we use nodesize directly? Or stripesize where applies. With max_size == 0 the test does not make sense, we ought to know the alignment. -- 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
