All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	linux-nvdimm@lists.01.org, Dave Chinner <david@fromorbit.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Christoph Hellwig <hch@lst.de>,
	linux-mm@kvack.org, Ingo Molnar <mingo@redhat.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org
Subject: [PATCH 1/6] dax: fix build breakage with ext4, dax and !iomap
Date: Wed, 23 Nov 2016 11:44:17 -0700	[thread overview]
Message-ID: <1479926662-21718-2-git-send-email-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: <1479926662-21718-1-git-send-email-ross.zwisler@linux.intel.com>

With the current Kconfig setup it is possible to have the following:

CONFIG_EXT4_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_IOMAP=n	# this is in fs/Kconfig & isn't user accessible

With this config we get build failures in ext4_dax_fault() because the
iomap functions in fs/dax.c are missing:

fs/built-in.o: In function `ext4_dax_fault':
file.c:(.text+0x7f3ac): undefined reference to `dax_iomap_fault'
file.c:(.text+0x7f404): undefined reference to `dax_iomap_fault'
fs/built-in.o: In function `ext4_file_read_iter':
file.c:(.text+0x7fc54): undefined reference to `dax_iomap_rw'
fs/built-in.o: In function `ext4_file_write_iter':
file.c:(.text+0x7fe9a): undefined reference to `dax_iomap_rw'
file.c:(.text+0x7feed): undefined reference to `dax_iomap_rw'
fs/built-in.o: In function `ext4_block_zero_page_range':
inode.c:(.text+0x85c0d): undefined reference to `iomap_zero_range'

Now that the struct buffer_head based DAX fault paths and I/O path have
been removed we really depend on iomap support being present for DAX.  Make
this explicit by selecting FS_IOMAP if we compile in DAX support.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
 fs/Kconfig      | 1 +
 fs/dax.c        | 2 --
 fs/ext2/Kconfig | 1 -
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/Kconfig b/fs/Kconfig
index 8e9e5f41..18024bf 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -38,6 +38,7 @@ config FS_DAX
 	bool "Direct Access (DAX) support"
 	depends on MMU
 	depends on !(ARM || MIPS || SPARC)
+	select FS_IOMAP
 	help
 	  Direct Access (DAX) can be used on memory-backed block devices.
 	  If the block device supports DAX and the filesystem supports DAX,
diff --git a/fs/dax.c b/fs/dax.c
index be39633..d8fe3eb 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -968,7 +968,6 @@ int __dax_zero_page_range(struct block_device *bdev, sector_t sector,
 }
 EXPORT_SYMBOL_GPL(__dax_zero_page_range);
 
-#ifdef CONFIG_FS_IOMAP
 static sector_t dax_iomap_sector(struct iomap *iomap, loff_t pos)
 {
 	return iomap->blkno + (((pos & PAGE_MASK) - iomap->offset) >> 9);
@@ -1405,4 +1404,3 @@ int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address,
 }
 EXPORT_SYMBOL_GPL(dax_iomap_pmd_fault);
 #endif /* CONFIG_FS_DAX_PMD */
-#endif /* CONFIG_FS_IOMAP */
diff --git a/fs/ext2/Kconfig b/fs/ext2/Kconfig
index 36bea5a..c634874e 100644
--- a/fs/ext2/Kconfig
+++ b/fs/ext2/Kconfig
@@ -1,6 +1,5 @@
 config EXT2_FS
 	tristate "Second extended fs support"
-	select FS_IOMAP if FS_DAX
 	help
 	  Ext2 is a standard Linux file system for hard disks.
 
-- 
2.7.4

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	Christoph Hellwig <hch@lst.de>,
	Dan Williams <dan.j.williams@intel.com>,
	Dave Chinner <david@fromorbit.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, linux-nvdimm@ml01.01.org
Subject: [PATCH 1/6] dax: fix build breakage with ext4, dax and !iomap
Date: Wed, 23 Nov 2016 11:44:17 -0700	[thread overview]
Message-ID: <1479926662-21718-2-git-send-email-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: <1479926662-21718-1-git-send-email-ross.zwisler@linux.intel.com>

With the current Kconfig setup it is possible to have the following:

CONFIG_EXT4_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_IOMAP=n	# this is in fs/Kconfig & isn't user accessible

With this config we get build failures in ext4_dax_fault() because the
iomap functions in fs/dax.c are missing:

fs/built-in.o: In function `ext4_dax_fault':
file.c:(.text+0x7f3ac): undefined reference to `dax_iomap_fault'
file.c:(.text+0x7f404): undefined reference to `dax_iomap_fault'
fs/built-in.o: In function `ext4_file_read_iter':
file.c:(.text+0x7fc54): undefined reference to `dax_iomap_rw'
fs/built-in.o: In function `ext4_file_write_iter':
file.c:(.text+0x7fe9a): undefined reference to `dax_iomap_rw'
file.c:(.text+0x7feed): undefined reference to `dax_iomap_rw'
fs/built-in.o: In function `ext4_block_zero_page_range':
inode.c:(.text+0x85c0d): undefined reference to `iomap_zero_range'

Now that the struct buffer_head based DAX fault paths and I/O path have
been removed we really depend on iomap support being present for DAX.  Make
this explicit by selecting FS_IOMAP if we compile in DAX support.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
 fs/Kconfig      | 1 +
 fs/dax.c        | 2 --
 fs/ext2/Kconfig | 1 -
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/Kconfig b/fs/Kconfig
index 8e9e5f41..18024bf 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -38,6 +38,7 @@ config FS_DAX
 	bool "Direct Access (DAX) support"
 	depends on MMU
 	depends on !(ARM || MIPS || SPARC)
+	select FS_IOMAP
 	help
 	  Direct Access (DAX) can be used on memory-backed block devices.
 	  If the block device supports DAX and the filesystem supports DAX,
diff --git a/fs/dax.c b/fs/dax.c
index be39633..d8fe3eb 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -968,7 +968,6 @@ int __dax_zero_page_range(struct block_device *bdev, sector_t sector,
 }
 EXPORT_SYMBOL_GPL(__dax_zero_page_range);
 
-#ifdef CONFIG_FS_IOMAP
 static sector_t dax_iomap_sector(struct iomap *iomap, loff_t pos)
 {
 	return iomap->blkno + (((pos & PAGE_MASK) - iomap->offset) >> 9);
@@ -1405,4 +1404,3 @@ int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address,
 }
 EXPORT_SYMBOL_GPL(dax_iomap_pmd_fault);
 #endif /* CONFIG_FS_DAX_PMD */
-#endif /* CONFIG_FS_IOMAP */
diff --git a/fs/ext2/Kconfig b/fs/ext2/Kconfig
index 36bea5a..c634874e 100644
--- a/fs/ext2/Kconfig
+++ b/fs/ext2/Kconfig
@@ -1,6 +1,5 @@
 config EXT2_FS
 	tristate "Second extended fs support"
-	select FS_IOMAP if FS_DAX
 	help
 	  Ext2 is a standard Linux file system for hard disks.
 
-- 
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: linux-kernel@vger.kernel.org
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	Christoph Hellwig <hch@lst.de>,
	Dan Williams <dan.j.williams@intel.com>,
	Dave Chinner <david@fromorbit.com>,
	Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, linux-nvdimm@lists.01.org
Subject: [PATCH 1/6] dax: fix build breakage with ext4, dax and !iomap
Date: Wed, 23 Nov 2016 11:44:17 -0700	[thread overview]
Message-ID: <1479926662-21718-2-git-send-email-ross.zwisler@linux.intel.com> (raw)
In-Reply-To: <1479926662-21718-1-git-send-email-ross.zwisler@linux.intel.com>

With the current Kconfig setup it is possible to have the following:

CONFIG_EXT4_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_IOMAP=n	# this is in fs/Kconfig & isn't user accessible

With this config we get build failures in ext4_dax_fault() because the
iomap functions in fs/dax.c are missing:

fs/built-in.o: In function `ext4_dax_fault':
file.c:(.text+0x7f3ac): undefined reference to `dax_iomap_fault'
file.c:(.text+0x7f404): undefined reference to `dax_iomap_fault'
fs/built-in.o: In function `ext4_file_read_iter':
file.c:(.text+0x7fc54): undefined reference to `dax_iomap_rw'
fs/built-in.o: In function `ext4_file_write_iter':
file.c:(.text+0x7fe9a): undefined reference to `dax_iomap_rw'
file.c:(.text+0x7feed): undefined reference to `dax_iomap_rw'
fs/built-in.o: In function `ext4_block_zero_page_range':
inode.c:(.text+0x85c0d): undefined reference to `iomap_zero_range'

