Um, silly question: has the mem_map[MAP_NR(page)].buffers != NULL case gone away, as I don't see where it's created, and thus the "race" isn't an issue? Or am I missing something?
fs/buffer.c:grow_buffers()