* [PATCH] ppc: Export empty_zero_page
@ 2008-03-12 2:44 Theodore Ts'o
2008-03-12 3:41 ` Tony Breeds
2008-03-13 10:12 ` Christoph Hellwig
0 siblings, 2 replies; 8+ messages in thread
From: Theodore Ts'o @ 2008-03-12 2:44 UTC (permalink / raw)
To: linuxppc-dev
Hi,
Stephen Rothwell discovered this issue in the linux-next tree:
>Today's powerpc allmodconfig build of linux-next failed with:
>
>ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined!
>
>This is because commit dde5f2130096f8469eb1aa1ad250cd2a39fee3f5 ("ext4:
>ENOSPC error handling for writing to an uninitialized extent") uses
>ZERO_PAGE() which on powerpc uses empty_zero_page which is not
>EXPORT_SYMBOLed on powerpc. I have reverted that commit and a later
>one (1ae53f35fea49a9013353078e019469551d2ad74 "ext4: zero out
>small extents when writing to prealloc area.") which depended on it.
Any chance you could get this pushed to Linus ASAP? It would be nice if
this could get pushed before the merge window, since it could be argued
that rationalizing whether or not empty_zero_page is exported is a bug
fix, and anyway this is pretty much a zero-risk patch. Thanks!!
- Ted
>From c3638c5a50de0d360210205625df2ab49508f6d3 Mon Sep 17 00:00:00 2001
From: Theodore Ts'o <tytso@mit.edu>
Date: Tue, 11 Mar 2008 22:37:27 -0400
Subject: [PATCH] ppc: Export empty_zero_page
The empty_zero_page symbol is exported by most other architectures
(s390, ia64, x86, um), and an upcoming ext4 patch needs it because
ZERO_PAGE() references empty_zero_page, and we need it to zero out an
unitialized extents in ext4 files.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
arch/ppc/kernel/ppc_ksyms.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index c353502..418203e 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -60,6 +60,7 @@ long long __ashrdi3(long long, int);
long long __ashldi3(long long, int);
long long __lshrdi3(long long, int);
+EXPORT_SYMBOL(empty_zero_page);
EXPORT_SYMBOL(clear_pages);
EXPORT_SYMBOL(clear_user_page);
EXPORT_SYMBOL(transfer_to_handler);
--
1.5.4.1.144.gdfee-dirty
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-12 2:44 [PATCH] ppc: Export empty_zero_page Theodore Ts'o
@ 2008-03-12 3:41 ` Tony Breeds
2008-03-12 14:42 ` Theodore Tso
2008-03-13 10:12 ` Christoph Hellwig
1 sibling, 1 reply; 8+ messages in thread
From: Tony Breeds @ 2008-03-12 3:41 UTC (permalink / raw)
To: Theodore Ts'o; +Cc: linuxppc-dev
On Tue, Mar 11, 2008 at 10:44:06PM -0400, Theodore Ts'o wrote:
>
> Hi,
>
> Stephen Rothwell discovered this issue in the linux-next tree:
>
> >Today's powerpc allmodconfig build of linux-next failed with:
> >
> >ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined!
> >
> >This is because commit dde5f2130096f8469eb1aa1ad250cd2a39fee3f5 ("ext4:
> >ENOSPC error handling for writing to an uninitialized extent") uses
> >ZERO_PAGE() which on powerpc uses empty_zero_page which is not
> >EXPORT_SYMBOLed on powerpc. I have reverted that commit and a later
> >one (1ae53f35fea49a9013353078e019469551d2ad74 "ext4: zero out
> >small extents when writing to prealloc area.") which depended on it.
>
> Any chance you could get this pushed to Linus ASAP? It would be nice if
> this could get pushed before the merge window, since it could be argued
> that rationalizing whether or not empty_zero_page is exported is a bug
> fix, and anyway this is pretty much a zero-risk patch. Thanks!!
>
> - Ted
>
> >From c3638c5a50de0d360210205625df2ab49508f6d3 Mon Sep 17 00:00:00 2001
> From: Theodore Ts'o <tytso@mit.edu>
> Date: Tue, 11 Mar 2008 22:37:27 -0400
> Subject: [PATCH] ppc: Export empty_zero_page
>
> The empty_zero_page symbol is exported by most other architectures
> (s390, ia64, x86, um), and an upcoming ext4 patch needs it because
> ZERO_PAGE() references empty_zero_page, and we need it to zero out an
> unitialized extents in ext4 files.
>
> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
> ---
> arch/ppc/kernel/ppc_ksyms.c | 1 +
I suspect you meant arch/*powerpc* arch ppc, wont fix the problem ;P
Yours Tony
linux.conf.au http://www.marchsouth.org/
Jan 19 - 24 2009 The Australian Linux Technical Conference!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-12 3:41 ` Tony Breeds
@ 2008-03-12 14:42 ` Theodore Tso
2008-03-12 20:24 ` Theodore Tso
0 siblings, 1 reply; 8+ messages in thread
From: Theodore Tso @ 2008-03-12 14:42 UTC (permalink / raw)
To: Tony Breeds; +Cc: linuxppc-dev
On Wed, Mar 12, 2008 at 02:41:10PM +1100, Tony Breeds wrote:
>
> I suspect you meant arch/*powerpc* arch ppc, wont fix the problem ;P
>
Um, right. I didn't know about this:
> Why: The arch/powerpc tree is the merged architecture for ppc32 and ppc64
> platforms. Currently there are efforts underway to port the remaining
> arch/ppc platforms to the merged tree. New submissions to the arch/ppc
> tree have been frozen with the 2.6.22 kernel release and that tree will
> remain in bug-fix only mode until its scheduled removal. Platforms
> that are not ported by June 2008 will be removed due to the lack of an
> interested maintainer.
Oops, sorry. So should I not bother with a patch to arch/ppc at all?
I guess it's somewhat likely that whatever is left in arch/ppc is not
likely to need to support ext4?
Back with a real patch in just a bit. :-)
- Ted
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-12 14:42 ` Theodore Tso
@ 2008-03-12 20:24 ` Theodore Tso
2008-03-25 13:54 ` Theodore Tso
0 siblings, 1 reply; 8+ messages in thread
From: Theodore Tso @ 2008-03-12 20:24 UTC (permalink / raw)
To: Tony Breeds; +Cc: linuxppc-dev
Once again, this time with feeling....
- Ted
>From c91cfaabc17f8a53807a2f31f067a732e34a1550 Mon Sep 17 00:00:00 2001
From: Theodore Ts'o <tytso@mit.edu>
Date: Wed, 12 Mar 2008 11:50:39 -0400
Subject: [PATCH] [PATCH] powerpc: Export empty_zero_page
The empty_zero_page symbol is exported by most other architectures
(s390, ia64, x86, um), and an upcoming ext4 patch needs it because
ZERO_PAGE() references empty_zero_page, and we need it to zero out an
unitialized extents in ext4 files.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
arch/powerpc/kernel/ppc_ksyms.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index aa9ff35..885a723 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -58,6 +58,7 @@ extern void program_check_exception(struct pt_regs *regs);
extern void single_step_exception(struct pt_regs *regs);
extern int sys_sigreturn(struct pt_regs *regs);
+EXPORT_SYMBOL(empty_zero_page);
EXPORT_SYMBOL(clear_pages);
EXPORT_SYMBOL(copy_page);
EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
--
1.5.4.1.144.gdfee-dirty
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-12 20:24 ` Theodore Tso
@ 2008-03-25 13:54 ` Theodore Tso
2008-03-25 22:26 ` Stephen Rothwell
0 siblings, 1 reply; 8+ messages in thread
From: Theodore Tso @ 2008-03-25 13:54 UTC (permalink / raw)
To: Tony Breeds; +Cc: linuxppc-dev
So I screwed this one up. Mea culpa, mea culpa, mea maxima culpa....
I assume Stephen's already sent this to patch to you guys (I picked it
up from the linux-next git tree), but just in case he didn't....
- Ted
>From 7919d4874fe991abd0b686ac1f68131c818cdb36 Mon Sep 17 00:00:00 2001
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 13 Mar 2008 16:16:10 +1100
Subject: [PATCH] really export empty_zero_page
It was being protected by CONFIG_PPC32.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/kernel/ppc_ksyms.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index 65d14e6..1e89eb5 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -57,7 +57,6 @@ extern void program_check_exception(struct pt_regs *regs);
extern void single_step_exception(struct pt_regs *regs);
extern int sys_sigreturn(struct pt_regs *regs);
-EXPORT_SYMBOL(empty_zero_page);
EXPORT_SYMBOL(clear_pages);
EXPORT_SYMBOL(copy_page);
EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
@@ -191,3 +190,4 @@ EXPORT_SYMBOL(intercept_table);
EXPORT_SYMBOL(__mtdcr);
EXPORT_SYMBOL(__mfdcr);
#endif
+EXPORT_SYMBOL(empty_zero_page);
--
1.5.4.1.144.gdfee-dirty
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-25 13:54 ` Theodore Tso
@ 2008-03-25 22:26 ` Stephen Rothwell
2008-03-25 22:49 ` Theodore Tso
0 siblings, 1 reply; 8+ messages in thread
From: Stephen Rothwell @ 2008-03-25 22:26 UTC (permalink / raw)
To: Theodore Tso; +Cc: linuxppc-dev, Christoph Hellwig
[-- Attachment #1: Type: text/plain, Size: 711 bytes --]
Hi Ted,
On Tue, 25 Mar 2008 09:54:54 -0400 Theodore Tso <tytso@MIT.EDU> wrote:
>
> So I screwed this one up. Mea culpa, mea culpa, mea maxima culpa....
>
> I assume Stephen's already sent this to patch to you guys (I picked it
> up from the linux-next git tree), but just in case he didn't....
Yeah, I already sent it and paulus is probably going to put it in his
2.6.26 tree.
However, have you made any progress on Christoph's suggestion:
"The real fix is that ext4 shouldn't be using ZERO_PAGE(). Please use
the same zeroing helpers all the other filesystems and drivers use."
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-25 22:26 ` Stephen Rothwell
@ 2008-03-25 22:49 ` Theodore Tso
0 siblings, 0 replies; 8+ messages in thread
From: Theodore Tso @ 2008-03-25 22:49 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev, Christoph Hellwig
[-- Attachment #1: Type: text/plain, Size: 404 bytes --]
On Wed, Mar 26, 2008 at 09:26:57AM +1100, Stephen Rothwell wrote:
> However, have you made any progress on Christoph's suggestion:
>
> "The real fix is that ext4 shouldn't be using ZERO_PAGE(). Please use
> the same zeroing helpers all the other filesystems and drivers use."
When Aneesh asked for clarification about Christoph's suggestion, he
got the following response (see attached).
- Ted
[-- Attachment #2: Type: message/rfc822, Size: 1394 bytes --]
From: Christoph Hellwig <hch@infradead.org>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Christoph Hellwig <hch@infradead.org>
Subject: Re: ZERO_PAGE(0) usage in ext4
Date: Thu, 20 Mar 2008 04:35:12 -0400
Message-ID: <20080320083512.GB27854@infradead.org>
On Mon, Mar 17, 2008 at 11:22:30PM +0530, Aneesh Kumar K.V wrote:
> Hi Christoph,
>
> I have changes pending for ext4 which uses ZERO_PAGE(0) to zero out
> file system blocks.
>
> http://repo.or.cz/w/ext4-patch-queue.git?a=blob;f=ext4-fallocate-full-fs-ENOSPC-handling.patch;h=e14ec2a53f008c3f4b80544a897165de4bb5d360;hb=HEAD
>
> The changes are needed to make sure we allow writing to prealloc space
> even when there are no space left in the file system to insert new
> extent details. To use ZERO_PAGE in ext4 i would need patches to export
> some of the variables. I found that you answered Ted's patch at
>
> http://ozlabs.org/pipermail/linuxppc-dev/2008-March/052956.html
>
> I have a patch that does the same thing for multiple arch. Can you help
> me understand what you meant by zeroing helpers ?
Ok, you're actually sending down the page and not copying from it.
This is probab;y okay.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] ppc: Export empty_zero_page
2008-03-12 2:44 [PATCH] ppc: Export empty_zero_page Theodore Ts'o
2008-03-12 3:41 ` Tony Breeds
@ 2008-03-13 10:12 ` Christoph Hellwig
1 sibling, 0 replies; 8+ messages in thread
From: Christoph Hellwig @ 2008-03-13 10:12 UTC (permalink / raw)
To: Theodore Ts'o; +Cc: linuxppc-dev
On Tue, Mar 11, 2008 at 10:44:06PM -0400, Theodore Ts'o wrote:
> Stephen Rothwell discovered this issue in the linux-next tree:
>
> >Today's powerpc allmodconfig build of linux-next failed with:
> >
> >ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined!
> >
> >This is because commit dde5f2130096f8469eb1aa1ad250cd2a39fee3f5 ("ext4:
> >ENOSPC error handling for writing to an uninitialized extent") uses
> >ZERO_PAGE() which on powerpc uses empty_zero_page which is not
> >EXPORT_SYMBOLed on powerpc. I have reverted that commit and a later
> >one (1ae53f35fea49a9013353078e019469551d2ad74 "ext4: zero out
> >small extents when writing to prealloc area.") which depended on it.
>
> Any chance you could get this pushed to Linus ASAP? It would be nice if
> this could get pushed before the merge window, since it could be argued
> that rationalizing whether or not empty_zero_page is exported is a bug
> fix, and anyway this is pretty much a zero-risk patch. Thanks!!
The real fix is that ext4 shouldn't be using ZERO_PAGE(). Please use
the same zeroing helpers all the other filesystems and drivers use.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-03-25 22:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-12 2:44 [PATCH] ppc: Export empty_zero_page Theodore Ts'o
2008-03-12 3:41 ` Tony Breeds
2008-03-12 14:42 ` Theodore Tso
2008-03-12 20:24 ` Theodore Tso
2008-03-25 13:54 ` Theodore Tso
2008-03-25 22:26 ` Stephen Rothwell
2008-03-25 22:49 ` Theodore Tso
2008-03-13 10:12 ` Christoph Hellwig
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).