vfs,ext2: remove CONFIG_EXT2_FS_XIP and rename CONFIG_FS_XIP to CONFIG_FS_DAX
authorMatthew Wilcox <matthew.r.wilcox@intel.com>
Mon, 16 Feb 2015 23:59:25 +0000 (15:59 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 17 Feb 2015 01:56:04 +0000 (17:56 -0800)
The fewer Kconfig options we have the better.  Use the generic
CONFIG_FS_DAX to enable XIP support in ext2 as well as in the core.

Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
Cc: Andreas Dilger <andreas.dilger@intel.com>
Cc: Boaz Harrosh <boaz@plexistor.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/Kconfig
fs/Makefile
fs/ext2/Kconfig
fs/ext2/ext2.h
fs/ext2/file.c
fs/ext2/super.c
include/linux/fs.h
scripts/diffconfig

index a6bb530b1ec5457a24a7e738a5135c4e62c29a99..5331497d5b2545811494223650550b8fe68c8a96 100644 (file)
@@ -13,13 +13,6 @@ if BLOCK
 source "fs/ext2/Kconfig"
 source "fs/ext3/Kconfig"
 source "fs/ext4/Kconfig"
-
-config FS_XIP
-# execute in place
-       bool
-       depends on EXT2_FS_XIP
-       default y
-
 source "fs/jbd/Kconfig"
 source "fs/jbd2/Kconfig"
 
@@ -40,6 +33,20 @@ source "fs/ocfs2/Kconfig"
 source "fs/btrfs/Kconfig"
 source "fs/nilfs2/Kconfig"
 
+config FS_DAX
+       bool "Direct Access (DAX) support"
+       depends on MMU
+       help
+         Direct Access (DAX) can be used on memory-backed block devices.
+         If the block device supports DAX and the filesystem supports DAX,
+         then you can avoid using the pagecache to buffer I/Os.  Turning
+         on this option will compile in support for DAX; you will need to
+         mount the filesystem using the -o dax option.
+
+         If you do not have a block device that is capable of using this,
+         or if unsure, say N.  Saying Y will increase the size of the kernel
+         by about 5kB.
+
 endif # BLOCK
 
 # Posix ACL utility routines
index 0534444e257c179ea50b9684aeda3dc747cb7538..0f4635f7c49ca1912f1e4297bca816d22b121cce 100644 (file)
@@ -28,7 +28,7 @@ obj-$(CONFIG_SIGNALFD)                += signalfd.o
 obj-$(CONFIG_TIMERFD)          += timerfd.o
 obj-$(CONFIG_EVENTFD)          += eventfd.o
 obj-$(CONFIG_AIO)               += aio.o
-obj-$(CONFIG_FS_XIP)           += dax.o
+obj-$(CONFIG_FS_DAX)           += dax.o
 obj-$(CONFIG_FILE_LOCKING)      += locks.o
 obj-$(CONFIG_COMPAT)           += compat.o compat_ioctl.o
 obj-$(CONFIG_BINFMT_AOUT)      += binfmt_aout.o
index 14a6780fd034bfc1db2cf782218ce1c0b349059e..c634874e12d969fbd0b00ad8da745553168876e6 100644 (file)
@@ -42,14 +42,3 @@ config EXT2_FS_SECURITY
 
          If you are not using a security module that requires using
          extended attributes for file security labels, say N.
-
-config EXT2_FS_XIP
-       bool "Ext2 execute in place support"
-       depends on EXT2_FS && MMU
-       help
-         Execute in place can be used on memory-backed block devices. If you
-         enable this option, you can select to mount block devices which are
-         capable of this feature without using the page cache.
-
-         If you do not use a block device that is capable of using this,
-         or if unsure, say N.
index 30604c4d70e6102f5e9e9a708e5579447387fb8a..6854038c09ae2953df605fcb3f599ad406bfddbe 100644 (file)
@@ -380,7 +380,7 @@ struct ext2_inode {
 #define EXT2_MOUNT_NO_UID32            0x000200  /* Disable 32-bit UIDs */
 #define EXT2_MOUNT_XATTR_USER          0x004000  /* Extended user attributes */
 #define EXT2_MOUNT_POSIX_ACL           0x008000  /* POSIX Access Control Lists */
-#ifdef CONFIG_FS_XIP
+#ifdef CONFIG_FS_DAX
 #define EXT2_MOUNT_XIP                 0x010000  /* Execute in place */
 #else
 #define EXT2_MOUNT_XIP                 0
index a61c93fd9dcebcdbf8d67a5d0ea1987b604b34a4..de8174d1e9734aa3e12fcb45e63fedfd0c541823 100644 (file)
@@ -25,7 +25,7 @@
 #include "xattr.h"
 #include "acl.h"
 
-#ifdef CONFIG_EXT2_FS_XIP
+#ifdef CONFIG_FS_DAX
 static int ext2_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
 {
        return dax_fault(vma, vmf, ext2_get_block);
@@ -108,7 +108,7 @@ const struct file_operations ext2_file_operations = {
        .splice_write   = iter_file_splice_write,
 };
 
-#ifdef CONFIG_EXT2_FS_XIP
+#ifdef CONFIG_FS_DAX
 const struct file_operations ext2_xip_file_operations = {
        .llseek         = generic_file_llseek,
        .read           = new_sync_read,
index 50342583db1f7745bccb000f4ecbba3350986226..5f029d8c3a024bef556e69b76e5c4ef4c03667c1 100644 (file)
@@ -291,7 +291,7 @@ static int ext2_show_options(struct seq_file *seq, struct dentry *root)
                seq_puts(seq, ",grpquota");
 #endif
 
-#if defined(CONFIG_EXT2_FS_XIP)
+#ifdef CONFIG_FS_DAX
        if (sbi->s_mount_opt & EXT2_MOUNT_XIP)
                seq_puts(seq, ",xip");
 #endif
@@ -558,7 +558,7 @@ static int parse_options(char *options, struct super_block *sb)
                        break;
 #endif
                case Opt_xip:
-#ifdef CONFIG_EXT2_FS_XIP
+#ifdef CONFIG_FS_DAX
                        set_opt (sbi->s_mount_opt, XIP);
 #else
                        ext2_msg(sb, KERN_INFO, "xip option not supported");
index 9772d655f444b7ed1fc6872646663d701d1d0bea..d46f8fe6a0ea758bc29c215e29a4235e5e93e41f 100644 (file)
@@ -1676,7 +1676,7 @@ struct super_operations {
 #define S_IMA          1024    /* Inode has an associated IMA struct */
 #define S_AUTOMOUNT    2048    /* Automount/referral quasi-directory */
 #define S_NOSEC                4096    /* no suid or xattr security attributes */
-#ifdef CONFIG_FS_XIP
+#ifdef CONFIG_FS_DAX
 #define S_DAX          8192    /* Direct Access, avoiding the page cache */
 #else
 #define S_DAX          0       /* Make all the DAX code disappear */
index 6d672836e18722c38cce43149587db32882e6316..0db267d0adc9231de508b4cf9ca7068df8362384 100755 (executable)
@@ -28,7 +28,6 @@ If no config files are specified, .config and .config.old are used.
 Example usage:
  $ diffconfig .config config-with-some-changes
 -EXT2_FS_XATTR  n
--EXT2_FS_XIP  n
  CRAMFS  n -> y
  EXT2_FS  y -> n
  LOG_BUF_SHIFT  14 -> 16