Hello, I've tracked down the culprit of the jbd2 assertion Ritesh reported to me. In the end it does not have much to do with jbd2 but rather points to a subtle race in xattr code between xattr block reuse and xattr block freeing that can result in fs corruption during journal replay. See patch 2/2 for more details. These patches fix the problem. I have to say I'm not too happy with the special mbcache interface I had to add because it just requires too deep knowledge of how things work internally to get things right. If you get it wrong, you'll have subtle races like above. But I didn't find a more transparent way to fix this race. If someone has ideas, suggestions are welcome! Honza