From: Patrick J. LoPresti on
On Tue, Jul 6, 2010 at 1:04 PM, Joel Becker <Joel.Becker(a)oracle.com> wrote:
>
> Thus, I propose the following jbd2 patch. �jbd2 people, what do you
> think:
>
> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
> index bc2ff59..7922d87 100644
> --- a/fs/jbd2/journal.c
> +++ b/fs/jbd2/journal.c
> @@ -1365,6 +1365,8 @@ int jbd2_journal_check_used_features (journal_t
> *journal,
>
> � � � �if (!compat && !ro && !incompat)
> � � � � � � � �return 1;
> + � � � if (journal_get_superblock(journal))
> + � � � � � � � return 0
> � � � �if (journal->j_format_version == 1)
> � � � � � � � �return 0;

As an alternative, could jbd2_journal_init_inode() just call
journal_get_superblock() itself? That would naturally make the
feature bits valid as soon as the journal is initialized. It would
also preserve all error checking, instead of converting superblock
read errors into "this journal has no features".

JBD2 developers, please advise. OCFS2 needs to examine JBD2 journal
feature bits *before* the journal is recovered, which is not possible
at present. What is the best approach to fixing this?

Thanks.

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