Searching for the cause of some strange corruption of the MBR I noticed that invalidate_buffers is not guaranteed to invalidate the buffers - very unfortunate. (Indeed, bh is removed only when bh->b_count is zero. This means that one will get disk corruption if one changes disks while some buffer heads still have nonzero count.) In this particular case the problem was caused by fs/partitions/atari.c that did a bread() without corresponding brelse(). [patch sent to Linus] Andries P.S. imm.c contains the amusing comment /* Aimmrently the ... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/