Now that the struct buffer_head based DAX fault paths and I/O path have
been removed we really depend on iomap support being present for DAX.  Make
this explicit by selecting FS_IOMAP if we compile in DAX support.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
 fs/Kconfig      | 1 +
 fs/dax.c        | 2 --
 fs/ext2/Kconfig | 1 -
 3 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/Kconfig b/fs/Kconfig
index 8e9e5f41..18024bf 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -38,6 +38,7 @@ config FS_DAX
 	bool "Direct Access (DAX) support"
 	depends on MMU
 	depends on !(ARM || MIPS || SPARC)
+	select FS_IOMAP
 	help
 	  Direct Access (DAX) can be used on memory-backed block devices.
 	  If the block device supports DAX and the filesystem supports DAX,
diff --git a/fs/dax.c b/fs/dax.c
index be39633..d8fe3eb 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -968,7 +968,6 @@ int __dax_zero_page_range(struct block_device *bdev, sector_t sector,
 }
 EXPORT_SYMBOL_GPL(__dax_zero_page_range);
 
-#ifdef CONFIG_FS_IOMAP
 static sector_t dax_iomap_sector(struct iomap *iomap, loff_t pos)
 {
 	return iomap->blkno + (((pos & PAGE_MASK) - iomap->offset) >> 9);
@@ -1405,4 +1404,3 @@ int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address,
 }
 EXPORT_SYMBOL_GPL(dax_iomap_pmd_fault);
 #endif /* CONFIG_FS_DAX_PMD */
-#endif /* CONFIG_FS_IOMAP */
diff --git a/fs/ext2/Kconfig b/fs/ext2/Kconfig
index 36bea5a..c634874e 100644
--- a/fs/ext2/Kconfig
+++ b/fs/ext2/Kconfig
@@ -1,6 +1,5 @@
 config EXT2_FS
 	tristate "Second extended fs support"
-	select FS_IOMAP if FS_DAX
 	help
 	  Ext2 is a standard Linux file system for hard disks.
 
