lkml.org 
[lkml]   [2004]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Ext2-devel] Re: [RFC/RFT] [PATCH] EXT3: Retry allocation after journal commit
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
atomicity.

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
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:03    [W:0.062 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site