Re: [Ext2-devel] Re: [RFC/RFT] [PATCH] EXT3: Retry allocation after journal commit

From: Andreas Dilger
Date: Fri May 14 2004 - 12:54:55 EST

On May 13, 2004 21:49 -0700, Andrew Morton wrote:
> Andreas's patch is a bit sneaky: it simply sets ->h_sync on the current
> transaction then does journal_stop(). I think your patch can do the same
> thing?

Well, actually my patch just waited on the _previous_ transaction to commit
(which can be done anywhere without retrying the operation) and then set
h_sync on the _current_ transaction so that as soon as the current operations
are completed it will also be committed and the blocks released. One can't
of course arbitrarily call journal_stop() or that breaks the transaction

For 99.9% of cases this should be sufficient and doesn't involve changing
the code everywhere - only in ext3_new_block(). Also, Ted's approach
of retrying the operations "outside" the transaction won't work if there
are nested journal transactions being done - those will hold the transaction
open so doing journal_stop/journal_start doesn't really accomplish anything.

Cheers, Andreas
Andreas Dilger

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at