-- 
2.7.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2016-11-23 18:45 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23 18:44 [PATCH 0/6] introduce DAX tracepoint support Ross Zwisler
2016-11-23 18:44 ` Ross Zwisler
2016-11-23 18:44 ` Ross Zwisler
2016-11-23 18:44 ` Ross Zwisler [this message]
2016-11-23 18:44   ` [PATCH 1/6] dax: fix build breakage with ext4, dax and !iomap Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:02   ` Jan Kara
2016-11-24  9:02     ` Jan Kara
2016-11-24  9:02     ` Jan Kara
2016-11-24  9:02     ` Jan Kara
2016-11-28 19:15     ` Ross Zwisler
2016-11-28 19:15       ` Ross Zwisler
2016-11-28 19:15       ` Ross Zwisler
2016-11-29  8:53       ` Jan Kara
2016-11-29  8:53         ` Jan Kara
2016-11-29  8:53         ` Jan Kara
2016-11-29  8:53         ` Jan Kara
2016-11-30 19:04         ` Ross Zwisler
2016-11-30 19:04           ` Ross Zwisler
2016-11-30 19:04           ` Ross Zwisler
2016-11-30 19:04           ` Ross Zwisler
2016-12-01  7:53           ` Jan Kara
2016-12-01  7:53             ` Jan Kara
2016-12-01  7:53             ` Jan Kara
2016-12-01  7:53             ` Jan Kara
2016-11-23 18:44 ` [PATCH 2/6] dax: remove leading space from labels Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:11   ` Jan Kara
2016-11-24  9:11     ` Jan Kara
2016-11-24  9:11     ` Jan Kara
2016-11-24 19:42     ` Dan Williams
2016-11-24 19:42       ` Dan Williams
2016-11-24 19:42       ` Dan Williams
2016-11-28 19:20       ` Ross Zwisler
2016-11-28 19:20         ` Ross Zwisler
2016-11-28 19:20         ` Ross Zwisler
2016-11-23 18:44 ` [PATCH 3/6] dax: add tracepoint infrastructure, PMD tracing Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:16   ` Jan Kara
2016-11-24  9:16     ` Jan Kara
2016-11-24  9:16     ` Jan Kara
2016-11-24  9:16     ` Jan Kara
2016-11-24 17:32   ` Al Viro
2016-11-24 17:32     ` Al Viro
2016-11-24 17:32     ` Al Viro
2016-11-24 17:32     ` Al Viro
2016-11-25  2:49     ` Dave Chinner
2016-11-25  2:49       ` Dave Chinner
2016-11-25  2:49       ` Dave Chinner
2016-11-25  2:49       ` Dave Chinner
2016-11-25  4:14       ` Al Viro
2016-11-25  4:14         ` Al Viro
2016-11-25  4:14         ` Al Viro
2016-11-25  4:14         ` Al Viro
2016-11-25  7:06         ` Dave Chinner
2016-11-25  7:06           ` Dave Chinner
2016-11-25  7:06           ` Dave Chinner
2016-11-25  7:06           ` Dave Chinner
2016-11-25  7:37           ` Al Viro
2016-11-25  7:37             ` Al Viro
2016-11-25  7:37             ` Al Viro
2016-11-25  7:37             ` Al Viro
2016-11-25 19:51             ` Linus Torvalds
2016-11-25 19:51               ` Linus Torvalds
2016-11-25 19:51               ` Linus Torvalds
2016-11-25 20:36               ` Mike Marshall
2016-11-25 20:36                 ` Mike Marshall
2016-11-25 20:36                 ` Mike Marshall
2016-11-25 21:48               ` Theodore Ts'o
2016-11-25 21:48                 ` Theodore Ts'o
2016-11-25 21:48                 ` Theodore Ts'o
2016-11-25 23:38                 ` Linus Torvalds
2016-11-25 23:38                   ` Linus Torvalds
2016-11-25 23:38                   ` Linus Torvalds
2016-11-28  8:33                 ` Jan Kara
2016-11-28  8:33                   ` Jan Kara
2016-11-28  8:33                   ` Jan Kara
2016-11-27 22:42               ` Dave Chinner
2016-11-27 22:42                 ` Dave Chinner
2016-11-27 22:42                 ` Dave Chinner
2016-11-28  0:58                 ` Linus Torvalds
2016-11-28  0:58                   ` Linus Torvalds
2016-11-28  0:58                   ` Linus Torvalds
2016-11-28  1:45                   ` Al Viro
2016-11-28  1:45                     ` Al Viro
2016-11-28  9:09                   ` Dave Chinner
2016-11-28  9:09                     ` Dave Chinner
2016-11-28  9:09                     ` Dave Chinner
2016-11-25  3:00   ` Dave Chinner
2016-11-25  3:00     ` Dave Chinner
2016-11-25  3:00     ` Dave Chinner
2016-11-28 22:46     ` Ross Zwisler
2016-11-28 22:46       ` Ross Zwisler
2016-11-28 22:46       ` Ross Zwisler
2016-11-28 22:46       ` Ross Zwisler
2016-11-29  2:02       ` Dave Chinner
2016-11-29  2:02         ` Dave Chinner
2016-11-29  2:02         ` Dave Chinner
2017-03-08 22:05         ` Mike Marshall
2017-03-08 22:05           ` Mike Marshall
2017-03-08 22:05           ` Mike Marshall
2017-03-08 22:05           ` Mike Marshall
2016-11-23 18:44 ` [PATCH 4/6] dax: update MAINTAINERS entries for FS DAX Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44 ` [PATCH 5/6] dax: add tracepoints to dax_pmd_load_hole() Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:20   ` Jan Kara
2016-11-24  9:20     ` Jan Kara
2016-11-24  9:20     ` Jan Kara
2016-11-23 18:44 ` [PATCH 6/6] dax: add tracepoints to dax_pmd_insert_mapping() Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-23 18:44   ` Ross Zwisler
2016-11-24  9:22   ` Jan Kara
2016-11-24  9:22     ` Jan Kara
2016-11-24  9:22     ` Jan Kara
2016-11-24  9:22     ` Jan Kara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1479926662-21718-2-git-send-email-ross.zwisler@linux.intel.com \
    --to=ross.zwisler@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@fromorbit.com \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=mawilcox@microsoft.com \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.