On Wed, Nov 23, 2016 at 1:15 PM, Filipe Manana <fdman...@gmail.com> wrote: > On Mon, Oct 17, 2016 at 4:44 PM, Liu Bo <bo.li....@oracle.com> wrote: >> On Mon, Oct 17, 2016 at 03:00:25PM +0200, David Sterba wrote: >>> On Thu, Oct 13, 2016 at 09:47:11AM +0100, Filipe Manana wrote: >>> > > Since the crash is similar to the call chains from Jeff's report, >>> > > ie. >>> > > btrfs_del_csums >>> > > -> btrfs_search_slot >>> > > -> btrfs_cow_block >>> > > -> btrfs_mark_buffer_dirty >>> > > >>> > > I just wonder that whether 4.8.0-rc8-btrfs-next-35+ has >>> > > >>> > > "[PATCH] Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty" ? >>> > >>> > It isn't there, this 4.8.0-rc8-btrfs-next-35+ is a checkout of Chris' >>> > for-linus-4.9 branch. >>> > That patch should have been there, I was convinced that all these >>> > related patches were already there, as it's impossible to run xfstests >>> > with the integrity checker enabled. >>> >>> The referenced patch is the one in this thread, no? You've reported that >>> even with that applied you can still reproduce a crash with integrity >>> checker enabled. I haven't queued it as it seems it's an incomplete fix, >>> thus waiting for another version. >> >> Yes, it's one of three patches in this thread, and they fixed different >> problems, >> >> - the original patch and its v2 are to make check_leaf check non-root >> leaf with zero-item, >> - "[PATCH] Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty" is to fix >> check_leaf, which fixes the crash from Jeff's. >> - "[PATCH] Btrfs: remove unnecessary btrfs_mark_buffer_dirty in split_leaf" >> is targeting a different crash with check integrity enabled, which >> comes from Filipe's report. >> >> So to make sure I understand the whole thing, Filipe, can you reproduce the >> crash around btrfs_del_csums() after applying this patch >> "[PATCH] Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty"? > > So indeed, what is missing is patch from this thread, subject "Btrfs: > fix BUG_ON in btrfs_mark_buffer_dirty". > That is clearly missing in Linus' tree: > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=refs%2Ftags%2Fv4.9-rc6&qt=author&q=liu+bo > > On the other hand, the other patch attached later to this thread, that > removes the unnecessary btrfs_mark_buffer_dirty() was sent to Linus: > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=196e02490c934398f894e5cb0ee1ac8ad13ca576 > > It seems I'm the only one running xfstests with the integrity checker > enabled... Because it fails right away at btrfs/001 either with > 4.9-rcs or Chris' for-linus-4.9. > Applying "Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty" fixes it.
Can you please resend the patch with a cc stable tag? Like: Fixes: 1ba98d086fe3 (Btrfs: detect corruption when non-root leaf has zero item) Cc: sta...@vger.kernel.org # 4.8+ Since the offending patch is in 4.8 already. Also I spoke too early before. Even with that patch we still one more issue: https://patchwork.kernel.org/patch/9444045/ Thanks Bo. > > thanks > > > >> >> Thanks, >> >> -liubo > > > > -- > Filipe David Manana, > > "People will forget what you said, > people will forget what you did, > but people will never forget how you made them feel." -- Filipe David Manana, "People will forget what you said, people will forget what you did, but people will never forget how you made them feel." -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html