diff options
-rw-r--r-- | fs/Kconfig | 21 | ||||
-rw-r--r-- | fs/Makefile | 2 | ||||
-rw-r--r-- | fs/ext2/Kconfig | 11 | ||||
-rw-r--r-- | fs/ext2/ext2.h | 2 | ||||
-rw-r--r-- | fs/ext2/file.c | 4 | ||||
-rw-r--r-- | fs/ext2/super.c | 4 | ||||
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rwxr-xr-x | scripts/diffconfig | 1 |
8 files changed, 21 insertions, 26 deletions
diff --git a/fs/Kconfig b/fs/Kconfig index a6bb530b1ec5..5331497d5b25 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -13,13 +13,6 @@ if BLOCK | |||
13 | source "fs/ext2/Kconfig" | 13 | source "fs/ext2/Kconfig" |
14 | source "fs/ext3/Kconfig" | 14 | source "fs/ext3/Kconfig" |
15 | source "fs/ext4/Kconfig" | 15 | source "fs/ext4/Kconfig" |
16 | |||
17 | config FS_XIP | ||
18 | # execute in place | ||
19 | bool | ||
20 | depends on EXT2_FS_XIP | ||
21 | default y | ||
22 | |||
23 | source "fs/jbd/Kconfig" | 16 | source "fs/jbd/Kconfig" |
24 | source "fs/jbd2/Kconfig" | 17 | source "fs/jbd2/Kconfig" |
25 | 18 | ||
@@ -40,6 +33,20 @@ source "fs/ocfs2/Kconfig" | |||
40 | source "fs/btrfs/Kconfig" | 33 | source "fs/btrfs/Kconfig" |
41 | source "fs/nilfs2/Kconfig" | 34 | source "fs/nilfs2/Kconfig" |
42 | 35 | ||
36 | config FS_DAX | ||
37 | bool "Direct Access (DAX) support" | ||
38 | depends on MMU | ||
39 | help | ||
40 | Direct Access (DAX) can be used on memory-backed block devices. | ||
41 | If the block device supports DAX and the filesystem supports DAX, | ||
42 | then you can avoid using the pagecache to buffer I/Os. Turning | ||
43 | on this option will compile in support for DAX; you will need to | ||
44 | mount the filesystem using the -o dax option. | ||
45 | |||
46 | If you do not have a block device that is capable of using this, | ||
47 | or if unsure, say N. Saying Y will increase the size of the kernel | ||
48 | by about 5kB. | ||
49 | |||
43 | endif # BLOCK | 50 | endif # BLOCK |
44 | 51 | ||
45 | # Posix ACL utility routines | 52 | # Posix ACL utility routines |
diff --git a/fs/Makefile b/fs/Makefile index 0534444e257c..0f4635f7c49c 100644 --- a/fs/Makefile +++ b/fs/Makefile | |||
@@ -28,7 +28,7 @@ obj-$(CONFIG_SIGNALFD) += signalfd.o | |||
28 | obj-$(CONFIG_TIMERFD) += timerfd.o | 28 | obj-$(CONFIG_TIMERFD) += timerfd.o |
29 | obj-$(CONFIG_EVENTFD) += eventfd.o | 29 | obj-$(CONFIG_EVENTFD) += eventfd.o |
30 | obj-$(CONFIG_AIO) += aio.o | 30 | obj-$(CONFIG_AIO) += aio.o |
31 | obj-$(CONFIG_FS_XIP) += dax.o | 31 | obj-$(CONFIG_FS_DAX) += dax.o |
32 | obj-$(CONFIG_FILE_LOCKING) += locks.o | 32 | obj-$(CONFIG_FILE_LOCKING) += locks.o |
33 | obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o | 33 | obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o |
34 | obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o | 34 | obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o |
diff --git a/fs/ext2/Kconfig b/fs/ext2/Kconfig index 14a6780fd034..c634874e12d9 100644 --- a/fs/ext2/Kconfig +++ b/fs/ext2/Kconfig | |||
@@ -42,14 +42,3 @@ config EXT2_FS_SECURITY | |||
42 | 42 | ||
43 | If you are not using a security module that requires using | 43 | If you are not using a security module that requires using |
44 | extended attributes for file security labels, say N. | 44 | extended attributes for file security labels, say N. |
45 | |||
46 | config EXT2_FS_XIP | ||
47 | bool "Ext2 execute in place support" | ||
48 | depends on EXT2_FS && MMU | ||
49 | help | ||
50 | Execute in place can be used on memory-backed block devices. If you | ||
51 | enable this option, you can select to mount block devices which are | ||
52 | capable of this feature without using the page cache. | ||
53 | |||
54 | If you do not use a block device that is capable of using this, | ||
55 | or if unsure, say N. | ||
diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h index 30604c4d70e6..6854038c09ae 100644 --- a/fs/ext2/ext2.h +++ b/fs/ext2/ext2.h | |||
@@ -380,7 +380,7 @@ struct ext2_inode { | |||
380 | #define EXT2_MOUNT_NO_UID32 0x000200 /* Disable 32-bit UIDs */ | 380 | #define EXT2_MOUNT_NO_UID32 0x000200 /* Disable 32-bit UIDs */ |
381 | #define EXT2_MOUNT_XATTR_USER 0x004000 /* Extended user attributes */ | 381 | #define EXT2_MOUNT_XATTR_USER 0x004000 /* Extended user attributes */ |
382 | #define EXT2_MOUNT_POSIX_ACL 0x008000 /* POSIX Access Control Lists */ | 382 | #define EXT2_MOUNT_POSIX_ACL 0x008000 /* POSIX Access Control Lists */ |
383 | #ifdef CONFIG_FS_XIP | 383 | #ifdef CONFIG_FS_DAX |
384 | #define EXT2_MOUNT_XIP 0x010000 /* Execute in place */ | 384 | #define EXT2_MOUNT_XIP 0x010000 /* Execute in place */ |
385 | #else | 385 | #else |
386 | #define EXT2_MOUNT_XIP 0 | 386 | #define EXT2_MOUNT_XIP 0 |
diff --git a/fs/ext2/file.c b/fs/ext2/file.c index a61c93fd9dce..de8174d1e973 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include "xattr.h" | 25 | #include "xattr.h" |
26 | #include "acl.h" | 26 | #include "acl.h" |
27 | 27 | ||
28 | #ifdef CONFIG_EXT2_FS_XIP | 28 | #ifdef CONFIG_FS_DAX |
29 | static int ext2_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | 29 | static int ext2_dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf) |
30 | { | 30 | { |
31 | return dax_fault(vma, vmf, ext2_get_block); | 31 | return dax_fault(vma, vmf, ext2_get_block); |
@@ -108,7 +108,7 @@ const struct file_operations ext2_file_operations = { | |||
108 | .splice_write = iter_file_splice_write, | 108 | .splice_write = iter_file_splice_write, |
109 | }; | 109 | }; |
110 | 110 | ||
111 | #ifdef CONFIG_EXT2_FS_XIP | 111 | #ifdef CONFIG_FS_DAX |
112 | const struct file_operations ext2_xip_file_operations = { | 112 | const struct file_operations ext2_xip_file_operations = { |
113 | .llseek = generic_file_llseek, | 113 | .llseek = generic_file_llseek, |
114 | .read = new_sync_read, | 114 | .read = new_sync_read, |
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 50342583db1f..5f029d8c3a02 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c | |||
@@ -291,7 +291,7 @@ static int ext2_show_options(struct seq_file *seq, struct dentry *root) | |||
291 | seq_puts(seq, ",grpquota"); | 291 | seq_puts(seq, ",grpquota"); |
292 | #endif | 292 | #endif |
293 | 293 | ||
294 | #if defined(CONFIG_EXT2_FS_XIP) | 294 | #ifdef CONFIG_FS_DAX |
295 | if (sbi->s_mount_opt & EXT2_MOUNT_XIP) | 295 | if (sbi->s_mount_opt & EXT2_MOUNT_XIP) |
296 | seq_puts(seq, ",xip"); | 296 | seq_puts(seq, ",xip"); |
297 | #endif | 297 | #endif |
@@ -558,7 +558,7 @@ static int parse_options(char *options, struct super_block *sb) | |||
558 | break; | 558 | break; |
559 | #endif | 559 | #endif |
560 | case Opt_xip: | 560 | case Opt_xip: |
561 | #ifdef CONFIG_EXT2_FS_XIP | 561 | #ifdef CONFIG_FS_DAX |
562 | set_opt (sbi->s_mount_opt, XIP); | 562 | set_opt (sbi->s_mount_opt, XIP); |
563 | #else | 563 | #else |
564 | ext2_msg(sb, KERN_INFO, "xip option not supported"); | 564 | ext2_msg(sb, KERN_INFO, "xip option not supported"); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 9772d655f444..d46f8fe6a0ea 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1676,7 +1676,7 @@ struct super_operations { | |||
1676 | #define S_IMA 1024 /* Inode has an associated IMA struct */ | 1676 | #define S_IMA 1024 /* Inode has an associated IMA struct */ |
1677 | #define S_AUTOMOUNT 2048 /* Automount/referral quasi-directory */ | 1677 | #define S_AUTOMOUNT 2048 /* Automount/referral quasi-directory */ |
1678 | #define S_NOSEC 4096 /* no suid or xattr security attributes */ | 1678 | #define S_NOSEC 4096 /* no suid or xattr security attributes */ |
1679 | #ifdef CONFIG_FS_XIP | 1679 | #ifdef CONFIG_FS_DAX |
1680 | #define S_DAX 8192 /* Direct Access, avoiding the page cache */ | 1680 | #define S_DAX 8192 /* Direct Access, avoiding the page cache */ |
1681 | #else | 1681 | #else |
1682 | #define S_DAX 0 /* Make all the DAX code disappear */ | 1682 | #define S_DAX 0 /* Make all the DAX code disappear */ |
diff --git a/scripts/diffconfig b/scripts/diffconfig index 6d672836e187..0db267d0adc9 100755 --- a/scripts/diffconfig +++ b/scripts/diffconfig | |||
@@ -28,7 +28,6 @@ If no config files are specified, .config and .config.old are used. | |||
28 | Example usage: | 28 | Example usage: |
29 | $ diffconfig .config config-with-some-changes | 29 | $ diffconfig .config config-with-some-changes |
30 | -EXT2_FS_XATTR n | 30 | -EXT2_FS_XATTR n |
31 | -EXT2_FS_XIP n | ||
32 | CRAMFS n -> y | 31 | CRAMFS n -> y |
33 | EXT2_FS y -> n | 32 | EXT2_FS y -> n |
34 | LOG_BUF_SHIFT 14 -> 16 | 33 | LOG_BUF_SHIFT 14 -> 16 |