Re: linux-next: build failure after merge of the ext4 tree

From: Stephen Rothwell
Date: Thu Jan 05 2012 - 16:06:15 EST


HI Ted,

On Tue, 3 Jan 2012 11:35:33 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> After merging the ext4 tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> fs/jbd2/built-in.o: In function `journal_clear_buffer_revoked_flags':
> (.opd+0x5b8): multiple definition of `journal_clear_buffer_revoked_flags'
> fs/jbd/built-in.o:(.opd+0x570): first defined here
> fs/jbd2/built-in.o: In function `.journal_clear_buffer_revoked_flags':
> (.text+0x7e80): multiple definition of `.journal_clear_buffer_revoked_flags'
> fs/jbd/built-in.o:(.text+0x7970): first defined here
>
> Caused by commit 7834c98154f1 ("jbd2: clear revoked flag on buffers
> before a new transaction started") interacting with commit 8c111b3f5633
> ("jbd: clear revoked flag on buffers before a new transaction started")
> form the ext3 tree.
>
> I applied this merge fix patch:
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Tue, 3 Jan 2012 11:31:37 +1100
> Subject: [PATCH] jbd2: sanitize a new global symbol
> (journal_clear_buffer_revoked_flags)
>
> Fixes these build errors (when combined with the ext3 tree):
>
> fs/jbd2/built-in.o: In function `journal_clear_buffer_revoked_flags':
> (.opd+0x5b8): multiple definition of `journal_clear_buffer_revoked_flags'
> fs/jbd/built-in.o:(.opd+0x570): first defined here
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> fs/jbd2/commit.c | 2 +-
> fs/jbd2/revoke.c | 2 +-
> include/linux/jbd2.h | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
> index 7f99e17..3f5c545 100644
> --- a/fs/jbd2/commit.c
> +++ b/fs/jbd2/commit.c
> @@ -433,7 +433,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)
> * Clear revoked flag to reflect there is no revoked buffers
> * in the next transaction which is going to be started.
> */
> - journal_clear_buffer_revoked_flags(journal);
> + jbd2_journal_clear_buffer_revoked_flags(journal);
>
> /*
> * Switch to a new revoke table.
> diff --git a/fs/jbd2/revoke.c b/fs/jbd2/revoke.c
> index 1c36138..c99d839 100644
> --- a/fs/jbd2/revoke.c
> +++ b/fs/jbd2/revoke.c
> @@ -487,7 +487,7 @@ int jbd2_journal_cancel_revoke(handle_t *handle, struct journal_head *jh)
> * revoke table to reflect there is no revoked buffers in the next
> * transaction which is going to be started.
> */
> -void journal_clear_buffer_revoked_flags(journal_t *journal)
> +void jbd2_journal_clear_buffer_revoked_flags(journal_t *journal)
> {
> struct jbd2_revoke_table_s *revoke = journal->j_revoke;
> int i = 0;
> diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
> index 17bf089..44b8072 100644
> --- a/include/linux/jbd2.h
> +++ b/include/linux/jbd2.h
> @@ -1151,7 +1151,7 @@ extern int jbd2_journal_set_revoke(journal_t *, unsigned long long, tid_t);
> extern int jbd2_journal_test_revoke(journal_t *, unsigned long long, tid_t);
> extern void jbd2_journal_clear_revoke(journal_t *);
> extern void jbd2_journal_switch_revoke_table(journal_t *journal);
> -extern void journal_clear_buffer_revoked_flags(journal_t *journal);
> +extern void jbd2_journal_clear_buffer_revoked_flags(journal_t *journal);
>
> /*
> * The log thread user interface:

Ping?

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature