aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext2
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew.r.wilcox@intel.com>2015-02-16 18:59:12 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-16 20:56:03 -0500
commite748dcd095ddee50e7a7deda2e26247715318a2e (patch)
treefc76626987c4caa57a1511f671bc105a179d583e /fs/ext2
parent95ec8daba310b44302d2977dd54b16886527b681 (diff)
vfs: remove get_xip_mem
All callers of get_xip_mem() are now gone. Remove checks for it, initialisers of it, documentation of it and the only implementation of it. Also remove mm/filemap_xip.c as it is now empty. Also remove documentation of the long-gone get_xip_page(). 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>
Diffstat (limited to 'fs/ext2')
-rw-r--r--fs/ext2/inode.c1
-rw-r--r--fs/ext2/xip.c45
-rw-r--r--fs/ext2/xip.h3
3 files changed, 0 insertions, 49 deletions
diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
index 5ac0a3461b3c..59d6c7d43740 100644
--- a/fs/ext2/inode.c
+++ b/fs/ext2/inode.c
@@ -894,7 +894,6 @@ const struct address_space_operations ext2_aops = {
894 894
895const struct address_space_operations ext2_aops_xip = { 895const struct address_space_operations ext2_aops_xip = {
896 .bmap = ext2_bmap, 896 .bmap = ext2_bmap,
897 .get_xip_mem = ext2_get_xip_mem,
898 .direct_IO = ext2_direct_IO, 897 .direct_IO = ext2_direct_IO,
899}; 898};
900 899
diff --git a/fs/ext2/xip.c b/fs/ext2/xip.c
index 8cfca3a4cd58..132d4daf98c4 100644
--- a/fs/ext2/xip.c
+++ b/fs/ext2/xip.c
@@ -13,35 +13,6 @@
13#include "ext2.h" 13#include "ext2.h"
14#include "xip.h" 14#include "xip.h"
15 15
16static inline long __inode_direct_access(struct inode *inode, sector_t block,
17 void **kaddr, unsigned long *pfn, long size)
18{
19 struct block_device *bdev = inode->i_sb->s_bdev;
20 sector_t sector = block * (PAGE_SIZE / 512);
21 return bdev_direct_access(bdev, sector, kaddr, pfn, size);
22}
23
24static inline int
25__ext2_get_block(struct inode *inode, pgoff_t pgoff, int create,
26 sector_t *result)
27{
28 struct buffer_head tmp;
29 int rc;
30
31 memset(&tmp, 0, sizeof(struct buffer_head));
32 tmp.b_size = 1 << inode->i_blkbits;
33 rc = ext2_get_block(inode, pgoff, &tmp, create);
34 *result = tmp.b_blocknr;
35
36 /* did we get a sparse block (hole in the file)? */
37 if (!tmp.b_blocknr && !rc) {
38 BUG_ON(create);
39 rc = -ENODATA;
40 }
41
42 return rc;
43}
44
45void ext2_xip_verify_sb(struct super_block *sb) 16void ext2_xip_verify_sb(struct super_block *sb)
46{ 17{
47 struct ext2_sb_info *sbi = EXT2_SB(sb); 18 struct ext2_sb_info *sbi = EXT2_SB(sb);
@@ -54,19 +25,3 @@ void ext2_xip_verify_sb(struct super_block *sb)
54 "not supported by bdev"); 25 "not supported by bdev");
55 } 26 }
56} 27}
57
58int ext2_get_xip_mem(struct address_space *mapping, pgoff_t pgoff, int create,
59 void **kmem, unsigned long *pfn)
60{
61 long rc;
62 sector_t block;
63
64 /* first, retrieve the sector number */
65 rc = __ext2_get_block(mapping->host, pgoff, create, &block);
66 if (rc)
67 return rc;
68
69 /* retrieve address of the target data */
70 rc = __inode_direct_access(mapping->host, block, kmem, pfn, PAGE_SIZE);
71 return (rc < 0) ? rc : 0;
72}
diff --git a/fs/ext2/xip.h b/fs/ext2/xip.h
index b2592f2f3c9d..e7b9f0a2cc54 100644
--- a/fs/ext2/xip.h
+++ b/fs/ext2/xip.h
@@ -12,10 +12,7 @@ static inline int ext2_use_xip (struct super_block *sb)
12 struct ext2_sb_info *sbi = EXT2_SB(sb); 12 struct ext2_sb_info *sbi = EXT2_SB(sb);
13 return (sbi->s_mount_opt & EXT2_MOUNT_XIP); 13 return (sbi->s_mount_opt & EXT2_MOUNT_XIP);
14} 14}
15int ext2_get_xip_mem(struct address_space *, pgoff_t, int,
16 void **, unsigned long *);
17#else 15#else
18#define ext2_xip_verify_sb(sb) do { } while (0) 16#define ext2_xip_verify_sb(sb) do { } while (0)
19#define ext2_use_xip(sb) 0 17#define ext2_use_xip(sb) 0
20#define ext2_get_xip_mem NULL
21#endif 18#endif