On Mon, Oct 17, 2016 at 4:44 PM, Liu Bo <bo.li.liu@xxxxxxxxxx> 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. 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." -- 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
