[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: puzzling error message

Andy Bianchi wrote:
> ...
> What is weird is that in this recent case, and the one before, the
> corruption has been in partitions that I would have thought wouldn't
> be written too, e.g. I could understand if, while writing to /home
> I got trashed data, but I didn't expect /usr to be corrupted simply
> by reading it?  Unless the head in the HDD had crashed but I would
> have expected the Win2000 partion to be affected as well and it
> doesn't seem upset at the moment.

The journal contains, basically, a list of block numbers (4-byte
integers) and then the block contents themselves.  On recovery,
we read the block numbers, save them in memory, then read that
many blocks and write them out into the fs.

So if the "list of block numbers" gets corrupted, the recovery
data will be sprayed all over the disk :(

We could checksum this data.  We could also teach submit_bh()
to return something more useful than `void'.  Either approach
would lessen the damage arising from a corrupted journal.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]