* [PATCH] Fix ext4 bitops
@ 2008-02-01 20:02 Bastian Blank
2008-02-03 7:36 ` Benjamin Herrenschmidt
2008-02-04 5:22 ` Aneesh Kumar K.V
0 siblings, 2 replies; 8+ messages in thread
From: Bastian Blank @ 2008-02-01 20:02 UTC (permalink / raw)
To: linuxppc-dev, akpm; +Cc: linux-kernel
Fix ext4 bitops.
Signed-off-by: Bastian Blank <waldi@debian.org>
diff --git a/include/asm-powerpc/bitops.h b/include/asm-powerpc/bitops.h
index 220d9a7..d0980df 100644
--- a/include/asm-powerpc/bitops.h
+++ b/include/asm-powerpc/bitops.h
@@ -363,6 +363,8 @@ unsigned long generic_find_next_le_bit(const unsigned long *addr,
unsigned long size, unsigned long offset);
/* Bitmap functions for the ext2 filesystem */
+#include <asm-generic/bitops/le.h>
+
#define ext2_set_bit(nr,addr) \
__test_and_set_le_bit((nr), (unsigned long*)addr)
#define ext2_clear_bit(nr, addr) \
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
2008-02-01 20:02 Bastian Blank
@ 2008-02-03 7:36 ` Benjamin Herrenschmidt
2008-02-04 5:22 ` Aneesh Kumar K.V
1 sibling, 0 replies; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2008-02-03 7:36 UTC (permalink / raw)
To: Bastian Blank; +Cc: linuxppc-dev, akpm, linux-kernel
On Fri, 2008-02-01 at 21:02 +0100, Bastian Blank wrote:
> Fix ext4 bitops.
Please provide a better description, as it's not obvious at first sight.
> Signed-off-by: Bastian Blank <waldi@debian.org>
>
> diff --git a/include/asm-powerpc/bitops.h b/include/asm-powerpc/bitops.h
> index 220d9a7..d0980df 100644
> --- a/include/asm-powerpc/bitops.h
> +++ b/include/asm-powerpc/bitops.h
> @@ -363,6 +363,8 @@ unsigned long generic_find_next_le_bit(const unsigned long *addr,
> unsigned long size, unsigned long offset);
> /* Bitmap functions for the ext2 filesystem */
>
> +#include <asm-generic/bitops/le.h>
A comment would be useful to indicate that this defines the _le versions
of the bitops as it would be easy to mistake that for something else.
> #define ext2_set_bit(nr,addr) \
> __test_and_set_le_bit((nr), (unsigned long*)addr)
> #define ext2_clear_bit(nr, addr) \
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
[not found] ` <20080203121238.GD18211@osiris.ibm.com>
@ 2008-02-03 12:39 ` Geert Uytterhoeven
2008-02-04 4:50 ` Aneesh Kumar K.V
0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2008-02-03 12:39 UTC (permalink / raw)
To: Heiko Carstens, aneesh.kumar
Cc: linux-s390, Bastian Blank, Linux Kernel Development,
Linux/PPC Development, Andrew Morton, linux-ext4
On Sun, 3 Feb 2008, Heiko Carstens wrote:
> On Fri, Feb 01, 2008 at 10:04:04PM +0100, Bastian Blank wrote:
> > On Fri, Feb 01, 2008 at 12:22:57PM -0800, Andrew Morton wrote:
> > > On Fri, 1 Feb 2008 21:02:08 +0100
> > > Bastian Blank <bastian@waldi.eu.org> wrote:
> > >
> > > > Fix ext4 bitops.
> > >
> > > This is incomplete. Please tell us what was "fixed".
> > >
> > > If it was a build error then please quote the compile error output in the
> > > changelog, as well as the usual description of what the problem is, and how
> > > it was fixed.
> >
> > | fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
> > | fs/ext4/mballoc.c:954: error: implicit declaration of function 'generic_find_next_le_bit'
> >
> > The s390 specific bitops uses parts of the generic implementation.
> > Include the correct header.
>
> That doesn't work:
>
> fs/built-in.o: In function `ext4_mb_release_inode_pa':
> mballoc.c:(.text+0x95a8a): undefined reference to `generic_find_next_le_bit'
> fs/built-in.o: In function `ext4_mb_init_cache':
> mballoc.c:(.text+0x967ea): undefined reference to `generic_find_next_le_bit'
>
> This still needs generic_find_next_le_bit which comes
> from lib/find_next_bit.c. That one doesn't get built on s390 since we
> don't set GENERIC_FIND_NEXT_BIT.
> Currently we have the lengthly patch below queued.
Similar issue on m68k. As Bastian also saw it on powerpc, I'm getting the
impression the ext4 people don't (compile) test on big endian machines?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
2008-02-03 12:39 ` [PATCH] Fix ext4 bitops Geert Uytterhoeven
@ 2008-02-04 4:50 ` Aneesh Kumar K.V
2008-02-04 9:24 ` Heiko Carstens
2008-02-04 20:11 ` Geert Uytterhoeven
0 siblings, 2 replies; 8+ messages in thread
From: Aneesh Kumar K.V @ 2008-02-04 4:50 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: linux-s390, Heiko Carstens, Bastian Blank,
Linux Kernel Development, Linux/PPC Development, Andrew Morton,
linux-ext4
On Sun, Feb 03, 2008 at 01:39:02PM +0100, Geert Uytterhoeven wrote:
> On Sun, 3 Feb 2008, Heiko Carstens wrote:
> > On Fri, Feb 01, 2008 at 10:04:04PM +0100, Bastian Blank wrote:
> > > On Fri, Feb 01, 2008 at 12:22:57PM -0800, Andrew Morton wrote:
> > > > On Fri, 1 Feb 2008 21:02:08 +0100
> > > > Bastian Blank <bastian@waldi.eu.org> wrote:
> > > >
> > > > > Fix ext4 bitops.
> > > >
> > > > This is incomplete. Please tell us what was "fixed".
> > > >
> > > > If it was a build error then please quote the compile error output in the
> > > > changelog, as well as the usual description of what the problem is, and how
> > > > it was fixed.
> > >
> > > | fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
> > > | fs/ext4/mballoc.c:954: error: implicit declaration of function 'generic_find_next_le_bit'
> > >
> > > The s390 specific bitops uses parts of the generic implementation.
> > > Include the correct header.
> >
> > That doesn't work:
> >
> > fs/built-in.o: In function `ext4_mb_release_inode_pa':
> > mballoc.c:(.text+0x95a8a): undefined reference to `generic_find_next_le_bit'
> > fs/built-in.o: In function `ext4_mb_init_cache':
> > mballoc.c:(.text+0x967ea): undefined reference to `generic_find_next_le_bit'
> >
> > This still needs generic_find_next_le_bit which comes
> > from lib/find_next_bit.c. That one doesn't get built on s390 since we
> > don't set GENERIC_FIND_NEXT_BIT.
> > Currently we have the lengthly patch below queued.
>
> Similar issue on m68k. As Bastian also saw it on powerpc, I'm getting the
> impression the ext4 people don't (compile) test on big endian machines?
>
> Gr{oetje,eeting}s,
>
I have sent this patches to linux-arch expecting a review from
different arch people. It is true that the patches are tested only on
powerpc, x86-64, x86. That's the primary reason of me sending the
patches to linux-arch.
http://marc.info/?l=linux-arch&m=119503501127737&w=2
-aneesh
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
2008-02-01 20:02 Bastian Blank
2008-02-03 7:36 ` Benjamin Herrenschmidt
@ 2008-02-04 5:22 ` Aneesh Kumar K.V
1 sibling, 0 replies; 8+ messages in thread
From: Aneesh Kumar K.V @ 2008-02-04 5:22 UTC (permalink / raw)
To: Bastian Blank, linuxppc-dev, akpm, linux-kernel
On Fri, Feb 01, 2008 at 09:02:40PM +0100, Bastian Blank wrote:
> Fix ext4 bitops.
>
> Signed-off-by: Bastian Blank <waldi@debian.org>
>
> diff --git a/include/asm-powerpc/bitops.h b/include/asm-powerpc/bitops.h
> index 220d9a7..d0980df 100644
> --- a/include/asm-powerpc/bitops.h
> +++ b/include/asm-powerpc/bitops.h
> @@ -363,6 +363,8 @@ unsigned long generic_find_next_le_bit(const unsigned long *addr,
> unsigned long size, unsigned long offset);
> /* Bitmap functions for the ext2 filesystem */
>
> +#include <asm-generic/bitops/le.h>
> +
> #define ext2_set_bit(nr,addr) \
> __test_and_set_le_bit((nr), (unsigned long*)addr)
> #define ext2_clear_bit(nr, addr) \
I am not sure what the changes are for. Can you send me the build logs
with the compile error. I always test Ext4 on powerpc so not sure what
went wrong.
-aneesh
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
2008-02-04 4:50 ` Aneesh Kumar K.V
@ 2008-02-04 9:24 ` Heiko Carstens
2008-02-04 9:29 ` Aneesh Kumar K.V
2008-02-04 20:11 ` Geert Uytterhoeven
1 sibling, 1 reply; 8+ messages in thread
From: Heiko Carstens @ 2008-02-04 9:24 UTC (permalink / raw)
To: Aneesh Kumar K.V
Cc: linux-s390, Bastian Blank, Linux Kernel Development,
Linux/PPC Development, Geert Uytterhoeven, Andrew Morton,
linux-ext4
> > > > | fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
> > > > | fs/ext4/mballoc.c:954: error: implicit declaration of function 'generic_find_next_le_bit'
> > > >
> > > > The s390 specific bitops uses parts of the generic implementation.
> > > > Include the correct header.
> > >
> > > That doesn't work:
> > >
> > > fs/built-in.o: In function `ext4_mb_release_inode_pa':
> > > mballoc.c:(.text+0x95a8a): undefined reference to `generic_find_next_le_bit'
> > > fs/built-in.o: In function `ext4_mb_init_cache':
> > > mballoc.c:(.text+0x967ea): undefined reference to `generic_find_next_le_bit'
> > >
> > > This still needs generic_find_next_le_bit which comes
> > > from lib/find_next_bit.c. That one doesn't get built on s390 since we
> > > don't set GENERIC_FIND_NEXT_BIT.
> > > Currently we have the lengthly patch below queued.
> >
> > Similar issue on m68k. As Bastian also saw it on powerpc, I'm getting the
> > impression the ext4 people don't (compile) test on big endian machines?
> >
> > Gr{oetje,eeting}s,
> >
>
> I have sent this patches to linux-arch expecting a review from
> different arch people. It is true that the patches are tested only on
> powerpc, x86-64, x86. That's the primary reason of me sending the
> patches to linux-arch.
Is there anything special I need to do so the ext4 code actually uses
ext2_find_next_bit() ? Haven't looked at the ext4 code, but I'd like to
test if the s390 implementation is ok.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
2008-02-04 9:24 ` Heiko Carstens
@ 2008-02-04 9:29 ` Aneesh Kumar K.V
0 siblings, 0 replies; 8+ messages in thread
From: Aneesh Kumar K.V @ 2008-02-04 9:29 UTC (permalink / raw)
To: Heiko Carstens
Cc: linux-s390, Bastian Blank, Linux Kernel Development,
Linux/PPC Development, Geert Uytterhoeven, Andrew Morton,
linux-ext4
On Mon, Feb 04, 2008 at 10:24:36AM +0100, Heiko Carstens wrote:
> > > > > | fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
> > > > > | fs/ext4/mballoc.c:954: error: implicit declaration of function 'generic_find_next_le_bit'
> > > > >
> > > > > The s390 specific bitops uses parts of the generic implementation.
> > > > > Include the correct header.
> > > >
> > > > That doesn't work:
> > > >
> > > > fs/built-in.o: In function `ext4_mb_release_inode_pa':
> > > > mballoc.c:(.text+0x95a8a): undefined reference to `generic_find_next_le_bit'
> > > > fs/built-in.o: In function `ext4_mb_init_cache':
> > > > mballoc.c:(.text+0x967ea): undefined reference to `generic_find_next_le_bit'
> > > >
> > > > This still needs generic_find_next_le_bit which comes
> > > > from lib/find_next_bit.c. That one doesn't get built on s390 since we
> > > > don't set GENERIC_FIND_NEXT_BIT.
> > > > Currently we have the lengthly patch below queued.
> > >
> > > Similar issue on m68k. As Bastian also saw it on powerpc, I'm getting the
> > > impression the ext4 people don't (compile) test on big endian machines?
> > >
> > > Gr{oetje,eeting}s,
> > >
> >
> > I have sent this patches to linux-arch expecting a review from
> > different arch people. It is true that the patches are tested only on
> > powerpc, x86-64, x86. That's the primary reason of me sending the
> > patches to linux-arch.
>
> Is there anything special I need to do so the ext4 code actually uses
> ext2_find_next_bit() ? Haven't looked at the ext4 code, but I'd like to
> test if the s390 implementation is ok.
With the latest linus kernel in git you can test it by mounting ext4
mount -t ext4dev <device> <mntpoint>
-aneesh
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Fix ext4 bitops
2008-02-04 4:50 ` Aneesh Kumar K.V
2008-02-04 9:24 ` Heiko Carstens
@ 2008-02-04 20:11 ` Geert Uytterhoeven
1 sibling, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2008-02-04 20:11 UTC (permalink / raw)
To: Aneesh Kumar K.V
Cc: linux-s390, Heiko Carstens, Bastian Blank,
Linux Kernel Development, Linux/PPC Development, Andrew Morton,
linux-ext4
On Mon, 4 Feb 2008, Aneesh Kumar K.V wrote:
> On Sun, Feb 03, 2008 at 01:39:02PM +0100, Geert Uytterhoeven wrote:
> > On Sun, 3 Feb 2008, Heiko Carstens wrote:
> > > On Fri, Feb 01, 2008 at 10:04:04PM +0100, Bastian Blank wrote:
> > > > On Fri, Feb 01, 2008 at 12:22:57PM -0800, Andrew Morton wrote:
> > > > > On Fri, 1 Feb 2008 21:02:08 +0100
> > > > > Bastian Blank <bastian@waldi.eu.org> wrote:
> > > > > > Fix ext4 bitops.
> > > > >
> > > > > This is incomplete. Please tell us what was "fixed".
> > > > >
> > > > > If it was a build error then please quote the compile error output in the
> > > > > changelog, as well as the usual description of what the problem is, and how
> > > > > it was fixed.
> > > >
> > > > | fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
> > > > | fs/ext4/mballoc.c:954: error: implicit declaration of function 'generic_find_next_le_bit'
> > > >
> > > > The s390 specific bitops uses parts of the generic implementation.
> > > > Include the correct header.
> > >
> > > That doesn't work:
> > >
> > > fs/built-in.o: In function `ext4_mb_release_inode_pa':
> > > mballoc.c:(.text+0x95a8a): undefined reference to `generic_find_next_le_bit'
> > > fs/built-in.o: In function `ext4_mb_init_cache':
> > > mballoc.c:(.text+0x967ea): undefined reference to `generic_find_next_le_bit'
> > >
> > > This still needs generic_find_next_le_bit which comes
> > > from lib/find_next_bit.c. That one doesn't get built on s390 since we
> > > don't set GENERIC_FIND_NEXT_BIT.
> > > Currently we have the lengthly patch below queued.
> >
> > Similar issue on m68k. As Bastian also saw it on powerpc, I'm getting the
> > impression the ext4 people don't (compile) test on big endian machines?
>
> I have sent this patches to linux-arch expecting a review from
> different arch people. It is true that the patches are tested only on
> powerpc, x86-64, x86. That's the primary reason of me sending the
> patches to linux-arch.
>
> http://marc.info/?l=linux-arch&m=119503501127737&w=2
Sometimes it's difficult to see what can go wrong due to a single patch that
just adds a #define. Sorry, I missed the lack of prototype for
generic_find_next_le_bit() and that we don't set GENERIC_FIND_NEXT_BIT,
just like s390.
And yes, usually I rely on the -mm autocompiler to catch things like
this, but this time it didn't work out...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-02-04 20:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20080201200208.GA28274@wavehammer.waldi.eu.org>
[not found] ` <20080201122257.9524c2bb.akpm@linux-foundation.org>
[not found] ` <20080201210404.GA31271@wavehammer.waldi.eu.org>
[not found] ` <20080203121238.GD18211@osiris.ibm.com>
2008-02-03 12:39 ` [PATCH] Fix ext4 bitops Geert Uytterhoeven
2008-02-04 4:50 ` Aneesh Kumar K.V
2008-02-04 9:24 ` Heiko Carstens
2008-02-04 9:29 ` Aneesh Kumar K.V
2008-02-04 20:11 ` Geert Uytterhoeven
2008-02-01 20:02 Bastian Blank
2008-02-03 7:36 ` Benjamin Herrenschmidt
2008-02-04 5:22 ` Aneesh Kumar K.V
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).