On Fri, 7 Oct 2011 00:11:05 -0700 Allison Henderson <achender@xxxxxxxxxxxxxxxxxx> wrote: > + /* > + * If the journal block was not found in the list, > + * add a new pair to the list > + */ > + if (!b_pair) { > + b_pair = kzalloc(sizeof(struct jbd2_blk_pair), GFP_NOFS); > + if (!b_pair) { > + spin_unlock(&journal->j_pair_lock); > + return -ENOMEM; > + } Here too... that really needs to be GFP_ATOMIC. I'm wondering, though...it looks like, over a short period of time, you will create an unordered linked list containing one entry for every physical block in the journal. You'll take a lock and search the whole list for every block that is committed. Wouldn't it be better just to have an array indexed by the journal logical block offset? Less memory, faster access...? Or am I missing something fundamental here? Thanks, jon -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html