Hello, Thanks for the answer. > > The problem is following: we are processing t_forget list of a > > committing transaction. On this forget list are among other buffers also > > bitmaps and buffers that are freed by this transaction. > > Bitmaps can never be freed. But the forget list isn't just for freed > data: we keep things on the forget list once they are written to the > journal, so that on final commit we know which buffers are now safe to > be written back to the main backing store. > > > Now if bitmap > > buffer is processed first, we switch to new bitmap (hence the buffer > > freed by this transaction is again available for allocation). > > Bitmaps are statically allocated. The buffer can be *journaled* again, > though, sure. But it's never deallocated, nor is the data "switch"ed: > the b_frozen_data and b_committed_data pointers are only ever copies of > b_data, b_data never changes. Yes, sorry. I was not probably very clear. I hope I was clearer in the other mail I've sent today. Honza -- Jan Kara <jack@xxxxxxx> SuSE CR Labs - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html