Re: [RFC, PATCH 6/6] ext3: do not write to the disk when mounting a dirty read-only filesystem

Duane Griffin
2008-03-12T02:43:00Z

On Tue, Mar 11, 2008 at 04:11:23PM +0100, Jan Kara wrote:
> Actually, this is nastier than it looks - currently fs, asks
> ext3_sb_getblk() for block 'a' and it gets buffer head with b_blocknr == 'b'
> instead.

Note that it will be a different device as well, in the case of an
external journal.

> So when remounting you'd have to rewrite these buffers with
> original block numbers which is not really possible. So I think
> remapping will have to be solved differently, like providing buffer
> head with correct b_blocknr but taking care when reading data to it and
> reading them from elsewhere. Actually, this has to be done anyway
> because JBD escapes data in the journal and you have to do unescaping
> when reading data...

Hmm, I'll think about this and try to get something working. As a quick
proof-of-concept hack, getting both buffers then overwriting the fs
block's data with the unescaped journal data should do the trick, right?

Cheers,
Duane.

--
"I never could learn to drink that blood and call it wine" - Bob Dylan