Skip to contentSkip to conversation

build failure with mason/for-linus tree

DISCUSSION Satoru Takeuchi 3 participants 4 messages Jul 1, 2014 – Jul 2, 2014 Btrfs file system

lore
Share & tools
lore
#0 lore raw

Hi Chris,

FYI, today I failed to build mason/for-linus tree as follows.

===============================================================================
...
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'record_root_in_trans':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:293:3: error: implicit declaration of function 'smp_mb__before_atomic' [-Werror=implicit-function-declaration]
smp_mb__before_atomic();
^
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'commit_fs_roots':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:1065:4: error: implicit declaration of function 'smp_mb__after_atomic' [-Werror=implicit-function-declaration]

    smp_mb__after_atomic();
    ^

cc1: some warnings being treated as errors
...
===============================================================================

It can be solved by cherry-picking febdbfe.

===
commit febdbfe8a91ce0d11939d4940b592eb0dba8d663

Author: Peter Zijlstra <[email protected]>
Date:   Thu Feb 6 18:16:07 2014 +0100

arch: Prepare for smp_mb__{before,after}_atomic()

Since the smp_mb__{before,after}*() ops are fundamentally dependent on how an arch can implement atomics it doesn't make sense to have 3 variants of them. They must all be the same.
===

Thanks,
Satoru

#1 lore raw
Quoted 4 lines · Satoru Takeuchi

Hi Chris,

FYI, today I failed to build mason/for-linus tree as follows.

You were building for 3.15?

Quoted 18 lines

===============================================================================
...
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'record_root_in_trans':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:293:3: error: implicit declaration of function 'smp_mb__before_atomic' [-Werror=implicit-function-declaration]

   smp_mb__before_atomic();
   ^
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'commit_fs_roots':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:1065:4: error: implicit declaration of function 'smp_mb__after_atomic' [-Werror=implicit-function-declaration]
    smp_mb__after_atomic();
    ^

cc1: some warnings being treated as errors
...
===============================================================================

It can be solved by cherry-picking febdbfe.

===
commit febdbfe8a91ce0d11939d4940b592eb0dba8d663

Quoted 8 lines
Author: Peter Zijlstra <[email protected]>
Date:   Thu Feb 6 18:16:07 2014 +0100

arch: Prepare for smp_mb__{before,after}_atomic()

Since the smp_mb__{before,after}*() ops are fundamentally dependent on how an arch can implement atomics it doesn't make sense to have 3 variants of them. They must all be the same.

Yes, or revert:

commit c7548af69d9ef71512eb52d8009521eba3e768fd

Author: Chris Mason <[email protected]>
Date:   Tue Jun 10 13:06:56 2014 -0700

Btrfs: convert smp_mb__{before,after}_clear_bit

The new call is smp_mb__{before,after}_atomic. The __ gives us extra protection from the atomic rays.

Which is only needed on 3.16+

I should have put this one into a 3.16 only branch, it was a mistake on my end.

-chris

#2 lore raw

Hi Chris,

Quoted 7 lines · Chris Mason
Quoted 4 lines · Satoru Takeuchi

Hi Chris,

FYI, today I failed to build mason/for-linus tree as follows.

You were building for 3.15?

I just run the following command to confirm whether the latest for-linux tree can build or not.

$ git checkout -b mason-for-linus mason/for-linus
$ make

Then that error happens and It's just FYI.

Thanks,
Satoru

Quoted 48 lines
Quoted 19 lines

===============================================================================
...
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'record_root_in_trans':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:293:3: error: implicit declaration of function 'smp_mb__before_atomic' [-Werror=implicit-function-declaration]

    smp_mb__before_atomic();
    ^
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'commit_fs_roots':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:1065:4: error: implicit declaration of function 'smp_mb__after_atomic' [-Werror=implicit-function-declaration]
     smp_mb__after_atomic();
     ^

cc1: some warnings being treated as errors
...
===============================================================================

It can be solved by cherry-picking febdbfe.

===
commit febdbfe8a91ce0d11939d4940b592eb0dba8d663

Quoted 8 lines
Author: Peter Zijlstra <[email protected]>
Date:   Thu Feb 6 18:16:07 2014 +0100

arch: Prepare for smp_mb__{before,after}_atomic()

Since the smp_mb__{before,after}*() ops are fundamentally dependent on how an arch can implement atomics it doesn't make sense to have 3 variants of them. They must all be the same.

Yes, or revert:

commit c7548af69d9ef71512eb52d8009521eba3e768fd

Author: Chris Mason <[email protected]>
Date:   Tue Jun 10 13:06:56 2014 -0700

Btrfs: convert smp_mb__{before,after}_clear_bit

The new call is smp_mb__{before,after}_atomic. The __ gives us extra protection from the atomic rays.

Which is only needed on 3.16+

I should have put this one into a 3.16 only branch, it was a mistake on my end.

-chris

#3 lore raw
Quoted 11 lines · Satoru Takeuchi

Hi Chris,

Quoted 7 lines · Chris Mason
Quoted 4 lines · Satoru Takeuchi

Hi Chris,

FYI, today I failed to build mason/for-linus tree as follows.

You were building for 3.15?

Quoted 7 lines

I just run the following command to confirm whether the latest for-linux tree can build or not.

$ git checkout -b mason-for-linus mason/for-linus
$ make

Then that error happens and It's just FYI.

It is because for-linus was built on v3.15 kernel, but the code of for-linus is based on v3.16-rc1.

If you merge for-linus to upstream kernel, then you will compile the kernel successfully.

Thanks
Miao

Quoted 58 lines

Thanks,
Satoru

Quoted 39 lines
Quoted 19 lines

===============================================================================
...
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'record_root_in_trans':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:293:3: error: implicit declaration of function 'smp_mb__before_atomic' [-Werror=implicit-function-declaration]

    smp_mb__before_atomic();
    ^
/home/sat/src/linux-2.6/fs/btrfs/transaction.c: In function 'commit_fs_roots':
/home/sat/src/linux-2.6/fs/btrfs/transaction.c:1065:4: error: implicit declaration of function 'smp_mb__after_atomic' [-Werror=implicit-function-declaration]
     smp_mb__after_atomic();
     ^

cc1: some warnings being treated as errors
...
===============================================================================

It can be solved by cherry-picking febdbfe.

===
commit febdbfe8a91ce0d11939d4940b592eb0dba8d663

Quoted 8 lines
Author: Peter Zijlstra <[email protected]>
Date:   Thu Feb 6 18:16:07 2014 +0100

arch: Prepare for smp_mb__{before,after}_atomic()

Since the smp_mb__{before,after}*() ops are fundamentally dependent on how an arch can implement atomics it doesn't make sense to have 3 variants of them. They must all be the same.

Yes, or revert:

commit c7548af69d9ef71512eb52d8009521eba3e768fd

Author: Chris Mason <[email protected]>
Date:   Tue Jun 10 13:06:56 2014 -0700

Btrfs: convert smp_mb__{before,after}_clear_bit

The new call is smp_mb__{before,after}_atomic. The __ gives us extra protection from the atomic rays.

Quoted 9 lines

Which is only needed on 3.16+

I should have put this one into a 3.16 only branch, it was a mistake on my end.

-chris

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html