invalidate buffers is not guaranteed to invalidate

From: Andries Brouwer (aeb@veritas.com)
Date: Thu Oct 12 2000 - 08:31:40 EST


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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:23 EST