On Wed 12-03-08 01:02:05, Duane Griffin wrote: > On Tue, Mar 11, 2008 at 03:35:50PM +0100, Jan Kara wrote: > > Hmm, if I read your patch correctly, previously we aborted journal > > replay when we found a block with unknown block magic but now we > > continue replaying. Why have you done such change? And similarly when > > some error happened when parsing revoke records block... > > You are right, that was an error on my part. Thanks for your careful > review. Please find below an incremental patch. I'll roll this into the > main patch before posting the next version. Yup, looks fine. Honza > > Cheers, > Duane. > > -- > "I never could learn to drink that blood and call it wine" - Bob Dylan > > diff --git a/fs/jbd/recovery.c b/fs/jbd/recovery.c > index 453c5fe..34db55a 100644 > --- a/fs/jbd/recovery.c > +++ b/fs/jbd/recovery.c > @@ -673,16 +673,22 @@ static int do_one_pass(journal_t *journal, > case JFS_REVOKE_BLOCK: > /* If we aren't in the REVOKE pass, then we can > * just skip over this block. */ > - if (pass == PASS_REVOKE) { > - err = scan_revoke_records( > - journal, bh, next_commit_ID, info); > + if (pass != PASS_REVOKE) > + break; > + > + err = scan_revoke_records(journal, bh, > + next_commit_ID, info); > + if (err) { > + brelse(bh); > + goto failed; > } > break; > > default: > jbd_debug(3, "Unrecognised magic %d, end of scan.\n", > blocktype); > - break; > + brelse(bh); > + goto done; > } > > brelse(bh); > @@ -695,6 +701,7 @@ static int do_one_pass(journal_t *journal, > goto failed; > } > > +done: > /* > * We broke out of the log scan loop: either we came to the > * known end of the log or we found an unexpected block in the -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html