diff mbox

fs: dax: do not build on ARC or SH

Message ID 5778538.KJ98x3yxkB@wuerfel (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann Feb. 23, 2015, 11:29 a.m. UTC
The DAX implementation relies on the architecture to provide a working
copy_user_page() function, as reported by Michael Ellerman's kisskb
build bot:

fs/dax.c: error: implicit declaration of function 'copy_user_page' [-Werror=implicit-function-declaration]:  => 266:2

We already have a list of architectures that are known to be incompatible,
but the list is missing ARC and SH at the moment. Further, blackfin and
c6x also lack support for this function, but are already excluded because
they do not support MMU-based kernels.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
---

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

Comments

Matthew Wilcox Feb. 23, 2015, 6:40 p.m. UTC | #1
On Mon, Feb 23, 2015 at 12:29:45PM +0100, Arnd Bergmann wrote:
> The DAX implementation relies on the architecture to provide a working
> copy_user_page() function, as reported by Michael Ellerman's kisskb
> build bot:
> 
> fs/dax.c: error: implicit declaration of function 'copy_user_page' [-Werror=implicit-function-declaration]:  => 266:2
> 
> We already have a list of architectures that are known to be incompatible,
> but the list is missing ARC and SH at the moment. Further, blackfin and
> c6x also lack support for this function, but are already excluded because
> they do not support MMU-based kernels.

I've got a short list of patches for DAX; I'll add this one to the list.

Have the maintainers of these architectures been notified that they're
missing a core piece of kernel functionality?
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann Feb. 23, 2015, 9:31 p.m. UTC | #2
On Monday 23 February 2015 13:40:25 Matthew Wilcox wrote:
> On Mon, Feb 23, 2015 at 12:29:45PM +0100, Arnd Bergmann wrote:
> > The DAX implementation relies on the architecture to provide a working
> > copy_user_page() function, as reported by Michael Ellerman's kisskb
> > build bot:
> > 
> > fs/dax.c: error: implicit declaration of function 'copy_user_page' [-Werror=implicit-function-declaration]:  => 266:2
> > 
> > We already have a list of architectures that are known to be incompatible,
> > but the list is missing ARC and SH at the moment. Further, blackfin and
> > c6x also lack support for this function, but are already excluded because
> > they do not support MMU-based kernels.
> 
> I've got a short list of patches for DAX; I'll add this one to the list.

Ok, thanks!

> Have the maintainers of these architectures been notified that they're
> missing a core piece of kernel functionality?

Not until you put them on Cc here.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Guenter Roeck Feb. 23, 2015, 9:56 p.m. UTC | #3
On Mon, Feb 23, 2015 at 01:40:25PM -0500, Matthew Wilcox wrote:
> On Mon, Feb 23, 2015 at 12:29:45PM +0100, Arnd Bergmann wrote:
> > The DAX implementation relies on the architecture to provide a working
> > copy_user_page() function, as reported by Michael Ellerman's kisskb
> > build bot:
> > 
> > fs/dax.c: error: implicit declaration of function 'copy_user_page' [-Werror=implicit-function-declaration]:  => 266:2
> > 
> > We already have a list of architectures that are known to be incompatible,
> > but the list is missing ARC and SH at the moment. Further, blackfin and
> > c6x also lack support for this function, but are already excluded because
> > they do not support MMU-based kernels.
> 
> I've got a short list of patches for DAX; I'll add this one to the list.
> 
> Have the maintainers of these architectures been notified that they're
> missing a core piece of kernel functionality?
> 

Guess there a philosophical difference in opinion if the architecture code
should (have to) provide copy_user_page() or not outside the architecture
code itself. After all, fs/dax.c _is_ the only user of this function outside
the architecture code.

Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Hellwig Feb. 23, 2015, 9:58 p.m. UTC | #4
On Mon, Feb 23, 2015 at 01:56:34PM -0800, Guenter Roeck wrote:
> Guess there a philosophical difference in opinion if the architecture code
> should (have to) provide copy_user_page() or not outside the architecture
> code itself. After all, fs/dax.c _is_ the only user of this function outside
> the architecture code.

Given that copy_user_page just is an optimized version of copy_page
all these architectures should just grab the trivial macro defintion
from the asm-generic version so that we could avoid this discussion.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Guenter Roeck Feb. 23, 2015, 10:15 p.m. UTC | #5
On Mon, Feb 23, 2015 at 01:58:47PM -0800, Christoph Hellwig wrote:
> On Mon, Feb 23, 2015 at 01:56:34PM -0800, Guenter Roeck wrote:
> > Guess there a philosophical difference in opinion if the architecture code
> > should (have to) provide copy_user_page() or not outside the architecture
> > code itself. After all, fs/dax.c _is_ the only user of this function outside
> > the architecture code.
> 
> Given that copy_user_page just is an optimized version of copy_page
> all these architectures should just grab the trivial macro defintion
> from the asm-generic version so that we could avoid this discussion.
> 
I tried to do just that, for mips, with little success.

https://patchwork.linux-mips.org/patch/9175/

Presumably, if copy_page() followed by a conditional flush_data_cache_page()
does not work on mips, I would assume that copy_page() without flush does not
work either.

Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paul Bolle Feb. 28, 2015, 12:59 a.m. UTC | #6
On Mon, 2015-02-23 at 12:29 +0100, Arnd Bergmann wrote:
> The DAX implementation relies on the architecture to provide a working
> copy_user_page() function, as reported by Michael Ellerman's kisskb
> build bot:
> 
> fs/dax.c: error: implicit declaration of function 'copy_user_page' [-Werror=implicit-function-declaration]:  => 266:2
> 
> We already have a list of architectures that are known to be incompatible,
> but the list is missing ARC and SH at the moment. Further, blackfin and
> c6x also lack support for this function, but are already excluded because
> they do not support MMU-based kernels.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> diff --git a/fs/Kconfig b/fs/Kconfig
> index ec35851e5b71..a24d496787d6 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -36,7 +36,7 @@ source "fs/nilfs2/Kconfig"
>  config FS_DAX
>  	bool "Direct Access (DAX) support"
>  	depends on MMU
> -	depends on !(ARM || MIPS || SPARC)
> +	depends on !(ARC || ARM || MIPS || SH || SPARC)

Did you mean
                                             SUPERH?

>  	help
>  	  Direct Access (DAX) can be used on memory-backed block devices.
>  	  If the block device supports DAX and the filesystem supports DAX,
> 

Thanks,


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/Kconfig b/fs/Kconfig
index ec35851e5b71..a24d496787d6 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -36,7 +36,7 @@  source "fs/nilfs2/Kconfig"
 config FS_DAX
 	bool "Direct Access (DAX) support"
 	depends on MMU
-	depends on !(ARM || MIPS || SPARC)
+	depends on !(ARC || ARM || MIPS || SH || SPARC)
 	help
 	  Direct Access (DAX) can be used on memory-backed block devices.
 	  If the block device supports DAX and the filesystem supports DAX,