On Tue, Jul 08, 2014 at 09:03:48AM +0200, Lukáš Czerner wrote: > > It is a bit better, even though strictly speaking it's not > right, because it is not block bitmap alone, but rather aggregation > of block bitmap and preallocations. But for the user this is really > an implementation detail they do not need to worry about I guess. Actually, no, because the preallocations aren't reflected in the in-block bitmap. And, oh sh*t, I wonder if that's the cause of the ext4_mb_generate_buddy(). We don't need the buddy bitmaps to allocate out of the preallocations, and it's not needed by ext4_mb_mark_diskspace_used(). If the buddy bitmaps have been pushed out of the page cache between when the blocks were originally preallocated and when we try to use some preallocated blocks, and then we have a race between ext4_mb_mark_diskspace_used() and ext4_mb_buddy_generate(), that could explain the discrepancy between the block group descriptors and the loaded buddy bitmap. If this is what's going on, it doesn't explain why we hacen't been seeing this until post 3.15, though.... - Ted -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html